j2me 笔记一
废话少说,自我的总结,标注笔记要纲。也算是自我学习j2me,做做笔记吧。
学习材料来自:
http://www.j2medev.com/Article/Class1/Class11/200506/278.html
1.1 J2ME
J2ME是SUN公司针对嵌入式、消费类电子产品推出的开发平台,
与J2SE和J2EE共同组成Java技术的三个重要的分支。
J2ME实际上是一系列规范的集合,由JCP组织制定相关的Java Specification Request(JSR)并发布,
各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK测试,这样确保兼容性。
1.2 J2ME平台体系结构
J2ME平台由配置(Configuration)和简表(Profile)构成的。
配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java虚拟机。
简表是针对一系列设备提供的开发包集合。
可选包(Optional Package),它是针对特定设备提供的类库,
如某些设备是支持蓝牙的, 针对此功能J2ME中制定了JSR82(Bluetooth API)提供了对蓝牙的支持。
J2ME中有两个最主要的配置,
a.Connected Limited Devices Configuration(CLDC)
b.Connected Devices Configuration(CDC)。
CLDC主要针对那些资源非常受限的设备比如手机、PDA、双工寻呼机等。
CDC主要面对那些家电产品,比如机顶盒、汽车导航系统等。
简表是以配置为基础的,
Mobile Information Devices Profile(MIDP)就是CLDC上层的重要简表。
1.3 MIDlet 程序模型
MIDP中定义了一种新的应用程序模型MIDlet。
被Application Management Software(AMS)管理的。
AMS负责MIDlet的安装、下载、运行和删除等操作。
MIDlet向AMS通信通知应用管理软件自己状态的变化,
MIDlet有三个状态,分别是pause、active和destroyed。
用一张图很好表达了状态转换。
MiDlet的程序模型框架如下:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloWorld extends MIDlet{
private Display display;
//构造函数
public HelloWorld(){
display = Display.getDisplay(this);
System.out.println("Constructor");
}
public void startApp(){
System.out.println("startApp is called.");
Form f = new Form("HelloTest");
display.setCurrent(f);
}
public void pauseApp(){
System.out.println("pauseApp is called.");
}
public void destroyApp(boolean unconditional){
System.out.println("destroyApp is called.");
}
}
编译该程序后运行,控制台上输出:Constructor startApp is called.
退出该程序时,控制台就会输出: destroyApp is called.