在BlackBerry设备上使用Java及应用程序控制

移动开发
在前文中我们介绍了BlackBerry API,本文我们将介绍在BlackBerry设备上使用Java,在下文中我们会介绍Java语言编写BlackBerry应用程序。

在BlackBerry设备上使用Java

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

注:.cod文件名控制在128字节。

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

限制

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

◆没有对象的析构(finalization)

◆没有用户类的加载

◆没有反射,因此不支持 RMI 和 Jini 网络技术。

◆没有原生方法(Native method)

◆没有 Runtime.exec()执行外部的进程

多线程

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

持久数据

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

◆使用 MIDP 记录存储

◆使用 BlackBerry 持久模型

网络通信

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 设备保持了一些进入的连接。

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

MIME 编码

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

MIME 编码

压缩

在 net.rim.device.api.compress 包里 ,BlackBerry JDE 提供类来读取使用 Zlib 或者 GZip格式压缩的数据流。这些类的行为如 Java 标准版本里的 java.util.zip 包里对应的类一样。缺省的,压缩是允许的,BlackBerry 设备可以写有效的 GZip 和 Zlib 文件为这样压缩文件的内容。解压缩同样也是支持的。#p#

集合

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 对象,写操作作为一个映射(使用一个关键字-元素对),读操作作为一个映射或者作为一个集合(在集合里作为一个数组来得到数据)。#p#

事件监听者

事件监听者接口根据事件类型划分。每个应用程序注册来接收特定类型的事件。应用程序事件队列然后调度事件到一个合适的监听者。

应用程序可以实现合适的监听者接口或者在各种 Screen 对象里重写监听者方法。大多数应用程序实现了 KeyListener 和 TrackwheelListener 接 口 ,而且注册了监听者来接收键盘和滑轮的事件。键盘和滑轮是用户和应用程序交互的主要方式。

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

事件监听者#p#

系统功能

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

号信息

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

得到设备信息

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

◆电池电源和状态

◆Blackerry 设备号

◆空闲时间

平台版本

系统事件通知用户

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

监视内存使用情况

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

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

日志事件

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

使用工具

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

◆Comparator 接口定义了对象集合上的顺序的方法。

◆Arrays 提供方法来操作数组,例如排序,查找,以及作为列表来查看数组。

◆BitSet 类维护 bit 的集合。

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

应用程序控制

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

◆控制内部连接(公司防火墙背后的连接)

◆控制外部连接

◆控制本地连接(序列和 USB 连接)

◆控制访问键存储(key store)

◆控制访问特殊的 API.

◆阻止第三方应用程序存在 BlackBerry 设备上。

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

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

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

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

【编辑推荐】

  1. 简介BlackBerry API
  2. Java语言编写BlackBerry应用程序
  3. BlackBerry应用开发者指南基础附录 .alx文件
  4. BlackBerry应用开发者指南 使用受控API
  5. BlackBerry应用开发者指南 Mail API
  6. BlackBerry应用开发者指南 PIM API
  7. BlackBerry应用开发者指南 选项API

 

责任编辑:佚名 来源: 网络整理
相关推荐

2011-04-01 11:01:02

应用程序BlackBerryJava

2011-06-07 09:36:41

BlackBerry 应用程序

2010-06-12 16:41:10

BlackBerry开

2010-05-22 16:57:09

BlackBerry开

2011-03-31 13:15:18

BlackBerry

2011-12-29 11:13:58

移动Web应用程序标准

2010-09-10 08:32:45

android marApp CatalogApp Store

2011-10-12 11:24:44

AndroidPC

2009-06-19 13:45:53

Java应用程序Jfreechart

2009-07-08 10:06:52

BlackBerry应

2023-10-27 09:19:48

DockerLinux

2010-11-08 11:41:38

2010-05-12 17:11:55

BlackBerry开

2014-05-13 13:01:13

越过AppStore安装应用

2009-09-22 12:17:59

ibmdwLotus

2023-07-14 12:07:19

2022-02-20 20:09:38

BottlesLinuxWindows

2010-12-27 08:27:52

BlackBerry应用

2011-06-07 09:10:41

BlackBerry 开发

2011-05-27 08:48:13

Android HTML
点赞
收藏

51CTO技术栈公众号