收藏 分享(赏)

uml与面向对象系统分析与设计与java14.ppt

上传人:dzzj200808 文档编号:3655057 上传时间:2018-11-15 格式:PPT 页数:58 大小:511.50KB
下载 相关 举报
uml与面向对象系统分析与设计与java14.ppt_第1页
第1页 / 共58页
uml与面向对象系统分析与设计与java14.ppt_第2页
第2页 / 共58页
uml与面向对象系统分析与设计与java14.ppt_第3页
第3页 / 共58页
uml与面向对象系统分析与设计与java14.ppt_第4页
第4页 / 共58页
uml与面向对象系统分析与设计与java14.ppt_第5页
第5页 / 共58页
点击查看更多>>
资源描述

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像素,屏幕高宽比为1:

4、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虚拟机,KVM

5、是千字节虚拟机的缩写, KVM最小只需要160K内存,其中128K用于KVM本身以必需的类库 。KVM的设计理念是: (1) 微小化核心:这个核心在40K到80K左右。 (2) 可移植:将与底层操作系统相关和无关的代码分离,具有高可移植性。 (3) 模块化以及客体化,J2ME应用程序设计,12.2 应用程序的基本结构,1、用户界面管理类Display 用户界面设计(User Interface ,UI)是应用程序与用户沟通的桥梁。J2ME MIDP提供的用户界面都包括在javax.microedition.lcdui的类程序包里。,所有的可视组件(Displayable)都是通过显示管理类Di

6、splay来显示的。对于每一个MIDP应用程序,都有一个Display类对象,该对象控制MIDlet程序中所有的显示对象。 Display是表演的舞台,要使组件能在屏幕上显示,必须取得这个舞台: Display display=Display.getDisplay(this);,创建一个Display对象,只能使用Display类中的静态方法getDisplay方法创建: public static Display getDisplay(MIDlet m); Display display=Display.getDisplay(this);,Display显示可视组件的方法为: public

7、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.getDisplay(th

8、is);/取得表演舞台; 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,它和屏幕大小无关,不能直接操作屏幕。 特别适合做对于界面要求不高的手机应用软件。,2、Canvas

9、低级用户界面,Canvas被称为低级API,它和屏幕大小相关,可以直接操作屏幕。 低级用户界面主要包括两个类 : (1)Canvas画布 (2)Graphics画笔,3、Command命令,MIDP有一个在高级用户界面和低级用户界面都可以使用的类Command。Command是一个用户与应用程序互动的接口,使用该类可以在界面中实现命令菜单(软按钮)的功能。,commnad的构造方法,构造方法为: command(String label, int, int priority); 其中: 字符串label为Command的功能说明, commandType为Command的命令类型, prior

10、ity表示Command重要性,它的值越小表示重要性越高,反之则表示重要性越低。,Alert信息提示框; Form窗体; List列表框; TextBox多行文本框。,高级用户界面Screen,高级用户界面Screen,高级用户界面中的类:,Alert类,Alert是一个信息提示对话框类,可以利用文字、图像及声音来提示用户。它的构造方法为: public Alert(String title) Alert类的常用方法: (1)setImage(Image img) 为在信息框内显示图像; (2)setString(String str)为在信息框内显示文字。,标题,1、 Alert组件,设计一

11、个程序,显示文本内容。(如左图),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.setString(str)

12、; /显示文本信息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 = Image.c

13、reateImage(“/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(Strin

14、g str, Image img); 在列表项后面添加项目内容,并返回这个项目的索引值。 (2)public void set(int elementNum, String stringPart, Image imagePart); 用字符串stringPart及图标imagePart替换显示项。,建立List对象,并处理Command事件。,import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class ListDemo extends MIDlet implements CommandL

15、istener 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(true);e

17、lse 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 Canva

18、s 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, 1, 1, 4, 1,

19、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 ;,编号数组,数据记录管理系统,Record

20、Management System(记录管理系统,简称RMS) J2ME的javax.microedition.rms包中的RecordStore类可以视为数据库内的一个表格,用来存放数据记录(Record)。而记录由记录号(RecordID)和数据值(Data)组成,RecordStore类的几个重要方法: (1) openRecordStore()-打开记录存储 (2) closeRecordStore()-关闭记录存储 (3) deleteRecordStore()-删除记录存储 (4) addRecord()-加入记录 (5) getRecord()-检索记录 (6) deleteRe

21、cord()-删除记录,设计大作业,1、手机电子词典有查询、增加、删除、修改功能 2、远程通信(二选一) (1)手机与固定的服务器通信 (2)服务器、客户机都是由手机当任。 3、手机游戏(内容及故事情节自定),12.4 数据记录管理系统,数据持久存储是一个应用程序最基本的问题,数据持久存储必须以某种方式保存,不能丢失,并且能够有效地,简便地检索及更新。 在MIDP中提供了一个永久储存数据的机制,这个机制称为Record Management System(记录管理系统,简称RMS)。,实际上记录管理系统RMS就是一个小型的数据库系统,每一个数据库中包含了许多表格。J2ME的javax.micr

22、oedition.rms包中的RecordStore类可以视为数据库内的一个表格,用来存放数据记录(Record)。而记录由记录号(RecordID)和数据值(Data)组成,如图12.17所示:,RecordStore类的几个重要方法:,(1) openRecordStore()-打开记录存储 (2) closeRecordStore()-关闭记录存储 (3) deleteRecordStore()-删除记录存储 (4) enumerateRecords()-记录存储中记录的整个集合 (5) getName()-得到记录存储名 (6) getNumRecords()-记录存储中记录个数 (7

23、) addRecord()-加入记录 (8) getRecord()-检索记录 (9) deleteRecord()-删除记录,P378 示例:数据库操作,12.5 开发J2ME网络应用程序,J2ME具有建立网络连接并传送数据的能力。javax.microedition.io包的 Connection类和其它几个接口 StreamConnection、 ContentConnection和 HTTPConnection 可以用于建立网络通讯。 J2ME可以利用HttpConnection建立HTTP连接,然后获取数据,ASP也是利用HTTP协议,因而可以利用J2ME与在服务器端运行的ASP建立连接,从而获取网络上的服务信息。 HTTP协议的思想非常简单,客户发送一个请求给服务器,服务器对请求进行处理后,发送一个响应给客户。这里给出一个简单的例子,说明MIDP如何与ASP利用HTTP协议进行交互,完成数据库操作。,图12.19 基于HTTP协议的网络服务,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > Java

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报