黑幕目前联网主要有几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 本文来自CSDN博客Q{载请标明出处Q?a >http://blog.csdn.net/lyerliu/archive/2010/02/01/5277446.aspx
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.
]]>
作?Confach 发表于March 19,200614:59 pm
版权信息:可以L转蝲, 转蝲时请务必以超链接形式标明文章原始出处和作者信?
http://www.cnblogs.com/confach/articles/353363.html
1
使用 BlackBerry API ?/span>BlackBerry讑֤上?/span>Java 应用E序控制 |
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?/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 ?/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 ?/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> |
MIDP API ?/span> |
描述 |
javax.microedition.pim |
.提供标准机制来访?/span>PIM信息?/span> |
~译源代码,打包?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>
|络技术?
BlackBerry Java环境提供一个真正的多线E环境来q行应用E序。这个环境允许多个应用程序同时运行,允许事gq播到多个应用程序,以及长操作和监听U程在背后运行?/p>
存储在闪存中的数据在BlackBerry重新讄之间持久保存。在BlackBerry讑֤上存储数据可以采用以下二U方式中的一U:
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连接类型: 1. HTTP q接Q?span>HttpConnection
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>
1. UDP数据报连接(UDPDatagramConnection接口Q?/p>
Javax.microedition.io.PushRegistry cdBlackBerry讑֤保持了一些进入的q接?/p>
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监听者接口根据事件类型划分。每个应用程序注册来接收特定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> |
net.rim.device.api.system包的cL供了讉KJava VM?span>BlackBerry讑֤上系l资源的能力?/span>
得到信号信息
RadioInfo提供了访问信L态信息的能力?/span>
得到讑֤信息
DeviceInfocd以访问下?/span>BlackBerry讑֤的信息:
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标准版本里相似的功能
net.rim.device.api.util包包含了多个cL理特定cd的数据集合,包括向量Q哈希表Q映以及栈?/span>
应用E序控制允许pȝ理员操作以下动作:
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]-->[1]<!--[endif]--> 也许有h会问Qؓ什?/span>BlackBerry需要压~数据,又在什么地方用到呢?非常单,是减小数据所占用的空?/span>,最好的一个例子是BES发送邮Ӟ译者注?/span>
<!--[if !supportFootnotes]-->[2]<!--[endif]--> 服务U定Q?/span>Service Book,q是BlackBerry使用中一个非帔R要的概念。功能就是你订阅的服务,例如你订阅了MMS的功能,它会在你BlackBerry手持讑֤上出现。译者注?/span>