??xml version="1.0" encoding="utf-8" standalone="yes"?>99久久成人国产精品免费,国产精品美女久久久久网,久久99精品久久只有精品 http://www.shnenglu.com/gtwdaizi/category/6439.htmlzh-cnTue, 08 Jun 2010 23:36:34 GMTTue, 08 Jun 2010 23:36:34 GMT60blackberry--黑莓联网开发各U联|模板型[转蝲]http://www.shnenglu.com/gtwdaizi/articles/117352.html郭天?/dc:creator>郭天?/author>Tue, 08 Jun 2010 01:42:00 GMThttp://www.shnenglu.com/gtwdaizi/articles/117352.htmlhttp://www.shnenglu.com/gtwdaizi/comments/117352.htmlhttp://www.shnenglu.com/gtwdaizi/articles/117352.html#Feedback0http://www.shnenglu.com/gtwdaizi/comments/commentRss/117352.htmlhttp://www.shnenglu.com/gtwdaizi/services/trackbacks/117352.html最q开发黑莓的应用E序Q牵涉到联网部分。在q过E中遇到了很多问题,也查找了很多资料。很有感触。于是ȝ了一份黑莓联|开发中的各U方式,只是一个模板性的。在开发过E中只有具体问题具体分析了。我也是Z方便不容易忘讎ͼ所以写q博客。希望能CQ?/p>

黑幕目前联网主要有几U方式:

1、WAP 2.0

2、WAP1.0/1.1

3、Wi-Fi

4、BlackBerry Mobile Data Service

5、Direct TCP

6、BlackBerry Internet Service

下面单说一下几U代码的接口Q不一定是必须的,不过如果q不L的时候可以尝试一下,q事官方|址一个视频找到的官方代码Q仅供参考:

1、Using WAP 2.0:

  - Append ";ConnectionUID=xyz" with corresponding UID for WAP 2.0 Service Book(WPTCP)

  需要在联网的url后面跟接";ConnectionUID=xyz",xyz为WAP2.0 (WPTCP) l定的UID,例如Q?/p>

  HttpConncetion conn = (HttpConncetion) Connector.open("

2、Using WAP 1.0/1.1:

 - Append ";WapGatewayIP=127.0.0.1;WapGatewayPort=9201;WapGatewayAPN=myapn.net"

  需要在联网的后面跟?WapGatewayIP=127.0.0.1;WapGatewayPort=9201;WapGatewayAPN=myapn.net",例如Q?/p>

HttpConnection conn = (HttpConnection) Connector.open("

3、Using Wi-Fi:

   - Append ";interface=wifi" for explicit connections

  - Wi-Fi connectivity happens automatically for BlackBerry MDS and BlackBerry Internet Service-B connections

  需要ؓ你的详细q接跟接";interface=wifi",例如Q?/p>

 HttpConnection conn =  (HttpConncetion) Connector.open("

4、Using BlackBerry MDS

  - Append ";deviceside=false" for expilit connections

  - Default connection is no parameters specified

 

  Default Connection ExampleQ?/p>

  HttpConncetion conn = (HttpConncetion) Connector.open("

  Explicit MDS Connection - Automatic Service Book Selection:

  HttpConncetion conn = (HttpConncetion) Connector.open("

 

  Explicit MDS Connection - Manual Service Book Selection:

  HttpConncetion conn = (HttpConncetion) Connector.open("

5、Using Direct TCP

  - Requires some intelligence by the user or developer to specify APN

  - Append ";deviceside=true"

  - More and more carriers hardcode APN info in the branding data

  a)   Automatic APN Selection:

  HttpConncetion conn = (HttpConncetion) Connector.open(http://www.blackberry.com;deviceside=true);

  b)   Manual APN Secletion:

  HttpConncetion conn = (HttpConncetion) Connector.open("

  c)   Manual APN Selection with Authentication:

    HttpConncetion conn = (HttpConncetion) Connector.open("

  另外附加一Usocket的方式:

  d)  (StreamConnection) Connector.open("socket://testserver:600;deviceside=true");

6、Using BlackBerry Internet Service

   q个好像需要是Blackberry联盟成员Q需要批准,对这个相关信息可以见Q?a >http://na.blackberry.com/eng/partners/alliance.jsp

  以上是单的ȝ了这些。具体的问题只有开发中具体分析。欢q莓友们讨论?/p>

注:以上参数之间需要用分号隔开Q附带一份以上出现的一些参数解释:

Parameter
 Description
 
WapGatewayIP
 IP address of the gateway.
 
WapGatewayAPN
 APN for General Packet Radio Service (GPRS) networks only. For testing purposes, you can use rim.net.gprs
 
WapGatewayPort
 Gateway port value. If port 9203 is specified, Wireless Transport Layer Security (WTLS) is used unless WapEnableWTLS=false is specified.
 
WapSourceIP
 IP address of the source.
 
WapSourcePort
 Source port value.
 
TunnelAuthUsername
 User name for APN session, when Password Authentication Protocol (PAP) or Challenge Handshake Application Protocol (CHAP) authentication is used.
 
TunnelAuthPassword
 Password for APN session, when PAP or CHAP authentication is used.
 
WapEnableWTLS
 Explicitly turns on or turns off WTLS. If this parameter is not specified, WTLS is used by default for connections to port 9203.
 

 

本文来自CSDN博客Q{载请标明出处Q?a >http://blog.csdn.net/lyerliu/archive/2010/02/01/5277446.aspx



]]>
手机开发^台指南、教E和资料介绍[转蝲]http://www.shnenglu.com/gtwdaizi/articles/47094.html郭天?/dc:creator>郭天?/author>Tue, 15 Apr 2008 01:31:00 GMThttp://www.shnenglu.com/gtwdaizi/articles/47094.htmlhttp://www.shnenglu.com/gtwdaizi/comments/47094.htmlhttp://www.shnenglu.com/gtwdaizi/articles/47094.html#Feedback0http://www.shnenglu.com/gtwdaizi/comments/commentRss/47094.htmlhttp://www.shnenglu.com/gtwdaizi/services/trackbacks/47094.html g Posted:2008-3-22 10:42:55   日志 短讯 邮箱 好友

手机可分为智能手机开发和feather phone手机。开发^台可分ؓ开攑ּq_和封闭式q_Q开攑ּq_包括symbian、windows mobile、linux、Android、BlackBerry、j2me、brew{,支持手机应用E序通过OTA下蝲和安装;闭式^台包括MTK、展讯、TI、飞利{。下面分别介l?
1Q?SymbianQ?
Symbianq_为目前智能手机市场的老大Q智能手机全球市场占70%以上Q在Ƨ洲和亚z占l对优势Q只是在国市场份额得可怜,希望今年nokia在美国发力,赶上其它手机。根据UI风格的不同,Symbian分ؓs60和UIQ两个q_Q其中nokia使用s60q_Q烦爱和moto采用UIQq_。Symbianq_׃发展旉较长Q又是市大Q目前中文资料也较多Q不像几q前刚接触时只有英文资料。以下书c值得推荐Q?
《SYMBIAN OS软g开发开?-应用C++开发智能手机应用程序入门》(其中UI部分为UIQq_Q,
《Series 60 应用E序开发》(以s60q_ZQ重Ҏ荐)
《Symbian OS C++手机应用开?Q第2P?
另外今年出来一本有关uiq3.0的新书,值得期待?
关于symbian的开发网站和论坛Q?
诺基亚论坛:最好的symbian论坛Q?
http://discussion.forum.nokia.com/forum/forumdisplay.php?f=6Q其中还有中文论坛?
UIQ官方论坛Q?a target=_blank>http://developer.uiq.com/
Symbian公司中文论坛Q?a target=_blank>http://developer.symbian.com/forum/forum.jspa?forumID=37
NewLC|站Q?a target=_blank>http://www.newlc.com/
索爱uiq官方论坛Q?a target=_blank>http://developer.sonyericsson.com/category.jspa?categoryID=3
索爱uiq中文论坛http://developer.sonyericsson.com/forum.jspa?forumID=133

2Qwindows mobileQ?
手机全球市场中windows mobile?2%左右市场份额。开发与windowsq_cMQ所以熟悉windows开发的能很快上手。目前没有较好的针对windows mobile的书Q经怹c《Windows E序设计Q第5版)》对于开发win32E序依然是最好的Q经典的书就是牛啊!虽然pocket pc支持MFCQ但smartphone不支持,所以ؓ了更好的ULQ用win32开发较好。由本书做基Q再参考windows mobile的sdk以及CZ代码Q应该能很快上手?
关于windows mobile的开发网站和论坛Q?
Windows mobile中文C֌Q?a target=_blank>http://www.winbile.net/BBS/
Pocket pc forumQ?a target=_blank>http://www.windowsmobiledn.com/forum/
微Y官方|站Q?a target=_blank>http://www.microsoft.com/windowsmobile/developers/default.mspx

3Q?linuxQ?
手机全球市场中linux手机仅占可怜的4.4%市场份额。原来motoq出q不linux手机Q如A768、A1200、E680、E2、E6、V8{,07q?月䆾q信誓旦旦预?0%手机采用Linux OSQ但moto后来回购了UIQ的股份,又与微Y合作Q还加入了google的开放手盟,看来要抛弃自qlinuxq_了。另外,moto的策略是linux+j2me的模式,虽然采用linux osQ但q不对外开放linux的sdkQ只有和moto合作的厂家才能获得native linux sdkQ所以导致目前linux手机开发的资料和论坛较。虽然有民间linux高手破解了moto的linux的sdkQ可以开发native linux的程序,但native linux的程序不能直接安装在moto的linux手机上,q必d装一个插Ӟq对普通用户又是难以跨的一个门槛。所以个得native linux手机的开发将走向末\。大部分linux手机的ui开发都是基于QTQ关于QT开发,可参考《C++ GUI Qt3~程》、《精通Qt4~程》,如果有moto官方的sdkQ参考API文档以及一些示例代码,可以较快上手,如果没有官方的sdkQ那p话很长时间hack了。目前没有很好的关于linux手机开发的论坛Q个人推荐陈|的博客http://www.cublog.cn/u/26691/Q内有moto a1200开发随W,对于熟悉和了解手机native linux开发有很大帮助?

4Q?MTKQ?
MTK最q几q异军突Pq?0%的国产手机采用MTK的芯片和q_Q黑手机更几乎是MTK的代名词。国内厂家只有夏新没有采用MTK的方案。MTK的模式名?#8220;Turn-key”的全面解x案,厂商采用了这个方案,只需要加一个手机外壛_可成品——这能大大降低了旉Q一般厂家只修改界面、铃C及增加一些应用Y件。有关MTKq_的介l,见环球企业家杂志的文?#8220;国手机操纵者联发科的秘?#8221;http://www.cnbeta.com/articles/45580.htm?
MTK是私有^収ͼ目前没有书籍介绍MTKq_Q所以只能从|上查找MTK的资料。以下资料大家可以从|上获得Q对于了解MTK很有帮助Q《mtk 训练评.pdf》、《MMI Platform Source Code Training.pdf》主要是MMI界面开发介l、《MMI Resource & Customization Tool.pdf》MMI资源工具介绍?
最q,MTKq_Q݋Q设计牛人uQGQテ自己~写了一本有关mtkq_MMI开发的实例教程Q书名ؓ《MMI实例培训教程》(本书大家通过Google下蝲刎ͼQ此书深入浅出,全面的介l了MTKq_MMI开发的各个斚wQ通过本书Q开发h员将能很快进入MTKq_开发领域,实ؓMTKq_MMI开发的圣经QMTKq_的操作系lؓnucleusQ有关nucleus的介l网上有一文章《Nucleus实时操作pȝ分析报告》。MTKq_主要用C语言开发,所以要熟悉MTK开发,首先必须熟悉掌握C语言QMTK的sdk与vc6集成QMMI的各控g和窗口之间通过回调函数实现通讯?
关于MTK的开发网站和论坛Q?
我爱研发|:http://www.52rd.com/ 上面几篇文章和书c都能从本网站找到?
手机研发论坛Q?a target=_blank>http://www.1mp.cc/bbs/index.asp


5Q?展讯Q?
展讯q_07q也发展很快Q利用MTK下半qPA攑֤器缺货的ZQ趁势而入Q抢走mtk很多市场份额。展讯的开发模式和MTK的很cMQ基本也是给厂家提供整体解决ҎQ与MTK的差别见此链?a target=_blank>http://www.chinabyte.com/telecom/267/2507267.shtml。国内主要是夏新、联惟뀁文泰等采用展讯q_。展讯^台采用的嵌入式操作系l是threadxQ关于threadx的有一本中文书《嵌入式实时操作pȝ的多U程计算Q基于ThreadX和ARM》。同MTKq_一P为封闭^収ͼ开发语a为CQ开发环境ؓvc6, MMI的各控g和窗口之间与windowscM通过消息q制实现通讯。另外也没有书籍介绍展讯q_Q以下资料值得推荐Q?
《Spreadtrum_SAP.ppt?
《MMK_Kernel软gAPI接口说明?doc?
《MMK_Window_Table开发说明书.doc?
《展讯^台MMIH口开发说明书.pdf?
《展讯手机^台Y件简?pdf?
关于展讯的开发网站和论坛Q?
我爱研发|:http://www.52rd.com/ 上面几篇文章都能从本|站扑ֈ?
手机研发论坛Q?a target=_blank>http://www.1mp.cc/bbs/index.asp

6Q?J2MEQ?
J2MEq_为手Zq用最q泛的开攑ּq_Q绝大部分手机均已经支持J2ME了。关于J2ME的书c数不胜敎ͼ个h推荐以下书籍Q?
《j2me技术手册?
《J2ME开发大全?
《J2MEUd应用E序开发?
关于J2ME的开发网站和论坛Q?
J2ME开发网Q?a target=_blank>http://www.j2medev.com/Index.html
中国Java手机|:http://www.cnjm.net/
以及各手机厂商的官方java论坛

7Q?Brew
Brew 的全U是无线二进制运行时环境。Brewq_是高通公司开发的Q从无线应用E序开发、设备配|、应用程序分发以及计费和支付的完整端到端解决Ҏ中的无线应用E序开发部分。目前绝大部分CDMA手机都支持Brewq_。学习Brewq_Q首先需要熟悉c语言。学习步骤和Ҏ可参?#8221; BREW高手之\Q解析BREW学习q程”?
学习书籍Q?
《深入BREW手机游戏开发?
《BREW 技术开发与应用?
q些书虽然不够深入,但对于入门还是可以参考的?
关于Brew的开发网站和论坛Q?
Brew官方论坛Q?a target=_blank>http://brewforums.qualcomm.com/index.php

8Q?BlackberryQAndroidQiPhone
黑莓公司BlackBerry手机和Google的Android手机均只支持java开发。苹果的iPhone不支持第3方开发,只能开发网,据说来开放sdkQ值得期待?
BlackBerry的开发网站和论坛Q?
BlackBerry开发者指南:http://www.cnblogs.com/confach/category/36451.htmlBlackBerry官方|站Q?a target=_blank>http://na.blackberry.com/eng/developers/community.jsphttp://bbs.maxpda.com/forum-184-1.html
Android的开发网站和论坛Q?
http://www.androiddev.net.cn/bbs/
http://www.androidin.com/http://www.androidcn.net/
iPhone的开发网站和论坛Q?
一苹果fans成立的网站:http://apple4.us/
http://bbs.maxpda.com/forum-190-1.html
http://lordhong.javaeye.com/blog/153315
http://lordhong.javaeye.com/blog/152774

9Q?其它Feather phoneq_
其它feather phoneq_Q如TI、飞利、英飞凌QInfineonQ、飞思卡(FreescaleQ、Broadcom、Skyworks{^収ͼ׃q_U有Qƈ且不提供W三方sdkQ所以也没有相关资料和文档,希望有了解的朋友介绍一下?/div>


]]>[BlackBerry] 应用E序开发者指?W一P基础--W??BlackBerry API http://www.shnenglu.com/gtwdaizi/articles/44950.html郭天?/dc:creator>郭天?/author>Thu, 20 Mar 2008 06:44:00 GMThttp://www.shnenglu.com/gtwdaizi/articles/44950.htmlhttp://www.shnenglu.com/gtwdaizi/comments/44950.htmlhttp://www.shnenglu.com/gtwdaizi/articles/44950.html#Feedback0http://www.shnenglu.com/gtwdaizi/comments/commentRss/44950.htmlhttp://www.shnenglu.com/gtwdaizi/services/trackbacks/44950.html 

作?Confach 发表于March 19,200614:59 pm
版权信息:可以L转蝲, 转蝲时请务必以超链接形式标明文章原始出处和作者信?
http://www.cnblogs.com/confach/articles/353363.html



1

W?/span>1?/span>BlackBerry API

使用 BlackBerry API                                                    

?/span>BlackBerry讑֤上?/span>Java                                           

应用E序控制

使用BlackBerry API

 BlackBerry Java 开发环境(U?/span>JDEQ的设计提供了一套完整的API和工?/span>,来开发在BlackBerry讑֤上运行的Java应用E序?/span>

 BlackBerry讑֤包含了一个基?/span>CLDC1.1以及MIDP?/span>Java MEQ?/span>Java Platform Micro EditionQ运行时环境?/span>BlackBerry API扩展提供了额外的功能,q且?/span>BlackBerry集成得更紧密?/span>

   你可以在你的应用E序中?/span>CLDC/MIDP?/span>BlackBerry API。ؓ了能让你的应用程序在M采用JTWIQ?/span>Java Technology for Wireless IndustryQ?/span>无线领域?/span>Java技?/span>Q的讑֤上运行,你仅需要?/span>CLDC?/span>MIDP API来编写标准的MIDP应用E序?/span>

       <!--[if !vml]--><!--[endif]-->

BlackBerry手持讑֤软glg

Z查看API 参考?/span>点击d栏的开?/strong>>E序>Research In Motion>BlackBerry JDE 4.1.0>API Java Doc Reference

BlackBerry API

BlackBerry API?/span>BlackBerryҎ提供了用户界面Q本地化Q网l,以及其他功能?/span>

  <!--[if !vml]--><!--[endif]-->注:讉K某些Ҏ,如高U的加密Q同步,以及消息的额?/span>APIQ是受限制的。ؓ了用这?/span>API,你必LC门来?/span>Research In Motion的认证中心编写的许可。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指南第一P基础 W二P高?/span>

 

BlackBerry API ?/span>

描述

 

net.rim.blackberry.api.browser

应用E序可以调用BlackBerry览器,Z得到更多信息Q参?/span> BlackBerry 应用E序开发者指?/span> W二P高?/span>

 

net.rim.blackberry.api.invoke

允许应用E序调用BlackBerry应用E序Q如dQ消息,备忘录以及电话。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高?/span>

 

net.rim.blackberry.api.mail

定义了必要的功能来将内部?/span>RIM消息pȝ对象lg转化为和Mail API兼容q可UL的对象。同时也提供了发送,接收Q以及访问消息的功能。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.blackberry.api.mail.event

定义了消息事件以及监听者(ListenerQ接口来理邮g事g。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.blackberry.api.menuitem

允许应用E序?/span>BlackBerry的应用程序例如地址本,日历以及消息中增加客户定制的菜单,Z得到更多信息Q参?/span> BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.blackberry.api.options

允许应用E序?/span>BlackBerry讑֤的选项中增加选项条目。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.blackberry.api.pdap

允许应用E序?/span>BlackBerry个h信息理Q?/span>PIMQ交互,PIM包括地址本,dQ日历?/span>MIDP?/span>javax.microedition.pim提供了类似的功能。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.blackberry.api.phone

提供了访问电话应用程序的高Ҏ。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.blackberry.api.phone.phonelogs

提供了访问电话呼叫历史记录的功能。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.device.api.bluetooth

允许BlackBerry应用E序在一个蓝牙序列端口连接的基础上与打开蓝牙无线技术的讑֤q行通信。ؓ了得到更多信息,参看103늚“使用蓝牙序列端口q接”.

 

net.rim.device.api.browser.field

允许E序在界面上昄览器的字段。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.device.api.browser.plugin

允许E序增加额外支持?/span>MIMEcd?/span>BlackBerry览器上。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

 

net.rim.device.api.collection

net.rim.device.api.collection.util

为管理数据集合定义了接口和实用类。ؓ了得到更多信息,参看13늚“集合”.

net.rim.device.api.compress

提供实用cLq行GZip?/span>ZLib数据压羃?/span><!--[if !supportFootnotes]-->[1]<!--[endif]-->

net.rim.device.api.i18n

提供cL支持BlackBerry讑֤上应用程序的本地化。ؓ了得到更多信息,参看13늚“本地化应用程?/em>”.

net.rim.device.api.io

提供一个定制的BlackBerrycd来管理数据的输入和输出?/span>

net.rim.device.api.mime

提供?/span>MIME~码的数据流一起工作的cR?/span>

net.rim.device.api.notification

提供触发事g的通知以及响应pȝ以及E序的事件的Ҏ。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

net.rim.device.api.servicebook

允许E序增加Q删除,以及讉K服务U定Q?/span>Service BookQ?/span><!--[if !supportFootnotes]-->[2]<!--[endif]-->的接口。ؓ了得到更多信息,参看 BlackBerry 应用E序开发者指?/span> W二P高

net.rim.device.api.system

提供讉KpȝU的功能Q包括键盘和滑轮的事件监听者,囑փ创徏和支持,和应用程序控制?/span>

net.rim.device.api.ui

提供增强的功能来控制BlackBerry用户界面Q包括屏q和控g布局理Q控件类型支持,焦点Q滚动,以及改变监听者。ؓ了得到更多信息,参看39늚“用户界面API”.

net.rim.device.api.ui.component

提供了创?/span>UIE序的界面组件库。ؓ了得到更多信息,参看39늚“昄用户界面lg?/span>

net.rim.device.api.ui.container

提供创徏UIE序的界面管理组件的库。ؓ了得到更多信息,参看49늚“理用户界面lg?/span>

net.rim.device.api.ui.text

提供cd文本字符串进行过滤,包含多种cd的数据,例如电话L?/span>URL?/span>

net.rim.device.api.util

提供实用的方法和接口Q包含数l,哈希表,字符匚w?/span>

CLDC API

CLDC API ?/span>

描述

java.io

提供数据的pȝ输入和输出?/span>

java.lang

提供Java~程语言基础cR?/span>

java.lang.ref

提供引用对象c,它们支持一定程度上的垃圑֛收?/span>

java.util

包含集合c,旉Q以及多L实用cR?/span>

javax.microedition.io

包含一般连接的cR?/span>

MIDP API

MIDP API ?/span>

描述

javax.microedition.lcdui

包含MIDP 用户界面APIQ它?/span>MIDP应用E序的用L面实现提供了一l特性?/span>

javax.microedition.lcdui.game

包含了可以ؓBlackBerry讑֤q行丰富游戏内容开发的cR?/span>

javax.microedition.midlet

定义?/span>MIDP应用E序以及应用E序和应用程序运行的环境之间的交互?/span>

?/span>Q?/span>BlackBerry IDE可以在启动时Q参数传递到一?/span>BlackBerry CLDC应用E序中?/span>

javax.microedition.pki

定义了用来验证安全连接信息的证书?/span>

javax.microedition.rms

?/span>MIDlet提供一U机制来存储和取得持久性数据?/span>

PDAP API

MIDP API ?/span>

描述

javax.microedition.pim

.提供标准机制来访?/span>PIM信息?/span>

?/span>BlackBerry讑֤上?/span>Java

~译源代码,打包?span>.cod文gQƈ?span>.cod文g加蝲?span>BlackBerry讑֤上,通过虚拟行?/span>

<!--[if !supportLists]-->*        <!--[endif]-->注:.cod文g名控制在128字节?/span>

?span>CLDC中描q的那样Q?span>BlackBerry IDE使用一个分割的VM架构。ؓ了降低内存的数量以及BlackBerry讑֤需要的处理能力Q部分类加蝲q程Q称为预验证Q它?span>Java代码加蝲?span>BlackBerry之前发生。在源代码打包?span>.cod文g之前Q自动验证它。在cd载到BlackBerry讑֤时完成验证的提示?/span>

限制

?/span>CLDC1.1中描q的那样BlackBerry虚拟机有以下限制Q?/p>

  • 没有对象的析构(finalizationQ?
  • 没有用户cȝ加蝲
  • 没有反射Q因此不支持RMI?span>Jini|络技术?
  • 没有原生ҎQ?span>Native methodQ?
  • 没有Runtime.exec()执行外部的进E?

多线E?/span>

BlackBerry Java环境提供一个真正的多线E环境来q行应用E序。这个环境允许多个应用程序同时运行,允许事gq播到多个应用程序,以及长操作和监听U程在背后运行?/p>

持久数据

存储在闪存中的数据在BlackBerry重新讄之间持久保存。在BlackBerry讑֤上存储数据可以采用以下二U方式中的一U:

  • 使用MIDP记录存储
  • 使用BlackBerry持久模型

Z得到关于使用BlackBerry API存储持久数据的更多信息,参看BlackBerry应用E序开发者指南第一P基础 W二P高?/em>

|络通信

BlackBerry JDEҎMIDP2.0Q?/span>实现了网l通信。它提供多种q接选项Q包括通过使用HTTP代理q接在公叔R火墙背后安全q接的能力?/p>

BlackBerry JDE提供了以下几U连接类型:

  • 连接(StreamConnection接口Q包括:

1.         HTTP q接Q?span>HttpConnection接口Q?/p>

2.         HTTPSq接Q?span>HttpsConnection接口Q?/p>

3.         Socketq接Q?span>SocketConnection接口Q?/p>

4.         安全socketq接Q?span>SecureConnection接口Q?/p>

5.         序列q接?span>BlackBerry讑֤的一个通信接口Q?span>CoomConnection接口Q?/p>

  • 数据报连接(DtagramConnection接口Q,包含

1. UDP数据报连接(UDPDatagramConnection接口Q?/p>

Javax.microedition.io.PushRegistry cdBlackBerry讑֤保持了一些进入的q接?/p>

?/span>

 BlackBerry JDE为包含在CLDC java.io包里的流提供了标准的接口和类?/p>

MIME~码

BlackBerry IDE提供?span>MIMEInputStream?span>MIMEOutputStreamcLd一?span>MIME~码的数据流?/span>

c?/span> 

描述

MIMEInputStream

实现一个流来读取一?/span>MIME消息Q然后根?/span>MIME标准格式化和分解q个消息为其部分

MIMEOutputStream

 

实现一个输出流Q这个流可以ҎMIME标准格式化输Zؓ光分。本cM会完成实际的数据~码Q因此你必须在写入它到本数据治安编码它?/span>

压羃

?span>net.rim.device.api.compress包里Q?span>BlackBerry JDE提供cLd使用Zlib或?span>GZip格式压羃的数据流。这些类的行为如Java标准版本里的java.util.zip包里对应的类一栗?/span>

 ~省的,压羃是允许的Q?span>BlackBerry讑֤可以写有效的GZip?span>Zlib文g样压~文件的内容。解压羃同样也是支持的?/span>

集合

BlackBerry IDE 提供了一l接口和实用cL理BlackBerry讑֤上的集合?/span>

net.rim.device.api.collection包包含了许多接口Q这些接口ؓ某些特定cd数据cd多定义了U类型的集合Q例如列表,数组以及映射。这些接口定义了?span>Java标准版本集合框架?span>list,set?span>map接口cM的功能?/span>

在你自己的类中实现这些接口,或者用在net.rim.device.api.collection.util包里提供的用类?/span>

向量

 标准?span>java.util.Vector实现了一个大可以改变的对象数组?span>BlackBerry JDE也提供了合适的c,例如rim.device.api.util.IntVector?span>rim.device.api.util.ByteVector来对主要cdq行工作。这些类看v来和普通的Vector一?span>,除了它们优化了在M位置上插入的V相反,如果你用标准的?span>Vector作随机的改变Q大量的数据会在闪存?span>RAMUd?/span>

列表

BlackBerry JDE?span>net.rim.device.api.collection.util包里提供了一些类来管理元素的列表

c?/span>

描述

SortedReadableList ?/span>

UnsortedReadableList

使用q些cLl护已排序的和未排序的元素列表?/span>SortedReadableListc需要你使用一个比较对象来排序列表中的元素。增加到列表中的每一个元素必被比较对象视ؓ有效的?/span>

IntSortedReadableList ?/span>LongSortedReadableList

使用q些c自动排序整形列表或与长整Ş关键字相关的元素?/span>

BigSortedReadableList ?/span> BigUnsortedReadableList

使用q些cL存储大的数据集合Q大?/span>10或?/span>15K).q些cM会存储数据到一个数l中Q因此你可以对大数据集合更有效的做出随意改变?/span>

ReadableListCombiner

 

使用q个cdq?/span>2个或者更多的ReadableList对象q且他们作Z单个ReadableList来存储?/span>

ReadableListUtil

此类提供一些有用的Ҏ?/span>getAt()?/span>getIndex()。我们可以用此cd到只d表中的数

                           

哈希?/span>

除了CLDC提供的标?/span>java.util.Hashtable 之外Q?/span>BlackBerry JDE包含了特定的net.rim.device.api.collection.util.LongHashtableCollectionc,q个cL供了使用长整形作为关键字的哈希表集合。一?/span>LongHashtableCollection 对象Q写操作作ؓ一个映(使用一个关键字-元素对)Q读操作作ؓ一个映或者作Z个集合(在集合里作ؓ一个数l来得到数据Q?/span>

事g监听?/span>

事g监听者接口根据事件类型划分。每个应用程序注册来接收特定cd的事件。应用程序事仉列然后调度事件到一个合适的监听者?/span>
应用E序可以实现合适的监听者接口或者在各种Screen对象里重写监听者方法。大多数应用E序实现?/span>KeyListener ?/span>TrackwheelListener 接口Q而且注册了监听者来接收键盘和滑轮的事g。键盘和滑轮是用户和应用E序交互的主要方式?/span>

下列的事件监听者放?/span> net.rim.device.api.system包中

监听者接?/span> 

事gcd

AlertListener

实现接口来监?/span>alert事g

BluetoothSerialPortListener

实现接口来监听蓝牙序列端口事Ӟ例如打开一个蓝牙序列端口连接作为服务器或者客L?/span>

GlobalEventListener

 

实现接口来监听可以广播到所有应用程序的全局事g?/span>

HolsterListener

实现接口来监听套装事Ӟ例如BlackBerry讑֤从套装中插入和移开?/span>

IOPortListener

实现接口监听I/O端口事g?/span>

KeyListener

 

实现接口监听键盘事gQ例如用h住或释放一个键?/span>

RealTimeClockListener

实现本接口来监听实时旉事gQ例如时钟更新?/span>

SerialPortListener

实现此接口监听序列化端口事gQ例如对于一个已l和计算机序列端口连接的BlackBerry讑֤Q一个在数据正在被发送到序列化端口连接状态中的改变?/span>

SystemListener

 

实现此接口来监听pȝ事gQ例如电池状态和甉|的改变?/span>

TrackwheelListener

实现本接口监听滑轮事Ӟ例如按住滑轮?/span>

USBPortListener

实现本接口监?/span>USB端口事gQ例如对于一个已l和计算?/span>USB端口q接?/span>BlackBerry讑֤Q数据正被发送到USB端口q接的状态?/span>

pȝ功能

net.rim.device.api.system包的cL供了讉KJava VM?span>BlackBerry讑֤上系l资源的能力?/span>
得到信号信息

RadioInfo提供了访问信L态信息的能力?/span>
得到讑֤信息

DeviceInfocd以访问下?/span>BlackBerry讑֤的信息:

  • <!--[if !supportLists]--><!--[endif]-->甉|甉|和状?/span>
  • <!--[if !supportLists]--> <!--[endif]-->Blackerry讑֤?/span>
  • <!--[if !supportLists]--> <!--[endif]-->I闲旉
  • <!--[if !supportLists]--> <!--[endif]-->q_版本

pȝ事g通知用户

当一个事Ӟ例如一条新消息到来的时候,Alertcd许应用程序通知用户?/span>
监视内存使用情况

使用一?/span>MemorycL供的静态方法来得到VM内存使用l计信息?/span>

Memorycd多实用方法返回一?/span>MemoryStats对象。?/span>MemoryStatscL供的实用Ҏ得到BlackBerry讑֤上内存和可用存储I间的详l信息?/span>
日志事g

EventLogger允许应用E序在持久存储里存储事g日志?/span>BlackBerry讑֤l护事g队列Q以臛_日志满时Q会删除最早的事gQƈ增加新的事g。用户可以按?/span>Alt+lglg?/span>来查?/span>BlackBerry讑֤的系l事件日志?/span>

使用工具

BlackBerry JDE?/span>net.rim.device.api.util包里提供了一l实用工Pq些c里的许多类提供了和Java标准版本里相似的功能

  • <!--[if !supportLists]-->Comparator接口定义了对象集合上的顺序的Ҏ?/span>
  • <!--[if !supportLists]-->Arrays提供Ҏ来操作数l,例如排序Q查找,以及作ؓ列表来查看数l?/span>
  • <!--[if !supportLists]-->BitSet cȝ?/span>bit的集合?/span>

net.rim.device.api.util包包含了多个cL理特定cd的数据集合,包括向量Q哈希表Q映以及栈?/span>

应用E序控制

应用E序控制允许pȝ理员操作以下动作:

  • <!--[if !supportLists]-->控制内部q接Q公叔R火墙背后的连接)
  • <!--[if !supportLists]-->控制外部q接
  • <!--[if !supportLists]-->控制本地q接Q序列和USBq接Q?/span>
  • <!--[if !supportLists]-->控制讉K键存?/span>(key store)
  • <!--[if !supportLists]-->控制讉KҎ?/span>API.
  • <!--[if !supportLists]--> <!--[endif]-->LW三方应用程序存?/span>BlackBerry讑֤上?/span>

Z得到更多信息Q参?/span>BlackBerry Enterprise Server Handheld Management Guide的应用程序管理?/span>

受限制访问的API, c?/span>, 和方?/span>

使用了下列受限的API,c,以及Ҏ的应用程序可以加载到BlackBerry讑֤Q但是如果他们访问了一个没有在应用E序控制下得到允许的APIӞ在运行时会抛Z?/span>ControlledAccessException或?/span>NoClassDefFoundError的异常?/span>

 

c,Ҏ?/span>API

~省?/span>

应用E序菜单?/span>API(net.rim.blackberry.api.menuitem)

允许

蓝牙API (net.rim.device.api.bluetooth)

允许

Connector.open() (javax.microedition.io)

提示

?/span>:内部和外部的q接׃同的应用E序控制{略来管?/span>

DeviceKeyStore c?/span> (net.rim.device.api.crypto.keystore)

允许

EventInjector c?/span> (net.rim.device.api.system)

不允?/span>

HTTP Filter API (net.rim.device.api.io.http)

不允?/span>

Notification API (net.rim.device.api.notification)

允许

?/span>API ?/span> 呼叫API (用来调用电话应用E序) (net.rim.blackberry.api.phone ?/span>net.rim.blackberry.api.invoke)

允许(~省Q用hC?/span>)

电话日志API (net.rim.blackberry.api.phone.phonelogs)

允许(~省Q用hC?/span>)

PIM API (net.rim.blackberry.api.pdap)

允许

RuntimeStore c?/span> (net.rim.device.api.system)

允许

SerialPort c?/span> (net.rim.device.api.system)

允许

Session c?/span> (net.rim.blackberry.api.mail)

允许

StringPatternRepository c?/span> (net.rim.device.api.util)

允许

USBPort c?/span> (net.rim.device.api.system)

允许

 

<!--[if !supportFootnotes]-->

<!--[endif]-->

<!--[if !supportFootnotes]-->[1]<!--[endif]--> 也许有h会问Qؓ什?/span>BlackBerry需要压~数据,又在什么地方用到呢?非常单,是减小数据所占用的空?/span>,最好的一个例子是BES发送邮Ӟ译者注?/span>

<!--[if !supportFootnotes]-->[2]<!--[endif]--> 服务U定Q?/span>Service Book,q是BlackBerry使用中一个非帔R要的概念。功能就是你订阅的服务,例如你订阅了MMS的功能,它会在你BlackBerry手持讑֤上出现。译者注?/span>



]]>
ŷۺϾþþ| ޾ƷþëƬ| ŷ޾ƷþþavӰ| ɫþþþþþС˵| vĻþ| ˾þþƷ| LƷþ| ŷҹAŴƬþ| ޾ƷƬþ| þɧ| wwþþþþþþþ| 99Ʒ99þþþþ97| þԭƷӰԺ| һɫþ88ۺպƷ | þùƷ99þþþþ| ˾þ91| ٸþĻ| ɫ͵͵þһ| þþƷ| 99þѹۺϾƷ| þþþùƵӰ| þAv뾫Ʒϵ| þԾƷ| һþaþþƷۺ| ޹ƷþõӰŷ| ձƷþþþӰԺձ| ƷһþþƷ| 2021ھþþƷ| ޾þþþþAV| þþƷ77777| þ޾Ʒa| Ʒ˾Ʒþþ| 99þѹƷ| þ99ƷСѼ| þۺ³³| þþþƷҰ| þþþþþ92| þþþþþۺ| þù޾Ʒ| ٸþþþþñŪ߳| ޾Ʒþþþþ|