JAVA j2me课件第二讲
J2ME讲稿
![J2ME讲稿](https://img.taocdn.com/s3/m/e8391514b7360b4c2e3f64dd.png)
J2ME一引言无线Java是开放技术,其相关标准都是由业界共同制定的,可以在不同的芯片和手机操作系统上实现(有统一的兼容性测试工具确保这些实现的标准符合性和兼容性),Java2平台包括三个版本,每个版本都针对不同的应用群,这三个版本具体为:✧Java2企业版(Java 2 Enterprise Edition J2EE)――用于大型的可升级的商务服务应用✧Java2标准版(Java 2 Standard Edition J2SE)――用于传统且成熟的桌面应用✧Java2小型版(Java 2 Micro Edition J2ME)――用于新一代的应用程序,主要面向消费类电子产品和嵌入式设备J2ME是Sun Microsystems Inc.针对市场日渐壮大的信息家电设备,在2000年推出的微型Java技术。
K Virtual Machine(KVM)是J2ME为了在有限的系统资源下,运行Java应用程序而设计出来的虚拟机。
对内存的需求量在Kilo Bytes等级,故此命名。
在实际操作中,KVM对于应用平台内存的需求量最少128Kbytes,在这个存储空间中包括了Java虚拟机、配置层所定义的最低需求、Java类库和程序运行所需的Heap空间。
J2ME是Sun Microsystems Inc.针对市场日渐壮大的信息家电设备,在2000年推出的微型Java技术。
K Virtual Machine(KVM)是J2ME为了在有限的系统资源下运行Java应用程序而设计出来的虚拟机。
对内存的需求量在Kilo Bytes等级,故此命名。
在实际操作中,KVM对于应用平台内存的需求量最少128Kbytes,在这个存储空间中包括了Java虚拟机、配置层所定义的最低需求、Java类库和程序运行所需的Heap空间。
二J2ME体系结构J2ME开创了无线应用的新时代,比如:多用户网络游戏、移动商务、企业的client/server应用。
J2ME程序设计实例教程(第02章)
![J2ME程序设计实例教程(第02章)](https://img.taocdn.com/s3/m/77c8e0f904a1b0717fd5dd29.png)
2.1 知识点——RecordEnumeration接口
RecordEnumeration接口定义了遍历记录枚举集 合中记录的方法。 常用方法:
public public public public public public public public public public
Form常用方法:
public public public public public public public
Form(String title) Form(String title, Item[] items) int append(Item item) void delete(int itemNum) void deleteAll) Item get(int itemNum) int size()
2.1 知识点——RecordStore类
打开、关闭、删除记录存储区的方法:
public static RecordStore openRecordStore(String name, boolean creat) public void closeRecordStore() public static void deleteRecordStore(String name)
1.
2.4代码实现 ——运行效果
各个功能的运行效果参见教材P43,图2-5
2.4代码实现 ——代码分析
教材P46~74
2.5 实践
动手实践是最好的老师。本章设计的课程表软件并 不完美,还有很多可以改进的地方。下面给出几点改进 意见,仅供参考。
添加图标 作息时间表 更改课程表浏览界面
J2ME程序设计实例教程(第02章)
![J2ME程序设计实例教程(第02章)](https://img.taocdn.com/s3/m/77c8e0f904a1b0717fd5dd29.png)
2.1 知识点——记录管理系统
2.1 知识点——记录管理系统
RecordStore类创建的对象表示一个记录存储区, 一个记录存储区总是与一个MIDlet套件相关联。 在一个MIDlet套件中可以有多个记录存储区,每 个记录存储区都有一个唯一的名字,记录存储区被 MIDlet套件中的所有MIDlet共享。 RecordStore类提供了管理、操作记录存储区的 各种方法。
教材P28,例2-2演示了List组件的使用
2.1 知识点——高级组件(Alert )
Alert对象表示一个消息对话框,用于显示错误或者 其他状态信息。 常用方法:
public
Alert(String title) public Alert(String title, String alertText, Image img, AlertType type) public void setTimeout(int timeout) public void setString(String text) public void setType(AlertType alertType)
参考教材P38~39代码
2.1 知识点——遍历记录存储器
记录存储区对象(RecordStore)调用 RecordEnumeration()方法,将返回一个实现了 RecordEnumeration接口的记录枚举集合。 RecordEnumeration接口定义了遍历记录枚举集合中 记录的方法。
2.1 知识点——遍历记录存储器
J2ME程序设计实例教程
第02章 电子课程表
第2章 电子课程表
本章将设计一个电子课程表软件,该软件能够运行 在支持MIDP2.0的移动信息设备上。通过设计该软件, 学习MIDP图形用户界面编程和RMS的使用。 2.1 知识点 2.2 设计要求 2.3 类设计 2.4 代码实现 2.5 实践
J2EE的概念与体系结构 ppt课件
![J2EE的概念与体系结构 ppt课件](https://img.taocdn.com/s3/m/b58f4d0caaea998fcc220e84.png)
ppt课件
12
J2EE的发展
2000.9,Java升级到1.3版,J2XE 1.3。 2001.7,Java升级到1.4版,J2XE 1.4。 2005年8月, Java升级到1.5版,SUN的伙伴 们将J2EE 1.5改名为java EE 5,以前J2EE版 本还是称为J2EE。
ppt课件
ppt课件
21
J2EE的框架
四类容器 EJB容器 Web容器 Application Client容器 Applet容器
ppt课件
22
JAF StAX JAXR
SAAJ
JACC
ppt课件
23
ppt课件
24
ppt课件
25
ppt课件
26
J2EE的框架
ppt课件 8ຫໍສະໝຸດ J2EE带来的效果
通常的瘦客户端多层次应用程序难于编写,因 为它们要设计多行复杂代码,用于处理事务、 状态管理、多线程、资源池以及其它复杂的低 层细节。
ppt课件
9
J2EE带来的效果
基于组件和独立于平台的J2EE体系结构 使得应用程序容易编写
业务逻辑被组织成可重用的组件。 J2EE 服务器以针对每种组件类型的容器形 式提供低层服务,可以集中精力解决手边的 业务问题。
ppt课件
7
J2EE是什么
J2EE是一套使用Java进行企业级Web应用开发的事实 上的工业标准。 J2EE 是一种平台规范,该平台提供了一套基于组件的 方法来设计、开发、装配及部署企业应用。 J2EE 平台提供了多层分布式的应用模型、重新利用组 件的能力、统一安全的模式以及灵活的处理控制能力。
Java2实用教程课件(第2章)
![Java2实用教程课件(第2章)](https://img.taocdn.com/s3/m/10dcb7884128915f804d2b160b4e767f5bcf8060.png)
int x=(int)23.89; long y=(long)34.98F; 如果输出x,y的值将是23和34,强制转换运算可能导致精度的损失
例子2 (效果如图2.2)
public class Example2_2 {
public static void main (String args[ ]) { int c=2200;
变量 使用关键字char来定义字符变量,可 以一次定义几个,定义时也可以赋给初值:
char x='A',tom='爽',jiafei; 对于char型变量,内存分配给2个字节,占16
位,最高位不用来表示符号 。
例子1(效果如图2.1)
public class Example2_1 { public static void main (String args[ ])
{ char chinaWord='你',japanWord='ぁ'; int p1=36328,p2=38358; System.out.println(“汉字\‘你\’在unicode表中的顺序位
置:"+(int)chinaWord); System.out.println("日语\'ぁ\'在unicode表中的顺序位 置:"+(int)japanWord); System.out.println("unicode表中第20328位置上的字符是:"+(char)p1); System.out.println("unicode表中第12358位置上的字符是:"+(char)p2); } }
J2me-lecture02
![J2me-lecture02](https://img.taocdn.com/s3/m/3de8fe81e53a580216fcfef3.png)
MIDlet基础 基础
JAD属性的说明 属性的说明
如果JAR manifest 未提供下列属性,JAD 描述文件中则 必须提供:
MIDlet-<n> — 略 MicroEdition-Profile — 略 MicroEdition-Configuration — 略
MIDlet基础 基础
JAD属性的说明 属性的说明
mainifest.mf
MIDlet-1: HelloWorld 01, HelloWorld .png, HelloWorld MIDlet-2: HelloWorld 02, HelloWorld 02.png, HelloWorld 02 MIDlet-Name: HelloWorld MIDlet-Version: 1.0 MIDlet-Vendor: Unknown MicroEdition-Profile: MIDP-2.0 MicroEdition-Configuration: CLDC-1.1
MIDlet基础 基础
�
MANIFEST文件— 用来描述MIDlet Suite的配置,如:名称,版本,开发商等; JAD 描述文件为纯文本文件,文件扩展名为.mf. JAD文件 JAD 描述文件为纯文本文件,文件扩展名为.jad; 说明具体的运行配置,以及Jar文件所在的位置的信息.
MIDlet基础 基础
Example of MANIFEST文件 文件
MIDlet基础 基础
MANIFEST 属性的说明
可选属性: 可选属性
7.
8.
9.
10.
11.
MIDlet-Push-<n> — 与javax.microedition.io.PushRegistry 有关, 详见Push 章. MIDlet-Install-Notify —向此URL 发送一个POST 请求,报告此 MIDlet Suite的安装状况,比如是全新安装还是升级安装. MIDlet-Delete-Notify — 向此URL 发送一个POST 请求,报告此 MIDlet Suite的删除状况. MIDlet-Delete-Confirm — 当用户选择删除MIDlet Suite 时,将给 予用户的提示信息. 应用程序专用的任何属性 — 不以"MIDlet-"或"MicroEdition-"开 头
j2me_02
![j2me_02](https://img.taocdn.com/s3/m/506c988dcc22bcd126ff0c8d.png)
J2ME程序的基本结构 J2ME程序的基本结构
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 public void startApp(){ display.setCurrent(t); } public void pauseApp(){ } public void destroyApp(boolean unconditional){ } public void commandAction(Command c, Displayable s){ if (c==exitCommand){ destroyApp(false); notifyDestroyed(); }
J2ME开发包 J2ME开发包
J2ME开发包
提供了与J2ME开发有关的程序 没有包含软件包J2SE SDK中已有的程序 Sun提供了J2ME Wireless Toolkit开发包 不同的手机厂商提供了其相应的开发包,如 Nokia、Seimens等
模拟器
通过模拟器来对应用程序进行开发和测 试,降低开发难度,简化开发过程,提 高开发效率,减轻开发者负担。 在程序开发阶段,所有的工作都是在模 拟器上进行的,只有所有程序在模拟器 上测试通过之后才最终在实际设备上运 行、测试。
测试-c:\WTK21\bin\emulator -Xjam
J2ME程序开发流程 J2ME程序开发流程
发布-OTA(空中下载)
Fabu.exe
J2ME程序的基本结构 J2ME程序的基本结构
在J2SE中,程序或者是applet或者是 application。而在J2ME中,程序叫做 MIDlet。 所有程序都要继承自类MIDlet,并实现 类MIDlet中的抽象方法
J2ME程序开发流程 J2ME程序开发流程
2-J2ME 用户界面
![2-J2ME 用户界面](https://img.taocdn.com/s3/m/52c2e7f4f61fb7360b4c6502.png)
2011年3月2日
23
TextBox方法 方法
存取、删除、插入、 存取、删除、插入、替换等操作 public void setString(String text) public String getString() public void setConstraints(int constraints) public int getConstraints() public void delete(int offset, int length); public void insert(char[] data, int offset, int length, int position); public void insert(String src, int position); public void setChars(char[] data, int offset, int length);
• Choice.EXCLUSIVE(单选)类型的list • Choice.IMPLICIT(隐含式菜单)类型的list • Choice.MULTIPLE(多选)类型的list
下面的语句生成一个EXCLUSIVE类型的 类型的list,标题是 下面的语句生成一个 类型的 , " Exclusive"的空列表。 的空列表。 的空列表 List list = new List("Exclusive", Choice.EXCLUSIVE);
public int append(String stringPart,Image imagePart) public void insert(int elementNum,String stringPart,Image imagePart) public void set(int elementNum,String stringPart,Image imagePart) public void delete(int elementNum) public String getString(int index); public Image getImage(int index); public int getSelectedIndex( ) public int getSelectedFlags(boolean[] selectedArray_return)
J2ME初级卡通学习2
![J2ME初级卡通学习2](https://img.taocdn.com/s3/m/79113c69a45177232f60a23f.png)
在这里设定 Jad 文件的内容。下表是各项目设定内容的总结。这里分别在「MIDlet-Description」 与「Media-price」里设定「helloworld」与「free」,设定结束后按「OK」键。
若 Message Panel 里出现「JAD File Creation Completed」的提示,则 Jad 文件就制作成功了!
正是这样。程序块中包含程序块。程序块由语句或者程序块构成。而 Java 程序就是由程序 块构成的。
♦2. 模板的准备
接下来我们就使用模板进行编程。先对下面的源代码进行复制。 是。已经复制好了。 恩。下面让我们来看看这个模板的源代码
恩, 只能看懂两语句 「从这儿以下写程序」 「从这儿以上写程序」 其他的都看不懂。 。 和 , 。 是吗,这个模板是用于编写简单的终端 Java 程序的。在「从这儿以下写程序」和「从这 儿以上写程序」这两行中间自己写 Java 程序。 其他部分显示的是什么内容呢?
接下来会出现「Windows 无法为这个设备找到一个驱动程序」,这个没关系,点击继续按键。
然后在这里点击「完成」,结束第一个驱动的安装。
安装完第一个驱动后,电脑会自动找到第二个,按照第一个驱动的安装方法以同样的顺序进行安 装。
画面上出现「在下列搜索地址中搜索合适的驱动程序」「包含下列搜索地址」,指定安装第一个 驱动的文件夹。这里指定「c:\javatool\USB Driver\WinXP_2000」。点击「下一步」。
下面我们开始制作 Jar 文件。首先点击「CreateJAR„」。
设定「MIDlet-Name」「MIDlet-Version」「MIDlet-Vendor」。下表是各项目设定内容的总结。 这里分别在「MIDlet-Name」、「MIDlet-Version」和「MIDlet-Vendor」里设定「helloworld」、 「1.0」和「NEC」。设定完后按「OK」键。
j2me讲义
![j2me讲义](https://img.taocdn.com/s3/m/89b6696648d7c1c708a145d6.png)
希望本教程能够助你拨开移动开发的迷雾,走入这一崭新的领域。
移动应用,未来属于你和我。
前言不知道你是否曾经有过这样的经历:一个人百无聊赖的靠在沙发上,摆弄着你的手机,企图从你的移动终端上找到除了打电话和收发短信之外,别的有趣的功能。
是的,手机等智能移动终端早已经融入了我们的生活,并成为我们不可或缺的重要工具。
每每看到有关手机销售量进一步增长的消息的时候,似乎总有什么在刺激着身为开发者的你和我的神经。
在庞大的设备群等潜在因素面前,人们似乎又看到了.net 曾经的美好时光。
然而正是被人们广泛看好的移动增值应用,却是个烫手的山芋。
很多人在徘徊。
难怪某位设备制造商的朋友在一次交流会上,半开玩笑的说,在卖场里是不会有人利用赠送java 增值应用来促销手机的,因为效果远不如“买一部手机送一斤大米”来的好。
事实证明,好的前景不会自动的变成真正的商业应用。
对年轻的移动增值产业来说,机会和陷阱同时存在。
处处充满了选择。
所以在你踏入这一新兴领域之前,请仔细思考你的机会和风险。
不过令人鼓舞的是,我们已经看到一批很有特点的移动应用供应商正在这条道路上努力的探索着,并且有些已经开始盈利。
希望你的加入能给移动应用带来新鲜的元素。
回到开发者的角度,你需要知道何时使用什么样的技术,并且你的应用需要有足够的吸引力。
本教程是讲解基于JAVA 的J2ME 技术的。
这项技术设计的初衷是为了解决在不同移动终端上运行相同的JAVA 应用。
就它的本意来说是个好点子,尽管实际部署中你还需要很多技巧。
从语言这个层次上讲,JAVA 相较C++拥有与生俱来的开发高效率,但执行效率较低的特点。
关于选择他们的争论可以持续好几个星期。
J2ME 运行效率低的问题往往被拿出来受到指责,不得不指出的是J2ME(准确的说是MIDP1.0)是广泛部署在手机上的第一代智能开发平台,很少有手机不支持这一平台。
也正是因为推出时间很早,伴随着较早一批设备本身的硬件限制,J2ME并没有完全的体现出智能应用的价值。
j2me第2章
![j2me第2章](https://img.taocdn.com/s3/m/8a9f924e767f5acfa1c7cd8f.png)
完整的BREW解决方案始于无线设备 上驻留的开放、标准应用程序执行平台。
BREW并不仅仅是为PC或PDA开发的 产品的缩减版本,它比其他应用程序平台 或成熟的操作系统小许多倍。
2.5.4
Mophun
Mophun是瑞典Synergenix公司于2002 年开发出的全新移动游戏平台。
Mophun的发音类似More Fun,主要 就是针对游戏平台而设计的游戏语言,采 用C语言开发游戏,运行起来最稳定,速 度上也比Java VM快许多倍(厂商宣称快 100倍),可发挥手机硬件的极限。
早在三四年前,高通在自己做手机时, 就开始研发BREW技术,为此每年要花去 数千万美元。
自手机部门转卖给日本京瓷公司以后, 高通专门成立了一个基于BREW研发的互 联网服务公司。2001年1月31日,BREW平 台正式推出。
BREW运行时环境是一个较薄的软件 接口层,位于芯片系统软件和应用程序间 的无线设备上,使最终用户可以无线下载 并在BREW设备上运行程序。BREW具有 较高的闪存和RAM使用效率。
图2-28
选择J2ME Midlet Suite
图2-29
设置工程路径
图2-30
设置类的名称
图2-31
设置运行
图2-32
运行结果
2.5 手机游戏开发平台介绍
就手机游戏开发平台而言,目前的平 台有多种,它们各有特色,本节介绍几个 目前较流行的平台。
2.5.1 Microsoft Smartphone
使用WTK搭建J2ME的开发环境,必 须首先安装标准的Java开发环境JDK,如 jdk1.4.2。
目前Sun公司提供的WTK版本有WTK 1.04、WTK 2.0、WTK 2.1和WTK 2.2,开 发人员通常可以根据自己的目标选择安装 其中之一。
02郭克华j2me讲义
![02郭克华j2me讲义](https://img.taocdn.com/s3/m/aba961f3f90f76c661371a79.png)
郭克华J2ME移动开发实战教学视频 郭克华J2ME移动开发实战教学视频 J2ME
oy Java!
多个按钮加入界面的排布规律
guokehua@ /guokh
不同种类的按钮,WTK优先级排序 ITEM, SCREEN,OK, 不同种类的按钮, 优先级排序: 优先级排序 HELP, BACK, EXIT ,CANCEL , STOP, 优先级高按钮优先显 示在上方 同一种类的按钮,在构造函数内划分优先级 数字越小 同一种类的按钮,在构造函数内划分优先级,数字越小 越优先 BACK,CANCEL, EXIT, STOP倾向于抢占左方,优先顺序 倾向于抢占左方, 倾向于抢占左方 : BACK,CANCEL, EXIT, STOP 注意:只是在 内满足这个规律,其他模拟器可能不相 注意 只是在WTK内满足这个规律 其他模拟器可能不相 只是在 内满足这个规律 同
oy Java!
结合文档看看CLDC包和 包和MIDP包 结合文档看看 包和 包
guokehua@ /guokh
CLDC(1.1): java.io---标准 标准JavaIO包,J2SEIO包的子集 标准 包 包的子集 ng——核心语言包,J2SE核心语言包的子集 核心语言包, 核心语言包 核心语言包的子集 java.util——工具包 工具包 javax.microedition.io——CLDC通用连接框架类和接口。 通用连接框架类和接口。 通用连接框架类和接口 MIDP(2.0+) javax.microedition.midlet——MIDlet类包 只包含一个 类包, 类包 只包含一个MIDlet类可作为所有 类可作为所有 MIDlet的父类 的父类 javax.microedition.lcdui——界面类包 对GUI组件提供支持, 界面类包,对 组件提供支持 组件提供支持, 界面类包 javax.microedition.rms——记录管理系统 支持数据库系统的不同类和接 记录管理系统,支持数据库系统的不同类和接 记录管理系统 它们随后存储和检索MIDlet所用的数据 口,它们随后存储和检索 所用的数据 javax.microedition.lcdui.game——Game API,MIDP2.0游戏编程扩展 游戏编程扩展 , 游戏 javax.microedition.media——多媒体类包 多媒体类包 javax.microedition.media.control——多媒体控制类包 多媒体控制类包 javax.microedition.pki——数字签名类包 数字签名类包 另外还有javax.microedition.io包中的一部分类。 包中的一部分类。 另外还有 包中的一部分类
第二章 J2ME高级用户界面
![第二章 J2ME高级用户界面](https://img.taocdn.com/s3/m/33452aa2d1f34693daef3eb6.png)
高级用户界面
主讲:
叶福军
本章内容
1. 回顾J2ME的安装、配置工程 2. 高级用户界面设计概述 3. 用户界面的管理 4. Command及高级事件 Homework1
1. 高级屏幕类 Homework2 1. 屏幕表单(Form类)及其组件与事件 Homework3
主讲: 叶福军
第一讲 讲课思路(框架、Command、 CommandListener)
主讲:
叶福军
第二讲 讲课思路 List、TextBox、Alert
1. 创建MIDletListEXCLUSIVE、MIDletListIMPLICIT、 MIDletListMULTIPLE,讲解List的构造方法、操作方法(append、 delete、set) 完善三个文件,实现不同类型的List的按钮事件驱动 创建MIDletTextBox,讲解TextBox类 创建MIDletAlert,讲解Alert类 实战,讲List、Alert、TextBox的三个例子串起来
主讲: 叶福军
2 高级用户界面设计概述
MIDP用户界面 高级用户界面:应用在移动信息设备上的商业程序。 比如电话通讯录、手机短信、网络聊天室等 Screen 低级用户界面:应用在需要对显示屏精确控制的游 戏程序。 Canvas
主讲:
叶福军
高级用户界面的类层次 javax.microedition.lcdui
主讲:
叶福军
Displayable(可显示类)的其他作用
1. addCommand(Command cmd) 在Displayable对象上添加一个Command对象,也就是说,在 Form List TextBox 等上可添加Command对象 2. removeCommand(Command cmd) 在Displayable对象上移除一个Command对象 3. setCommandListener(CommandListener l) 设置软键事件监听器,绑定在Form/List/TextBox/Alert等, 注意与J2SE的区别 4. setTicker(Ticker ticker) 设置Displayable对象的滚动条 5. setTitle(String s) 设置Displayable对象设置标题
J2ME移动软件程序设计第2章
![J2ME移动软件程序设计第2章](https://img.taocdn.com/s3/m/696642380b4c2e3f5727638d.png)
china_54@
J2ME移动软件程序设计
Eclipse+EclipseME的安装和配置 要 在 Eclipse 中 开 发 J2ME 程 序 , 必 须 安 装 一 个 Eclipse的J2ME插件—EclipseME。 EclipseME是一个非常出色的用于开发MIDP应用程 序的第三方插件。 上 述 软 件 可 以 分 别 从 和 下载。
china_54@
J2ME移动软件程序设计
Eclipse的安装 直接解压缩Eclipse的压缩文件到Eclipse即可完成安装。 EclipseME的安装和配置 运行 Eclipse ,选择【help】→【Software Updates】→ 【Find and Install】→【search for features install】, 然后选择【new Archived Site】找到EclipseME发布包的 目录,按照系统提示最后完成EclipseME插件的安装。 Eclipse和EclipseME之间版本兼容 注意:在选择 Eclipse 和 EclipseME 的发布包之前,请首 先阅读官方文档,确保 Eclipse 和 EclipseME 之间版本兼 容,以避免出现安装后不能正常使用的问题。
china_54@
J2ME移动软件程序设计 2.2一个简单的Midlet应用程序
2.2.1建立一个工程项目步骤
在开发 J2ME程序之前要先建立一个项目工程,然后在这 个工程里完成对程序的编码、调试和运行。 在项目中添加MIDlet。 指定包。
china_54@
2.1.2安装J2SDK
在计算机上先安装J2SE,然后再安装各种版本的额外 扩充类库,这样才能成功地开发各种不同功能的 Java 程序。 设置JDK的环境变量 : Path变量中加上JDK的bin目录C:\jdk1.4\bin
002 J2ME的体系结构
![002 J2ME的体系结构](https://img.taocdn.com/s3/m/ef34640bbb68a98271fefacf.png)
2.2 已定义的配置层与简表层 2.2.1 配置 CDC 连接设备配置(Connected Device Configuration)目标设备总内存大于2MB,其 Configuration 2MB 内存可以为RAM、ROM或是Flash闪存,其虚 拟机支持Java2虚拟机的全部功能。 注意:CVM虽然在功能上支 持Java2虚拟机的全部功能, 但CVM做了重新的设计。
2006
11
第2章 J2ME的体系结构 J2ME的体系结构
2.2 已定义的配置层与简表层
2.2.2 简表 MID Profile 移动信息设备描述(Mobile Information Device Profile, MIDP) 移动信息设备的特性: •显示96×54 最小屏幕尺寸 •色深1bit最小色深单色
2006
17
第2章 J2ME的体系结构 J2ME的体系结构
小测验 1. J2ME的体系结构共分几层,分别是什 的体系结构共分几层, 的体系结构共分几层 都有什么作用? 么,都有什么作用?
2. MIDP是什么,它主要使用在什 是什么, 是什么 么设备上? 么设备上?
2006
18
第2章 J2ME的体系结构 J2ME的体系结构
2006
13
第2章 J2ME的体系结构 J2ME的体系结构
•双向、无线、间断、带宽有限的网络 •设备内核至少要能运行KVM •其他特性,如读写(non-volatile)内存, 就是断电后不会失去内容的内存;读写无 线设备接口的API等等
2006
14
第2章 J2ME的体系结构 J2ME的体系结构
2006
12
第2章 J2ME的体系结构 J2ME的体系结构
•可能的输入设备:单手键盘(one-handed keyboard)指ITU-T手机键盘;双手键盘(twohanded keyboard)指标准键盘即QWERTY键盘当 然大小要比PC机用的小的多;触摸屏等 •内存中128KB用于MIDP组件,8KB用于应用程 序生成的永续数据(Persistent data),32KB 用于Java 运行时环境(Java runtime)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机实验题目:MIDP程序的设计 及相关文件配置
编辑,调试和运行项目2.1和2.2,注意观察 startApp() parseApp()和destroyApp(boolean bl)三个方法的执行过程.
MDIlet包结构图
MIDlet类中的方法
修饰符 protected
protected abstract void
方法名 MIDlet()
destroyApp(boolean und) getAppProperty(String key)
功能 构造方法 进入Destroyed状态
String
void void
2.3 MIDlet生命周期
一. MIDlet的三种状态 MIDlet生命周期其实是MIDlet应用程序和 它所运行环境的一种协议 与MIDlet生命周期相关的三个概念
1.应用管理平台:设备的软件操作环境,它直接管理着MIDlet 应用程序 2. MIDlet应用程序:移动设备上的MIDlet应用程序,用于通知 应用管理软件MIDlet所处的状态 3. MIDlet状态: MIDlet所处的状态,共三种状态
三种状态之间的相互转换图
New Constructor
startApp() 暂仃状态 pauseApp() 运行状态
destroyApp (boolean)
destroyApp (boolean)
销毁状态
notifyPaused() 希望转至暂仃状态 resumeRequest() 通知恢复运行状态 notifyDestroyed() 希望转至 销毁状态 此三个方法在转入相应的状态时可能产生异常 情况
二、midlet 包
Javax.microedition.midlet.*
Javax.microedition.midlet
MIDlet<<抽象类>>
MIDletstatcChangeException
# MIDlet() # startApp() # pauseApp() # destroyApp(boolean bl)
工程主目录下的四个目录
src:保存 MIDlet和所有共享类的源代码 res:保存MIDlet所需的所有资源,如图标 lib:保存对应MIDlet所需的第三方的JAR或ZIP 文件 bin:保存JAR,JAD和清单文件
(5)为工程编写代码,存储在工程目录下的 src目录下。 (6)编译和运行工程 编译和运行应用程序时出现如下三个目录 Classes:保存MIDlet及所有共享类的class文件 Tmpclasses:存储所有临时类文件 Tmplib保存对应的MIDlet及第三方的临时JAR 或ZIP文件。
第二章 MIDP应用程序
第二讲
本次课的教学目标
掌握如何建立MIDlet应用程序 掌握MIDlet项目的建立,编译,运行过程 了解MIDlet程序的基本结构 理解MIDlet包
2.1 MIDlet概述
一、MIDP简介 MIDP:移动信息设备简表 适合类型:移动电话,寻呼机等 其建立在CLDC之上 ※提供(规范)一种标准的运行环境 MIDlet是一个java类 (抽象类) 实现startApp();pauseApp();destroyApp()方法 位置:javax.microedition.midlet.MIDlet
(7)导入图标 1.将*.png文件存入res目录下 2.选择settings选项,打开MIDlet 3.修改icon选项 * 文件名应写成/*.png
(8)多个MIDlet应用程序打包到MIDlet套件中
1.建立MIDlet主应用程序 2.在菜单栏中选择settings,打开MIDlet选项卡, 单击Add 3.编译,运行程序 4.打包,生成JAD和JAR文件
2.3.2 MIDlet生命周期项目
一、建立MIDlet应用程序 (1)执行“开始” “程序” 选择J2ME Wireless Toolkit选项 单击ktoolbar (2)建立LifeCircle工程 项目名必须和类名一致
作业题:
一、说明CLDC与MIDP的关系。 二、MIDlet应用程序创建的过程(步骤)。 三、写出MIDlet应用程序中的三个抽象方法。 四、写出MIDlet应用程序的基本结构。
所用MIDP规范版本
MIDlet-Jar-URL
JAR文件的URL
MIDlet-Jar-Size
I
M
JAR文件的大小
M:强制性;O:可选;I:可忽略的
四. JAห้องสมุดไป่ตู้文件和JAR文件的关系
MANIFEST.MF用于描述JAR文件 JAD文件存在的原因: 1将文件下载到移动设备上首先下载的文件。 2MIDP2.0以后用于安全验证
2.2 MIDlet应用程序
一、建立MIDlet应用程序 (1)执行“开始” “程序” 选择J2ME Wireless Toolkit选项 单击KToolbar (2)建立TelephoneQuery工程 所选择的类名必须和文件中的类名一致 (3)设置配置,单击Create Project按钮,可以 选择不同的CLDC,MIDP (4)单击OK
MIDlet打包属性
属性名 MIDlet-Name
MIDlet-Version MANIFEST.MF JAD文档
说明 MIDlet软件名 MIDlet版本号
M M
M M
MIDlet-Vendor
MIDlet-n
MicroEdition-Profile
M
M M I
M
I I M
MIDlet供应商
软件中描述MIDlet的属性
startApp()
进入Active状态
三.MIDlet 套件
在MIDlet套件中经常包含以下文件: 用于运行应用程序的JAR文件 用于描述JAR的清单文件(MANIFESTL.ME) Java应用描述文件 JAD(Java application descriptor)
JAR文件是一个压缩的软件包 包括应用程序用到的class文件,图像,声音等信息 MANIFEST.MF:向移动设备提供打包信息 JAD文件属于Java应用描述文件,描述JAR文件 的大小和存储的位置 JAD和清单文件中属性的格式: 属性名:属性值
MIDlet三种状态
说明 1.当初始化应用程序时处在此状态,当抛出 暂仃状态 异常时,转入销毁状态,销毁应用程序 (pause) 2.在运行状态下调用pauseApp()或 notifyPause()方法时进入此状态 3.当在运行状态下出现异常时马上转入此状 态 运行状态 当程序成功调用startApp()方法时进入此状 (Active) 态,当出现不可恢复错误时,此状态直接转 入销毁状态 销毁状态 当调用destroyApp()或notifyDestroy()方法 (destroy)时进入此状态 状态
protected abstract void
获取运行环境的属性
notifyDestroyed() 通知进入Destroyed notyfyPaused() pauseApp() 通知进入Pause 进入Paused状态
void
protected abstract void
resumeRequest() 发进入Active状态请求