如何运用Java有效式开发出MIDPAPI

  移动信息设备简表 (MIDP) 适合类似于蜂窝电话和寻呼机这样的设备。MIDP,就象 KJava 一样,同样也建立在 CLDC 之上。MID 简表提供一种标准的运行时环境,允许在终端用户设备上动态地配置新的应用程序和服务。

  在本章中,我们将详细地讨论 MID 定义的七个软件包。我们还将建立一个 MIDP 应用程序示例。

UI 设计注意事项

  MIDP 包括一个低级的 UI API 和一个高级的 UI API.低级的 API 允许您完全访问一个设备的显示屏,也允许访问原始键和指针事件。然而,使用低级 API 时, 没有可用的用户界面控件。应用程序必须精确地绘制出按钮和其它所有的控件。

  相反,高级 API 提供简单的用户界面控件但不能直接访问原始的输入事件或显示屏。由于显示屏的尺寸和 MIDP 设备输入方法的差异,控件显得很抽象。MIDP 的实现确定了绘制控件的方法,也确定了如何管理用户输入。

  让我们在后面的章节里更进一步了解 MIDP 的软件包和类。

MIDP API

  MIDP 包含四个核心 CLDC 软件包 (java.lang、java.io、java.util 和 javax.microedition.io),另加下面的三个特定于 MIDP 的软件包:

  。 javax.microedition.lcdui

  。 javax.microedition.midlet

  。 javax.microedition.rms

  我们将在本章的后面部分详细介绍特定于 MIDP 软件包。除了上面新的软件包之外,MIDP 还向核心 CLDC 软件包添加了四个新类,如下所示。

  。 java.util.Timer —— 用于为后台线程中将来要执行的任务确定时间。

  。 java.util.TimerTask —— 被 java.util.Timer 类使用,用来为后台线程中稍后的执行定义任务。

  。 javax.microedition.io.HttpConnection —— 一个接口,为 HTTP 连接定义必要的方法和常量。

  。 java.lang.IllegalStateException —— 一个 RuntimeException, 指出在不合法或不合适的时间已经调用的一个方法。

MIDlet 介绍

  MIDlet 是一个 Java 类,它扩展了 javax.microedition.midlet.MIDlet 抽象类。实现 startApp()、pauseApp()和 destroyApp()方法,这些方法类似于 J2SE 的 java.applet.Applet 类中的 start()、stop()和 destroy()方法。

  除了扩充 javax.microedition.midlet.MIDlet 的主 MIDlet 类之外,一个 MIDP 应用程序通常还包括其它一些类,这些类能随它们的资源一起被打包成为 jar 文件 —— 称之为 MIDlet 套件。一个 MIDlet 套件中的不同 MIDlet 能共享 jar 文件的资源,尽管不同套件中的 MIDlets 不能直接相互作用。

  MIDlet 在应用程序生命周期中有三种可能的存在状态 —— 运行状态、暂停状态、销毁状态。运行状态,正如其名称所暗示的,意味着 MIDlet 正在运行中。这种状态始于 startApp 方法被调用时。在暂停状态中,MIDlet 持有的所有资源将被释放,但是它准备着再次被运行。调用 notifyPaused 方法时,MIDlet 处于暂停状态。在销毁状态中,MIDlet 已经永久地将其自身关闭,释放所有的资源,等待着废物清理程序的处理。它是通过 notifyDestroyed 方法来调用的。

  在接下来的两页中,我们来看一个简单的 HelloWorld MIDlet.

HelloWorld MIDlet

  与使用 KJava HelloWorld 应用程序一样,这个 MIDlet 也会在 MIDP 设备的显示屏上显示 "Hello World!" 和 Exit 按钮,按下该按钮会终止应用程序。

  HelloWorld.java 文件以下面的代码行开始,这些代码行导入稍后会在 HelloWorld 类中使用的类:

  import javax.microedition.midlet.MIDlet;

  import javax.microedition.lcdui.Command;

  import javax.microedition.lcdui.CommandListener;

  import javax.microedition.lcdui.Display;

  import javax.microedition.lcdui.Displayable;

  import javax.microedition.lcdui.Form;

  由于 HelloWorld 类是一个 MIDP 应用程序,它扩展了 MIDlet.它也实现 CommandListener 接口来处理事件:

  public class HelloWorld extends MIDlet implements CommandListener

文章来自永磁起重器http://www.shqzjx.com

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
J2ME WTK的内容和目录结构   2.1 安装过程   在说明WTK文件结构之前,让我们首先把它安装起来。   WTK的安装程序与普通程序一样简单,只有一点需要注意,由于WTK自身并没有附带Java的运行环境JDK,所以,在WTK安装之前你需要安装自己的JDK(我们这里选用的是JDK1.4.2)。   WTK会首先自动检测当前系统已有的Java虚拟机:   然后显示当前虚拟机所在路径   您在确定无误后,就可以继续了,最后安装成功后,您将得到一个包括多种实用工具的开发包。以下是安装显示的菜单项。   2.2 目录结构   无论哪个版本的WTK都会包括以下几个目录:   appdb目录: RMS数据库信息   apps目录: WTK自带的demo程序   bin目录: J2ME开发工具执行文件   docs目录: 各种帮助与说明文件   lib目录: J2ME程序库,Jar包与控制文件   session目录:性能监控保存信息   wtklib目录: JWTK主程序与模拟器外观   WTK是用来开发MIDP的,为了让MIDlet可以顺利编译和执行,WTK必须具有CLDC和MIDP的类库,WTK可以帮助我们省去额外安装调试这些类库的时间。而不同版本的WTK包含的程序库内容是不一样的,比如说2.0中包含了midpapi.jar, wma.jar, mmapi.jar,而在2.1中则变为了cldcapi10. jar, cldcapi11.jar, midpapi10.jar, midpapi20.jar, wma.jar以及mmapi.jar;在2.2中,wma.jar又细分为wma11.jar, wma20.jar。如果您在开发中需要某个特定的jar包而当前的WTK版本又没有时,您可以简单把这个jar包拷贝如当前WTK的lib文件夹即可。   apps目录中包括了许多Demo程序,为我们演示了J2ME的一些技术实例,这些往往是很好的学习材料。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值