版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第14章 J2ME程序设计基础,主要内容,J2ME的基础知识: (1) J2ME 概述、 (2)建立J2ME开发环境 、 (3) J2ME应用程序设计 、 (4) 数据记录管理系统 (5) 开发网络应用程序,J2ME 概述,1、 Java语言三个核心开发平台,Java 2 Plantform Enterprise Edition(J2EE):用于开发企业服务器端应用程序。 Java 2 Plantform Standard Edition(J2SE):用于开发一般台式计算机应用程序。 Java 2 Plantform Micro Edition(J2ME):用于开发嵌入式、信息家电产品应用程序
2、。,2、CDC和CLDC,CDC (Connected Device Configuration): 用于内存及电力等资源相对丰富的信息家电产品,如电视机顶盒、网络电视等,所用的Java虚拟机JVM为CVM。 CLDC(Connected Limited Device Configuration):用于内存及电力等资源相对贫乏的信息家电产品,如手机、PDA等移动设备,所用的Java虚拟机JVM为KVM。,CLDC,CLDC包含了一个基本的 J2ME 运行环境,其中包括虚拟机和核心的 java 类库。 CLDC 的核心是虚拟机和核心类库。虚拟机运行在设备的操作系统之上,对下层的硬件提供必要的兼容
3、和支持;核心类库提供操作系统所需的最小的软件需求。,CLDC 对 J2SE 类库进行了大量的简化,其类库只保留了 java 规范中定义的最核心的 3 个包,即 java.io、java.lang 和 java.util,并重新定义了一个新的包javax.microedition。,在J2SE的Windows平台,运行一个简单的“Hello,word”应用程序需要16MB的内存。,3、MIDP规范,MIDP规范包括硬件和API两部分: (1)硬件部分 内存:128KB内存供MIDP组件使用; 32KB内存供虚拟机运行时用; 8 KB内存供数据持续存储时用; 显示器:屏幕大小为96*54像素,屏幕
4、高宽比为1:1。,(2)API部分:,用户界面的支持:提供类程序包javax.microedition.lcdui。 网络的支持:提供类程序包javax.microedition.io。 数据持续存储的支持:提供的类程序包javax.microedition.rms。 游戏功能的支持:提供的类程序包javax.microedition.game。,J2ME开发环境,建立J2ME开发环境,Sun 公司的J2ME Wireless Toolkit 2.2(WTK22),这是J2ME的无线开发工具包。,J2ME的目录结构,J2ME程序的开发,运行 Ktoolbar :,KVM的组成部分,关于KVM虚
5、拟机,KVM是千字节虚拟机的缩写, KVM最小只需要160K内存,其中128K用于KVM本身以必需的类库 。 KVM的设计理念是: (1) 微小化核心:这个核心在40K到80K左右。 (2) 可移植:将与底层操作系统相关和无关的代码分离,具有高可移植性。 (3) 模块化以及客体化,J2ME应用程序设计,12.2 应用程序的基本结构,1、用户界面管理类Display 用户界面设计(User Interface ,UI)是应用程序与用户沟通的桥梁。J2ME MIDP提供的用户界面都包括在javax.microedition.lcdui的类程序包里。,所有的可视组件(Displayable)都是通过
6、显示管理类Display来显示的。对于每一个MIDP应用程序,都有一个Display类对象,该对象控制MIDlet程序中所有的显示对象。 Display是表演的舞台,要使组件能在屏幕上显示,必须取得这个舞台: Display display=Display.getDisplay(this);,创建一个Display对象,只能使用Display类中的静态方法getDisplay方法创建: public static Display getDisplay(MIDlet m); Display display=Display.getDisplay(this);,Display显示可视组件的方法为:
7、public void setCurrent(Displayable nextDisplayable); 其中参数nextDisplayable是欲显示的可视组件,所有可视组件类都是Displayable的子类。,2、MIDlet程序的基本结构,import javax.microedition.lcdui.*; import javax.microedition.midlet.*; public class InfoTest extends MIDlet implements CommandListener public InfoTest() display = Display.getDis
8、play(this);/取得表演舞台; protected void startApp() /加入对象; public void commandAction(Command c,Displayable d) protected void pauseApp() protected void destroyApp(boolean unconditional) ,12.2.2用户界面类,可视组件分为两大类: Screen高级用户界面 Canvas低级用户界面,1、Screen高级用户界面,Screen被称为高级API,它和屏幕大小无关,不能直接操作屏幕。 特别适合做对于界面要求不高的手机应用软件。,
9、2、Canvas低级用户界面,Canvas被称为低级API,它和屏幕大小相关,可以直接操作屏幕。 低级用户界面主要包括两个类 : (1)Canvas画布 (2)Graphics画笔,3、Command命令,MIDP有一个在高级用户界面和低级用户界面都可以使用的类Command。Command是一个用户与应用程序互动的接口,使用该类可以在界面中实现命令菜单(软按钮)的功能。,commnad的构造方法,构造方法为: command(String label, int, int priority); 其中: 字符串label为Command的功能说明, commandType为Command的命令类
10、型, priority表示Command重要性,它的值越小表示重要性越高,反之则表示重要性越低。,Alert信息提示框; Form窗体; List列表框; TextBox多行文本框。,高级用户界面Screen,高级用户界面Screen,高级用户界面中的类:,Alert类,Alert是一个信息提示对话框类,可以利用文字、图像及声音来提示用户。它的构造方法为: public Alert(String title) Alert类的常用方法: (1)setImage(Image img)为在信息框内显示图像; (2)setString(String str)为在信息框内显示文字。,标题,1、 Aler
11、t组件,设计一个程序,显示文本内容。 (如左图),import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class a extends MIDlet public void startApp() Display myDisplay = Display.getDisplay(this); String str=这是J2ME的文本信息;,源程序,Alert alert = new Alert(提示信息); alert.setTimeout(Alert.FOREVER); alert.setStri
12、ng(str); /显示文本信息 myDisplay.setCurrent(alert); public void pauseApp() public void destroyApp(boolean unconditional) ,一直显示,显示图片,在startApp()方法中,改写为: String icon = /mv.jpg; try Image image = Image.createImage(icon); alert.setImage(image); /显示图像信息 catch (java.io.IOException x) ,图标和文字同时显示,try Image img =
13、Image.createImage(/zsm.jpg); Alert alert = new Alert(提示信息,str,img,AlertType.ALARM); catch (java.io.IOException x) ,List组件,List是一个显示列表的可视组件类,List对象的列表项中可以带有一个图标和字符串。List的构造方法为: List(String title, int ListType); List(String title, int ListType, String str, Image img);,List的的常用方法,(1)public int append(S
14、tring str, Image img); 在列表项后面添加项目内容,并返回这个项目的索引值。 (2)public void set(intelementNum, String stringPart, Image imagePart); 用字符串stringPart及图标imagePart替换显示项。,建立List对象,并处理Command事件。,import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class ListDemo extends MIDlet implements Comma
15、ndListener Display display; List list; Command cmdExit,cmdStart,cmdHelp;,源程序,public ListDemo() list = new List(标题,List.IMPLICIT); cmdStart = new Command(开始, Command.OK,0); cmdExit = new Command(退出, Command.EXIT,1); cmdHelp = new Command(帮助, Command.HELP,1); ,public void startApp() display = Display.
16、getDisplay(this); list.addCommand(cmdStart); list.addCommand(cmdExit); list.addCommand(cmdHelp); list.append(,null); list.setCommandListener(this); display.setCurrent(list); ,/在菜单里选择了command后,则调用commandAction()进行处理 public void commandAction(Command comm,Displayable d) if (comm = cmdExit) destroyApp(
17、true); else if (comm = cmdStart) list.set(0,开始运行,null); else if (comm = cmdHelp) list.set(0,使用说明,null); public void pauseApp() public void destroyApp(boolean unconditional) ,12.3 移动图形,1、操作界面 2、绘制图形 3、控制移动,public class Move extends MIDlet implements CommandListener public class ZsmMoveCanvas extends
18、Canvas public class MoveObj ,移动图形,前景与背景图形,简单地图,int mapDepth = 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0;,更复杂的地图,贴片 (如左图),int map = 5,
19、 1, 1, 4, 1, 1, 1, 1, 1, 6, 5, 1, 3, 1, 1, 3, 1, 1, 1, 6, 5, 1, 2, 1, 1, 2, 1, 1, 1, 6, 5, 1, 2, 3, 1, 2, 1, 1, 1, 6, 5, 1, 4, 2, 1, 2, 1, 1, 1, 6, 5, 1, 1, 4, 1, 2, 1, 1, 1, 6, 5, 1, 1, 1, 1, 4, 1, 1, 1, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 6, 5, 1, 1, 1, 1, 1, 1, 1, 1, 6 ;,编
20、号数组,数据记录管理系统,Record Management System(记录管理系统,简称RMS) J2ME的javax.microedition.rms包中的RecordStore类可以视为数据库内的一个表格,用来存放数据记录(Record)。而记录由记录号(RecordID)和数据值(Data)组成,RecordStore类的几个重要方法: (1) openRecordStore()-打开记录存储 (2) closeRecordStore()-关闭记录存储 (3) deleteRecordStore()-删除记录存储 (4) addRecord()-加入记录 (5) getRecord
21、()-检索记录 (6) deleteRecord()-删除记录,设计大作业,1、手机电子词典 有查询、增加、删除、修改功能 2、远程通信(二选一) (1)手机与固定的服务器通信 (2)服务器、客户机都是由手机当任。 3、手机游戏(内容及故事情节自定),12.4 数据记录管理系统,数据持久存储是一个应用程序最基本的问题,数据持久存储必须以某种方式保存,不能丢失,并且能够有效地,简便地检索及更新。 在MIDP中提供了一个永久储存数据的机制,这个机制称为Record Management System(记录管理系统,简称RMS)。,实际上记录管理系统RMS就是一个小型的数据库系统,每一个数据库中包含了许多表格。J2ME的javax.microedition.rms包中的RecordStore类
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025学年度反射疗法师3级经典例题含答案详解(能力提升)
- 行政文件归档管理工具模板高效文件存储与检索
- 2024-2025学年度化验员经典例题及答案详解(必刷)
- 2024-2025学年度法律职业资格考试模拟试题及参考答案详解(模拟题)
- 2024-2025学年度计算机四级模拟试题(B卷)附答案详解
- 2024-2025学年度烟草职业技能鉴定考前冲刺测试卷及完整答案详解(夺冠系列)
- 环境保洁施工方案(3篇)
- 伙房防火应急预案(3篇)
- 临沧烤鸭营销方案(3篇)
- 公路拱护施工方案(3篇)
- TCRHA 015-2023 成人经鼻高流量氧疗护理规范
- GB/T 32764-2016边鸡
- GB/T 224-2019钢的脱碳层深度测定法
- 机械设备、人员一览表
- 函数y=Asin(wx+φ)的图象与性质优质课比赛课件
- 2022年环境监测技能知识考试参考题500题(含各题型)
- 分数百分数应用题的复习课件
- 交通索道桥(悬索桥)工程专项施工方案
- 《红楼梦》 简答题 试卷及答案 汇编全集(第1-80回合集资料)
- 族群迁徙与“认同”困境
- 专业技术技能职务聘任管理暂行办法(修改版征求意见稿)
评论
0/150
提交评论