编辑: hgtbkwd | 2019-09-08 |
本章介绍MIDP应用程序环境和开发流程及程序的发布. * 信控系计算机应用教研室 兰州石化学院 Page * MIDP应用程序环境 3.1 MIDP程序的基本框架 3.2 MIDlet程序的生命周期 3.3 OTA发布程序 3.4 小结 3.5 * 信控系计算机应用教研室 兰州石化学院 Page * 3.1 MIDP应用程序环境 MIDP程序为移动信息设备提供了特定的功能和特性.这些功能和特性是由以下三个部分提供的. * 信控系计算机应用教研室 兰州石化学院 Page * (1)J2ME 平台,包括CVM和基本类库.(2)MIDP Profile 提供的相关API. * 信控系计算机应用教研室 兰州石化学院 Page * (3)应用程序管理软件(Application Management Software,AMS)在设备环境内管理应用程序的运行和状态转换. * 信控系计算机应用教研室 兰州石化学院 Page * 应用程序管理软件(AMS)也叫做Java应用程序管理器(Java Application Manager,JAM),它负责在设备的运行环境内,管理应用程序的安装、删除和升级. * 信控系计算机应用教研室 兰州石化学院 Page * MIDP规范中定义了AMS必须提供的功能,制造商可以根据规范来定义自己的AMS.AMS的工作模型如图3-1所示.它提供如下功能. * 信控系计算机应用教研室 兰州石化学院 Page * 图3-1 AMS工作模型 * 信控系计算机应用教研室 兰州石化学院 Page * (1)安装MIDlet套件. (2)升级MIDlet套件. (3)删除MIDlet套件. * 信控系计算机应用教研室 兰州石化学院 Page * 3.2 MIDP程序的基本框架 MIDlet是J2ME的Java类,它扩展了javax.microedition.MIDlet的抽象类.实现类的startApp()、pauseApp()和destroyApp()方法. * 信控系计算机应用教研室 兰州石化学院 Page * 除了继承MIDlet这个类外,一个MIDlet程序还会包含其他的类,这些类能和其他的资源一起被打包成JAR文件,所以被称做MIDlet Suite,中文叫MIDlet套件. * 信控系计算机应用教研室 兰州石化学院 Page * 一个MIDlet套件中的不同的MIDlet程序能够共享JAR文件中的资源.不同MIDlet套件中MIDlet程序不能直接相互作用. * 信控系计算机应用教研室 兰州石化学院 Page * 每个MIDlet程序都会有如下的基本结构:import javax.mircoedition.midlet.*;
public class MyMIDlet extends MIDlet{ * 信控系计算机应用教研室 兰州石化学院 Page * public MyMIDlet(默认的构造方法 } public void startApp(进入活动状态 } * 信控系计算机应用教研室 兰州石化学院 Page * public void pauseApp(进入暂停状态 } public void destroyApp(boolean uncondition){ //进入销毁状态 }} * 信控系计算机应用教研室 兰州石化学院 Page * 3.3 MIDlet程序的生命周期 MIDlet程序在生命周期中有3种可能存在的状态:运行状态、暂停状态和销毁状态. * 信控系计算机应用教研室 兰州石化学院 Page * 图3-2 MIDlet的生命周期 * 信控系计算机应用教研室 兰州石化学院 Page * 3.4 OTA发布程序 3.4.1 OTA 的介绍 虽然现在MIDP设备大部分都预装了几个MIDP Suite,但对于用户而言,总是希望得到最新的、最实用的MIDP Suite. * 信控系计算机应用教研室 兰州石化学院 Page * 就需要MIDP设备提供的下载机制.以前最可行的方法就是利用与电脑的串行电缆连接,从电脑上下载MIDP Suite.但现在最流行的方式就是OTA方式. * 信控系计算机应用教研室 兰州石化学院 Page * 用户可以在任何无线网络覆盖的地方下载自己喜欢的MIDP Suite,这些MIDP Suite 存放在支持OTA方式的许多服务器上. * 信控系计算机应用教研室 兰州石化学院 Page * MIDP 2.0中规定,OTA下载的规范是HTTP.例如MIDP设备上的WWW、WAP或i-Mode 都是基于HTTP的. * 信控系计算机应用教研室 兰州石化学院 Page * 因为像WAP这种协议可能不是基于IP的,在MIDP设备与服务器中间需要中转站等转接设备,为了便于进一步讲解,我们将忽略这些中转站的存在,而把OTA看作是MIDP设备与服务器之间的直接联系. * 信控系计算机应用教研室 兰州石化学院 Page * 3.4.2 MIDlet程序属性设置 如果希望通过OTA发布MIDlet程序,就需要对JAD文件进行配置 . * 信控系计算机应用教研室 兰州石化学院 Page * 图3-3 更改URL属性 * 信控系计算机应用教研室 兰州石化学院 Page * 图3-4 程序打包 * 信控系计算机应用教研室 兰州石化学院 Page * 3.4.3 在服务器上发布程序 要使手机用户可以通过OTA方式下载程序,则需要在服务器上放置刚才打包的手机程序 . * 信控系计算机应用教研室 兰州石化学院 Page * 图3-5 正常的显示页面 * 信控系计算机应用教研室 兰州石化学院 Page * 3.4.4 通过OTA安装MIDlet程序 * 信控系计算机应用教研室 兰州石化学院 Page * 图3-6 启动界面 * 信控系计算机应用教研室 兰州石化学院 Page * 图3-7 启动OTA下载 * 信控系计算机应用教研室 兰州石化学院 Page * 图3-8 输入下载网址 * 信控系计算机应用教研室 兰州石化学院 Page * 图3-9 提示信息 * 信控系计算机应用教研室 兰州石化学院 Page * 图3-10 安装成功 * 信控系计算机应用教研室 兰州石化学院 Page * 3.5 小结本章主要讲述了MIDP程序的基本框架和生命周期,通过使用模拟器详细介绍了如何在服务器上发布程序和如何在手机上下载程序并正确安装.这样,J2ME的开发配置就介绍完了,从下一章开始讲解具体手机程序的开发. * 信控系计算机应用教研室 兰州石化学院 Page * 第4章 高级用户界面及事件处理 * 信控系计算机应用教研室 兰州石化学院 Page * MIDP用户界面API的结构 4.1 Command和高级事件处理 4.2 高层用户界面 4.3 基本控件编程实例 4.4 小结 4.5 * 信控系计算机应用教研室 兰州石化学院 Page * 4.1 MIDP用户界面API的结构 图形用户界面是应用程序和用户交互的接口,一个好的用户界面应该做到:操作方便、易懂、美观. * 信控系计算机应用教研室 兰州石化学院 Page * 它通常包括图形和文字.手机的性能特点决定了手机平台无法实现类似Windows的用户界面. * 信控系计算机应用教研室 兰州石化学院 Page * MIDP提供了一套完整的用户界面接口,全部定义在javax.microedition.lcdui包中.图4-1所示为用户界面类的阶层体系. * 信控系计算机应用教研室 兰州石化学院 Page * 图4-1 MIDP用户界面类的体系 * 信控系计算机应用教研室 兰州石化学院 Page * Displayable的子类有两种.(1)Canvas (2)Screen * 信控系计算机应用教研室 兰州石化学院 Page * 4.2 Command和高级事件处理 在Java程序中,实现和用户交互功能的控件都是通过事件来处理的,这就需要指定控件所用的监听器. * 信控系计算机应用教研室 兰州石化学院 Page * javax.microedition.lcdui包中定义了Command和CommandListener,使用它们可以很好的处理高级事件.一般是指按钮事件,比如用户按下键盘某键. * 信控系计算机应用教研室 兰州石化学院 Page * Command类用于实现应用程序的特定操作.它必须被添加到一个Displayable对象上,当这个Displayable被显示时,所有相关的Command都会显示在手机界面下方的左右两侧. * 信控系计算机应用教研室 兰州石化学院 Page * 当用户选择一个Command后,与当前Displayable对象相关的CommandListener就会自动被调用,就可以在CommandListener对象的CommandAction(Command c,Dispayable d)方法中处理命令. * 信控系计算机应用教研室 兰州石化学院 Page * 创建新的Command 对象需要调用Command类的构造方法,其构造方法语法如下:new Command (Lables l,Type t,Priority p)其中Lables表示在屏幕上显示的文字. * 信控系计算机应用教研室 兰州石化学院 Page * Type指定了Command对象的类型,具体类型如表4-1所示,参数 Priority 定义了Command对象的重要指数,数值越小表示越重要,数值越小的命令对象会安排在屏幕的左边. * 信控系计算机应用教研室 兰州石化学院 Page * 当创建了很多命令对象的时候,数值大的会安排在右边的菜单中,当数值相同的时候,会使用方法本身默认的数值. * 信控系计算机应用教研室 兰州石化学院 Page * 表4-1命令类型表 * 信控系计算机应用教研室 兰州石化学院 Page * 图4-2 多个Command合并到一个菜单 * 信控系计算机应用教研室 兰州石化学院 Page * 4.3 高层用户界面 高层用户界面API是为了那些客户组件运行在移动信息设备上的商业程序设计的.对这些应用程序而言,设备间的可移植性非常重要. * 信控系计算机应用教研室 兰州石化学院 Page * 为了达到这样的可移植性,高层的用户界面API使用了更高的抽象,而且极少提供观感的控制.对高层MIDP用户界面API而言,这就使设备可以使用本地的用户界面观感. * 信控系计算机应用教研室 兰州石化学院 Page * 这意味着当一个应用程序使用高层API编写........