深入了解MIDP-基础篇⑴
>作者:Ding
Email:[email protected]
本文主要介绍MIDP的基本概念。因为注意到国内的java站点介绍J2me的还比较少
,所以就写了本文。如果有什么不妥的地方,欢迎您email我,讨论商榷。
如您要转贴,请保留原出处,并勿做删改。谢谢。
本文是j2me的基本介绍系列文章的后续,在基础篇中,将主要介绍MIDP的组织
结构,和MIDlet的LifeCycle,并通过一个实例,编写一个MIDlet程序。本文的内
容如下:
1。MIDP中的类
2。MIDlet的LifeCycle
3。a MIDlet program
4。.JAR 与.Jad
5。put it together.
-----------------
0。MID(Mobile Information Device )的特性。
由于MID这类设备,在屏幕、内存、处理器等问题上有诸多限制,在手机或是
PDA等MID上开发应用程序必须要考虑一些技术上的特殊点。
下面给出一些设备的特性:
显示(display):96x54 (最小屏幕尺寸),1bit(最小色深,单色)
输入设备: one-handed keyboard(指ITU-T手机键盘)
two-handedkeyboard (指标准键盘,即QWERTY键盘)
触摸屏。
内存:128kb-MIDP组件。
8kb-应用程序生成的Persistent data(关于Persistent data,我
会在将来讲RMS时,详细说明,这里有个概念就行了)
32kb-java runtime环境。
网络: 双向的,无线的,间断的,带宽有限的网络
内核(kernel):至少要能运行KVM
还有很多软件上的特性,如读写non-volatile内存(就是掉电后不会失去内容
的内存,如flash)。读写无线设备接口的API,等等。
除了上诉技术上的问题,你还得注意你的程序要简单易用且稳定可靠。尤其是
可靠性,你开发的是通讯设备,用户是不能忍受程序有什么纰漏而影响到通话的。
你要牢记这一点。
1。MIDP的类库
如前文所述,sun在CLDC之上定义了MIDP(Mobile Information Device Pro-
file)层,用以提供对UI、永久存储介质(persistinace storage)、和网络等更
高层的(相对于CLDC)支持。那么,让我们来具体看看MIDP的类库。
MIDP由四个javax.microedition包组成,它们包括:
javax.microedition.rms-----关于永久存储介质(注:rms是Record Management
System的缩写)
javax.microedition.midlet--定义了MIDlet的框架,以及MIDlet与环境的交互。
javax.microedition.io------网络支持
javax.microedition.lcdui---UI(User Interface)(注:UI分为high-level和
low-level两种API。)
注:如果在加上语言和实用类(java.lang和java.util)则有六个。
2。MIDPlet
MIDP中定义的应用程序称为MIDlet。任何一个MIDlet都是javax.microedition.
midlet.MIDlet的子类,必须继承自javax.microedition.midlet.MIDlet。这很显而
易见。我们在J2SE中编过Applet,Applet就必须继承自java.applet.Applet。是不
是很类似。请看下图,说明了MIDlet的继承体系。
┌────────────────┐
│javax.microedition.midlet.MIDlet│
└────────────────┘
↓
┌──────┐
│MyMIDlet│
└──────┘
图1 MIDlet的继承体系
-----待续------