190 likes | 304 Views
知识点 在这一部分,学生将学习: 探究个人数字助理简表 PDAP ( Personal Digital Assistant Profile )和 PDAlet 探究连接设备配置 CDC ( Connected Device Configuration ) 探究增强数据的 GSM 环境 EDGE ( Enhanced Data GSM Environment ) 探究连接受限设备配置 CLDC ( Connected Limited Device Configuration )应用 程序编程接口( API )类和接口.
E N D
知识点 • 在这一部分,学生将学习: • 探究个人数字助理简表PDAP(Personal Digital Assistant Profile)和PDAlet • 探究连接设备配置CDC(Connected Device Configuration) • 探究增强数据的GSM环境EDGE(Enhanced Data GSM Environment ) • 探究连接受限设备配置CLDC( Connected Limited Device Configuration)应用 • 程序编程接口(API)类和接口 协作
探究PDAP和PDAlet • 为了使PDA设备支持应用程序,J2ME开发人员为PDA创建了一组API,称作PDA Profile(简表),即PDAP。 • PDAP是为支持移动设备的API设立的Java标准,这类移动设备包括个人数字助理(PDA)和智能电话等。 • PDA设备必须提供最低限度的硬件和软件资源来运行一个PDAP应用程序。 • 为了能够支持全部的PDAP API,比如 CLDC API、用户接口库和GCF,一个PDA至少必须提供1080KB的内存。 • PDAP 应用程序称作PADlet,正如MIDP 应用程序称作MIDlet。 协作
探究 PDAP 和 PDAlet(续) • 由于PDAP应用程序自身的局限性,它们并非适用于所有的设备。 • PDAlet的局限性表现在: • 只支持黑白两种颜色。 • 支持有限种类的字体,比如Plain 字体。 • 限制创建custom cursor(自定义光标)。 • 限制使用多线程。 • 限制改变window(窗口)、 dialog box(对话框)和frame(框架)的尺寸。 • 限制为dialog box(对话框)和frame(框架)命名。 协作
探究 PDAP 和 PDAlet(续) • 个人信息管理PIM(Personal Information Management )数据: • 指的是存储在PDA应用程序中的数据。 • PIM数据要么存放在PDA设备中,要么存放在一个远程设备上,比如计算机。 • 在限制访问PDA设备时,你可以赋予用户的权限有: • 对PIM数据库中的数据进行读写操作的权限。 • 对文件和目录之类的文件系统组件中的数据进行读写操作的权限。 • 对输入/输出流的数据进行读写操作的权限。 • 访问AWT系统的事件队列。 • 处理AWT事件。 协作
探究 CDC • CDC是利用Java技术构造并发布可以在入网移动设备之间共享的应用程序的一组API。 • CDC可以用来构造标准API,程序员可以在此基础上为移动设备开发应用程序。 • CDC包括C虚拟机(CVM)和基础简表(Foundation profile) ,这两者共同构成了J2ME环境。 • CVM 是一种支持C语言的虚拟机。 • 基础简表是一种J2ME简表,它包括PDA之类的消费品所必须的类库和API。 协作
探究 CDC(续) • CDC API具有很多的优点,使得它们适用于各类小型移动设备。 • CDC的优点包括: • 可以实现灵活性和信息安全。 • 利用一个综合平台对多种移动设备提供支持。 • 可以使移动设备用户对敏感信息进行保护。 • 允许商家开发适用于企业应用的软件。 • 使开发人员可以利用一组API开发移动应用程序。 • 使开发人员可以在单一平台上为多种移动设备开发应用程序。 • 使开发人员可以重用为基于J2SE的应用程序而编写的代码。 • 使服务提供商可以配置安全的移动应用程序。 协作
EDGE 简介 • EDGE是为在GSM网络上传输数据而设立的基于无线电通信的规范(radio-based specification) 。 • EDGE允许GSM操作人员利用现有的无线电频带,以384kbps的速率提供基于IP的无线多媒体服务和应用程序。 • EDGE允许用户接入Internet并交换数字图像和Web页面之类的数据。 • EDGE易于实现,因为使用EDGE技术的移动设备只需要一个收发器单元。 协作
探究 CLDC API 类和接口 • CLDC API由直接继承J2SE的API得来。 • 含有从J2SE中继承的类和接口的CLDC API包有如下一些: • java.lang • java.util • java.io • CLDC API 可以从逻辑上分为如下两类: • 由J2SE的API派生而来的一组包。 • 一组称作通用连接框架( Generic Connection Framework ,GCF)的网络接口。 协作
专家看台 • 在这一部分,你将学习: • 最佳实践 • 提示和窍门 • 常见问题解答 协作
最佳实践 • 减少应用程序印迹(Footprint) • 当在移动设备上执行一个应用程序之后,关于执行步骤的信息被存放在内存中,这一信息称作印迹(footprint)。你需要尽可能减少移动应用程序的存储和运行印迹,因为移动设备的内存和存储容量有限。 • 要减少移动应用程序的存储和运行印迹,就要完成如下任务: • 只对必需的类进行封装,从而使封装过程最优化。 • 通过缩减移用应用程序所占空间, 使封装过程最优化。 • 将移动应用程序划分为不同的部分并将其隔离,从而减少运行印迹。 协作
提示和技巧 • MIDP • 为了更为有效地开发MIDP应用程序,应该完成如下任务: • 在后台线程中安排HTTP 请求。 • 利用异步消息发送模式传输数据。 • 利用无线应用程序协议的二进制扩展标记语言(WBXML)对扩展标记语言(XML)消息进行压缩。 协作
提示和技巧(续) • 利用J2ME平台开发移动应用程序 • 利用J2ME平台开发移动应用程序: • 在J2ME平台上为移动设备开发应用程序时,你需要考虑如下问题: • 确保用户在使用移动应用程序时需要点击的按钮数最小。 • 避免创建水平滚动条。 • 创建按钮,从而代替滚动条。 • 确保用户不需要记忆或比较不同屏幕上的数据。 • 避免在类结构中创建复杂的层次。 协作
常见问题解答 • 是否可以通过引入短消息服务(SMS, Short Message Service)创建一个MIDlet? • 是的,你可以通过引入SMS,在支持MIDP 2.0的移动设备上创建一个MIDlet。MIDP 2.0 实施的推(Push)技术使你可以在这些移动上创建MIDlet。 这一实现过程需要用到WMA 1.1 可选包。 • MIDlet 是否允许使用电话的无线应用程序协议(WAP, Wireless Application Protocol)浏览器? • 是的,你可以通过一个MIDlet使用电话的WAP浏览器。MIDlet.platformRequest () 方法使你可以在支持MIDP 2.0的移动设备上,通过一个MIDlet,利用WAP 浏览器发送HTTP请求。 协作
常见问题解答(续) • MIDlet能否与Java Card applet交换信息? • MIDlet不可以与Java Card applet交换信息。MIDP没有提供任何允许MIDlet和运行在移动设备的SIM卡上的Java Card applet交换信息的API。Java 界人士目前正在想办法解决这一问题。 • 如何在J2ME MIDlet程序中永久性地存储数据? • J2ME MIDP提供了一种面向记录的( record-oriented )数据库模型,允许将MIDlet的常驻数据存放在J2ME MIDP 设备中。一个记录仓库由很多记录组成,这些记录将在MIDlet的多重调用中持续存在。记录仓库负责维护MIDlet 记录仓库的完整性,它在平台的整个常规使用过程中,包括重启、更换电池等,都进行这一操作。这种记录模型使你可以对记录管理系统RMS(Record Management System)数据库中可用的数据进行读、写和操作。MIDlet 使用javax.microedition.rms 包管理记录仓库。 协作
挑战 • Jim Lewis 是Global Systems 公司的软件开发人员,该公司向客户提供无线服务。管理人员要求Jim 为移动设备开发一个应用程序,从而使用户可以使用电子邮件( e-mail )功能。同时,管理人员还要求Jim 确保Web服务器的软件配置不变。Jim应该采用何种技术开发这一应用程序? • Chris是Technology Systems公司的软件开发人员, 该公司使用第二代无线技术向客户提供无线服务。工作组要求Chris 利用第三代无线技术开发移动应用程序。公司已经决定要使用第三代无线技术,以提供更大的带宽和更高质量的数据传输。公司也要求Chris 开发移动应用程序,从而使用户可以下载视频和电影剪辑。Chiris 应该选择哪种技术平台来开发这一应用程序? 协作
挑战(续) • Steve Irving 是Red Sky IT Systems公司应用程序开发部的程序员, 他利用J2ME平台开发移动应用程序。公司要求 Steve 为电视的机顶盒(set-top box,STB)创建一个应用程序模块。Steve决定利用J2ME架构的Profile(简表)层创建这一模块。Steve 应该利用哪个工具包创建这一模块,他如何才能获取这一工具包? • Pat是Technology Systems公司的一个软件开发人员,该公司为移动设备开发软件。公司要求Pat开发一个可以向用户提供Web服务的移动应用程序,要他确保开发这一移动应用程序所采用的API是与设备无关的,同时还要求他确保这一应用程序可以用于具有160KB内存和16位处理能力的移动设备。Pat如何才能开发出符合要求的应用程序? 协作
挑战(续) • Ronald 是Global Systems公司的一个软件开发人员。他正在为移动无线设备开发一个MIDlet 应用程序。Ronald 已经为这个MIDlet 应用程序写好了代码,需要使其能够运行。Ronald应该如何使这一MIDlet应用程序可以运行? 协作
挑战的答案 • Jim 应该采用J2ME技术为移动设备开发这一应用程序。因为J2ME 用到的API 很有限,适合为具有有限硬件资源的移动设备开发应用程序。 • Chris 应该利用 EDGE 平台开发这一移动应用程序,因为EDGE属于第三代无线技术,允许用户下载声音和视频文件之类的多媒体文件。 • Steve需要利用MIDP来为一个特定的应用程序创建模块。J2ME无线工具包( Wireless toolkit)支持MIDP,并且提供了创建移动应用程序所需的工具。为了能够使用J2ME无线工具包提供的工具,Steve需要在他的计算机上安装JDK-j2sdk1.4.2_07。 协作
挑战的答案(续) • Pat应该利用J2ME平台开发这一应用程序。为了能够开发出适用于指定配置的移动设备的应用程序,Pat需要用到J2ME平台提供的CLDC配置。CLDC提供了与设备无关的API。 • Ronald 需要完成如下任务,从而使MIDlet应用程序可以运行:Ronald needs to perform the following tasks to make the MIDlet application operational: • 编译 MIDlet • 预校验 MIDlet • 利用 Java 存档文件封装MIDlet • 混淆 MIDlet。 协作