清华大学张思民Java课件第12章_第1页
清华大学张思民Java课件第12章_第2页
清华大学张思民Java课件第12章_第3页
清华大学张思民Java课件第12章_第4页
清华大学张思民Java课件第12章_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java语言程序设计 第12章J2ME程序设计基础 主讲 张思民 清华大学 主要内容 J2ME的基础知识 1 J2ME概述 2 建立J2ME开发环境 3 J2ME应用程序设计 4 数据记录管理系统 5 开发网络应用程序 J2ME概述 1 Java语言三个核心开发平台 Java2PlantformEnterpriseEdition J2EE 用于开发企业服务器端应用程序 Java2PlantformStandardEdition J2SE 用于开发一般台式计算机应用程序 Java2PlantformMicroEdition J2ME 用于开发嵌入式 信息家电产品应用程序 2 CDC和CLDC CDC ConnectedDeviceConfiguration 用于内存及电力等资源相对丰富的信息家电产品 如电视机顶盒 网络电视等 所用的Java虚拟机JVM为CVM CLDC ConnectedLimitedDeviceConfiguration 用于内存及电力等资源相对贫乏的信息家电产品 如手机 PDA等移动设备 所用的Java虚拟机JVM为KVM CLDC CLDC包含了一个基本的J2ME运行环境 其中包括虚拟机和核心的java类库 CLDC的核心是虚拟机和核心类库 虚拟机运行在设备的操作系统之上 对下层的硬件提供必要的兼容和支持 核心类库提供操作系统所需的最小的软件需求 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内存供虚拟机运行时用 8KB内存供数据持续存储时用 显示器 屏幕大小为96 54像素 屏幕高宽比为1 1 2 API部分 用户界面的支持 提供类程序包javax microedition lcdui 网络的支持 提供类程序包javax microedition io 数据持续存储的支持 提供的类程序包javax microedition rms 游戏功能的支持 提供的类程序包javax microedition game J2ME开发环境 建立J2ME开发环境 Sun公司的J2MEWirelessToolkit2 2 WTK22 这是J2ME的无线开发工具包 J2ME的目录结构 J2ME程序的开发 运行Ktoolbar KVM的组成部分 关于KVM虚拟机 KVM是千字节虚拟机的缩写 KVM最小只需要160K内存 其中128K用于KVM本身以必需的类库 KVM的设计理念是 1 微小化核心 这个核心在40K到80K左右 2 可移植 将与底层操作系统相关和无关的代码分离 具有高可移植性 3 模块化以及客体化 J2ME应用程序设计 12 2应用程序的基本结构 1 用户界面管理类Display用户界面设计 UserInterface UI 是应用程序与用户沟通的桥梁 J2MEMIDP提供的用户界面都包括在javax microedition lcdui的类程序包里 所有的可视组件 Displayable 都是通过显示管理类Display来显示的 对于每一个MIDP应用程序 都有一个Display类对象 该对象控制MIDlet程序中所有的显示对象 Display是表演的舞台 要使组件能在屏幕上显示 必须取得这个舞台 Displaydisplay Display getDisplay this 创建一个Display对象 只能使用Display类中的静态方法getDisplay方法创建 publicstaticDisplaygetDisplay MIDletm Displaydisplay Display getDisplay this Display显示可视组件的方法为 publicvoidsetCurrent DisplayablenextDisplayable 其中参数nextDisplayable是欲显示的可视组件 所有可视组件类都是Displayable的子类 2 MIDlet程序的基本结构 importjavax microedition lcdui importjavax microedition midlet publicclassInfoTestextendsMIDletimplementsCommandListener publicInfoTest display Display getDisplay this 取得表演舞台 protectedvoidstartApp 加入对象 publicvoidcommandAction Commandc Displayabled protectedvoidpauseApp protectedvoiddestroyApp booleanunconditional 12 2 2用户界面类 可视组件分为两大类 Screen高级用户界面Canvas低级用户界面 1 Screen高级用户界面 Screen被称为高级API 它和屏幕大小无关 不能直接操作屏幕 特别适合做对于界面要求不高的手机应用软件 2 Canvas低级用户界面 Canvas被称为低级API 它和屏幕大小相关 可以直接操作屏幕 低级用户界面主要包括两个类 1 Canvas 画布 2 Graphics 画笔 3 Command命令 MIDP有一个在高级用户界面和低级用户界面都可以使用的类 Command Command是一个用户与应用程序互动的接口 使用该类可以在界面中实现命令菜单 软按钮 的功能 commnad的构造方法 构造方法为 command Stringlabel int intpriority 其中 字符串label为Command的功能说明 commandType为Command的命令类型 priority表示Command重要性 它的值越小表示重要性越高 反之则表示重要性越低 Alert 信息提示框 Form 窗体 List 列表框 TextBox 多行文本框 高级用户界面Screen 高级用户界面Screen 高级用户界面中的类 Alert类 Alert是一个信息提示对话框类 可以利用文字 图像及声音来提示用户 它的构造方法为 publicAlert Stringtitle Alert类的常用方法 1 setImage Imageimg 为在信息框内显示图像 2 setString Stringstr 为在信息框内显示文字 标题 1 Alert组件 设计一个程序 显示文本内容 如左图 importjavax microedition midlet importjavax microedition lcdui publicclassaextendsMIDlet publicvoidstartApp DisplaymyDisplay Display getDisplay this Stringstr 这是J2ME的文本信息 源程序 Alertalert newAlert 提示信息 alert setTimeout Alert FOREVER alert setString str 显示文本信息myDisplay setCurrent alert publicvoidpauseApp publicvoiddestroyApp booleanunconditional 一直显示 显示图片 在startApp 方法中 改写为 Stringicon mv jpg try Imageimage Image createImage icon alert setImage image 显示图像信息 catch java io IOExceptionx 图标和文字同时显示 try Imageimg Image createImage zsm jpg Alertalert newAlert 提示信息 str img AlertType ALARM catch java io IOExceptionx List组件 List是一个显示列表的可视组件类 List对象的列表项中可以带有一个图标和字符串 List的构造方法为 List Stringtitle intListType List Stringtitle intListType String str Image img List的的常用方法 1 publicintappend Stringstr Imageimg 在列表项后面添加项目内容 并返回这个项目的索引值 2 publicvoidset intelementNum StringstringPart ImageimagePart 用字符串stringPart及图标imagePart替换显示项 建立List对象 并处理Command事件 importjavax microedition midlet importjavax microedition lcdui publicclassListDemoextendsMIDletimplementsCommandListener Displaydisplay Listlist CommandcmdExit cmdStart cmdHelp 源程序 publicListDemo list newList 标题 List IMPLICIT cmdStart newCommand 开始 Command OK 0 cmdExit newCommand 退出 Command EXIT 1 cmdHelp newCommand 帮助 Command HELP 1 publicvoidstartApp display Display getDisplay this list addCommand cmdStart list addCommand cmdExit list addCommand cmdHelp list append null list setCommandListener this display setCurrent list 在菜单里选择了command后 则调用commandAction 进行处理publicvoidcommandAction Commandcomm Displayabled if comm cmdExit destroyApp true elseif comm cmdStart list set 0 开始运行 null elseif comm cmdHelp list set 0 使用说明 null publicvoidpauseApp publicvoiddestroyApp booleanunconditional 12 3移动图形 1 操作界面2 绘制图形3 控制移动 publicclassMoveextendsMIDletimplementsCommandListener publicclassZsmMoveCanvasextendsCanvas publicclassMoveObj 移动图形 前景与背景图形 简单地图 intmapDepth 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 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 编号数组 数据记录管理系统 RecordManagementSystem 记录管理系统 简称RMS J2ME的javax microedition rms包中的RecordStore类可以视为数据库内的一个表格 用来存放数据记录 Record 而记录由记录号 RecordID 和数据值 Data 组成 RecordStore类的几个重要方法 1 openRecordStore 打开记录存储 2 closeRecordStore 关闭记录存储 3 deleteRecordStore 删除记录存储 4 addRecord 加入记录 5 getRecord 检索记录 6 deleteRecord 删除记录 设计大作业 1 手机电子词典有查询 增加 删除 修改功能2 远程通信 二选一 1 手机与固定的服务器通信 2 服务器 客户机都是由手机当任 3 手机游戏 内容及故事情节自定 12 4数据记录管理系统 数据持久存储是一个应用程序最基本的问题 数据持久存储必须以某种方式保存 不能丢失 并且能够有效地 简便地检索及更新 在MIDP中提供了一个永久储存数据的机制 这个机制称为RecordManagementSystem 记录管理系统 简称RMS 实际上记录管理系统RMS就是一个小型的数据库系统 每一个数据库中包含了许多表格 J2ME的javax microedition rms包中的RecordStore类可以视为数据库内的一个表格 用来存放数据记录 Record 而记录由记录号 RecordID 和数据值 Data 组成 如图12

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论