以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML 与 移动嵌入式开发 』   (http://bbs.xml.org.cn/list.asp?boardid=77)
----  [推荐] BlackBerry 手机应用程序开发者指南 [连载]  (http://bbs.xml.org.cn/dispbbs.asp?boardid=77&rootid=&id=60426)


--  作者:enyaxp
--  发布时间:3/25/2008 5:28:00 PM

--  [推荐] BlackBerry 手机应用程序开发者指南 [连载]

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

第1章 BlackBerry API

主要内容:

    使用 BlackBerry API                                                     

    在BlackBerry设备上使用Java                                            

    应用程序控制


1 使用BlackBerry API

    BlackBerry Java 开发环境(简称JDE)的设计提供了一套完整的API和工具,来开发在BlackBerry设备上运行的Java应用程序。

    BlackBerry设备包含了一个基于CLDC1.1以及MIDP的Java ME(Java Platform Micro Edition)运行时环境。BlackBerry API扩展提供了额外的功能,并且和BlackBerry集成得更紧密。

    你可以在你的应用程序中使用CLDC/MIDP和BlackBerry API。为了能让你的应用程序在任何采用JTWI(Java Technology for Wireless Industry,无线领域的Java技术)的设备上运行,你仅需要使用CLDC和MIDP API来编写标准的MIDP应用程序。


此主题相关图片如下:
按此在新窗口浏览图片

    为了查看API 参考。点击任务栏的开始>程序>Research In Motion>BlackBerry JDE 4.1.0>API Java Doc Reference

1.1 BlackBerry API

    BlackBerry API为访问BlackBerry特性提供了用户界面,本地化,网络,以及其他功能。访问某些特性,如高级的加密,同步,以及消息的额外API,是受限制的。为了使用这些API,你必须收到专门来自Research In Motion的认证中心编写的许可。
    
    为了得到更多信息,参看 BlackBerry 应用程序开发者指南第一卷:基础 第二卷:高级。


此主题相关图片如下:
按此在新窗口浏览图片

1.2 CLDC API


此主题相关图片如下:
按此在新窗口浏览图片

1.3 MIDP API


此主题相关图片如下:
按此在新窗口浏览图片

1.4 PDAP API


此主题相关图片如下:
按此在新窗口浏览图片

2 在BlackBerry设备上使用Java

    编译源代码,打包为.cod文件,并将.cod文件加载到BlackBerry设备上,通过虚拟机运行。.cod文件名控制在128字节。

    如CLDC中描述的那样,BlackBerry IDE使用一个分割的VM架构。为了降低内存的数量以及BlackBerry设备需要的处理能力,部分类加载过程,称为预验证,它在Java代码加载到BlackBerry之前发生。在将源代码打包为.cod文件之前,自动验证它。在类加载到BlackBerry设备时完成验证的提示。

2.1 限制

    在CLDC1.1中描述的那样BlackBerry虚拟机有以下限制:

    没有对象的析构(finalization)
    没有用户类的加载
    没有反射,因此不支持RMI和Jini网络技术。
    没有原生方法(Native method)
    没有Runtime.exec()执行外部的进程

2.2 多线程

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

2.3 持久数据

    存储在闪存中的数据在BlackBerry重新设置之间持久保存。在BlackBerry设备上存储数据可以采用以下二种方式中的一种:

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

    为了得到关于使用BlackBerry API存储持久数据的更多信息,参看BlackBerry应用程序开发者指南第一卷:基础 第二卷:高级。

2.4 网络通信

    BlackBerry JDE根据MIDP2.0,实现了网络通信。它提供多种连接选项,包括通过使用HTTP代理连接在公司防火墙背后安全连接的能力。

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

    流连接(StreamConnection接口,包括:
     1.         HTTP 连接(HttpConnection接口)
     2.         HTTPS连接(HttpsConnection接口)
     3.         Socket连接(SocketConnection接口)
     4.         安全socket连接(SecureConnection接口)
     5.         序列连接到BlackBerry设备的一个通信接口(CoomConnection接口)

    数据报连接(DtagramConnection接口),包含
     1. UDP数据报连接(UDPDatagramConnection接口)

    Javax.microedition.io.PushRegistry 类对BlackBerry设备保持了一些进入的连接。

2.5 流

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

    MIME编码

    BlackBerry IDE提供了MIMEInputStream和MIMEOutputStream类来读写一个MIME编码的数据流。


此主题相关图片如下:
按此在新窗口浏览图片

    压缩

    在net.rim.device.api.compress包里,BlackBerry JDE提供类来读取使用Zlib或者GZip格式压缩的数据流。这些类的行为如Java标准版本里的java.util.zip包里对应的类一样。

    缺省的,压缩是允许的,BlackBerry设备可以写有效的GZip和Zlib文件为这样压缩文件的内容。解压缩同样也是支持的。

2.6 集合

    BlackBerry IDE 提供了一组接口和实用类来管理BlackBerry设备上的集合。

    net.rim.device.api.collection包包含了许多接口,这些接口为某些特定类型数据类型多定义了种类型的集合,例如列表,数组以及映射。这些接口定义了与Java标准版本集合框架的list,set和map接口类似的功能。

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

    向量

    标准的java.util.Vector实现了一个大小可以改变的对象数组。BlackBerry JDE也提供了合适的类,例如rim.device.api.util.IntVector和rim.device.api.util.ByteVector来对主要类型进行工作。这些类看起来和普通的Vector一样,除了它们优化了在任何位置上插入的项。相反,如果你使用标准的大Vector作随机的改变,大量的数据会在闪存和RAM移动。

    列表

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


此主题相关图片如下:
按此在新窗口浏览图片

    哈希表

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

2.7 事件监听者

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

    下列的事件监听者放在 net.rim.device.api.system包中。


此主题相关图片如下:
按此在新窗口浏览图片

2.8 系统功能
    net.rim.device.api.system包的类提供了访问Java VM和BlackBerry设备上系统资源的能力。

    得到信号信息

    RadioInfo提供了访问信号状态信息的能力。

    得到设备信息

    DeviceInfo类可以访问下列BlackBerry设备的信息:

    电池电源和状态
    Blackerry设备号
    空闲时间
    平台版本

    系统事件通知用户

    当一个事件,例如一条新消息到来的时候,Alert类允许应用程序通知用户。

    监视内存使用情况

    使用一个Memory类提供的静态方法来得到VM内存使用统计信息。

    Memory类很多实用方法返回一个MemoryStats对象。使用MemoryStats类提供的实用方法得到BlackBerry设备上内存和可用存储空间的详细信息。

    日志事件

    EventLogger允许应用程序在持久存储里存储事件日志。BlackBerry设备维护事件队列,以至当日志满时,会删除最早的事件,并增加新的事件。用户可以按住Alt+lglg键来查看BlackBerry设备的系统事件日志。

2.9 使用工具

    BlackBerry JDE在net.rim.device.api.util包里提供了一组实用工具,这些类里的许多类提供了和Java标准版本里相似的功能

    Comparator接口定义了对象集合上的顺序的方法。
    Arrays提供方法来操作数组,例如排序,查找,以及作为列表来查看数组。
    BitSet 类维护bit的集合。

    net.rim.device.api.util包包含了多个类来管理特定类型的数据集合,包括向量,哈希表,映射以及栈。

3 应用程序控制

    应用程序控制允许系统管理员操作以下动作:

    控制内部连接(公司防火墙背后的连接)
    控制外部连接
    控制本地连接(序列和USB连接)
    控制访问键存储(key store)
    控制访问特殊的API.
    阻止第三方应用程序存在BlackBerry设备上。

    为了得到更多信息,参看BlackBerry Enterprise Server Handheld Management Guide的应用程序管理。

    受限制访问的API, 类, 和方法

    使用了下列受限的API,类,以及方法的应用程序可以加载到BlackBerry设备,但是如果他们访问了一个没有在应用程序控制下得到允许的API时,在运行时会抛出一个ControlledAccessException或者NoClassDefFoundError的异常。


此主题相关图片如下:
按此在新窗口浏览图片


[此贴子已经被作者于2008-3-25 19:52:00编辑过]

--  作者:tinyqueen
--  发布时间:3/25/2008 10:22:00 PM

--  
好资料
赞一个
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
45.898ms