收藏 分销(赏)

ch03MIDP体系结构及第一个程序.doc

上传人:仙人****88 文档编号:7384566 上传时间:2025-01-02 格式:DOC 页数:4 大小:46KB 下载积分:10 金币
下载 相关 举报
ch03MIDP体系结构及第一个程序.doc_第1页
第1页 / 共4页
ch03MIDP体系结构及第一个程序.doc_第2页
第2页 / 共4页


点击查看更多>>
资源描述
J2ME构建于MIDP(移动信息设备简档)和CLDC(有限连接设备配置)或CDC(连接设备配置)。MIDP是设备生产厂商根据需要构造的一系列JavaAPIs。CLDC是Sun公司提供的所有设备必须支持的JavaAPIs。 一、J2ME的体系结构 Profile(MIDP Application) CLDC/CDC KVM Operating System 1.KVM 虚拟机本身需要40-80KB内存;只需要20-40K动态内存;能够运行在16位25MHz处理器上。不支持浮点数 2.CLDC包含三个基本包和一个联网包 3.MIDP中定义的一些APIs, javax.microedition.midlet.*(MIDP的超类,用于创建应用程序) javax.microedition.lcdui.*(界面类,用于创建图形用户界面) javax.microedition.rms(数据记录类,相当于移动设备中的数据库) 两种比较流行的简档,一种是MIDP,另一种是KJava。MIDP是一种普遍的工业标准,不依赖于任何设备生产厂商。KJava的APIs主要是Sun公司特别指定的,主要运行在Palm OS上。 二、MIDP应用程序 MIDP是一个抽象类,需要实现三个方法。 CLDC(1.1): java.io---标准JavaIO包,J2SEIO包的子集 java.lang——核心语言包,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包中的一部分类。 MIDlet(Mobile Information Devices let):手机上运行的J2ME应用程序,即移动信息设备小程序。以后我们编写的就是MIDlet 用Eclipse创建第一个MIDlet MIDlet在应用中可能存在的状态: 运行(Active)状态—程序正在运行中; 暂停(Paused)状态 调用notifyPaused( )函数,MIDlet立刻进入此状态; MIDlet持有的所有资源暂时被释放,但它随时可能被运行; 销毁(Destroyed)状态 调用notifyDestroyed( )函数,MIDlet立刻进入此状态; MIDlet被永久地关闭并且释放占用的所有资源,等待着废物清理程序的处理。 运行,打包 三、MIDlet套件 在MIDlet套件中,应该包含如下文件: 用于运行程序的jar文件 用于描述jar文件的清单文件MANIFEST.MF Java应用程序描述文件jad 2.MANIFEST.MF 用来描述MIDletSuite的配置,如:名称、版本、开发商等;MANIFEST 文件为纯文本文件,文件扩展名为.mf. MANIFEST 必须包含以下属性: MIDlet-Name—MIDletSuite 的名称 MIDlet-Version—MIDletSuite 的版本号,格式为主版本.次版本.微版本,例如0.0.0,这也是版本号的默认值。版本号主要用于安装或升级。 MIDlet-Vendor —MIDletSuite 的提供商 3. jad文件 JAD 描述文件为纯文本文件,文件扩展名为.jad;说明具体的运行配置,以及Jar文件所在的位置的信息 JAD 描述文件必须提供如下属性: MIDlet-Name—略 MIDlet-Version—略 MIDlet-Vendor—略 MIDlet-Jar-URL—下载该MIDletSuite 的URL 地址。虽然这里可以使用绝对位置或相对位置,但还是建议用绝对位置。 MIDlet-Jar-Size—JAR 文件的大小,计算单位为字节。 Jad的作用:如果内容所有有用的描述都在jar中,大量的时间会被浪费在传输大文件上,而这些文件最终会被丢弃。清单文件中的部分属性及一些额外信息被复制到jad中,不需要下载全部的文件,首先获取jad文件,再确定是否需要获取jar文件。 四、一个可用的MIDlet最基本结构 什么叫高级界面? 案例:制作如右图的界面 基础知识: MIDlet只是提供一个运行平台,上面的界面需要自己加上去 什么样的东西能够加到MIDlet上?答:Displayble 怎么加?答:用Display,因为它是用来管理系统的输入输出设备,核心代码:要使组件能在屏幕上显示,必须取得屏幕上的Display对象:Display display=Display.getDisplay(this); Display显示可视组件的方法为:public void setCurrent(DisplayablenextDisplayable); 软键上方的菜单(命令按钮),是Command对象,不属于Displayable,只能依赖于Displayable Display的其他作用 获取设备支持的颜色: numColors() 是否支持彩色:isColor() 背景颜色,前景颜色:COLOR_BACKGROUND ,COLOR_FOREGROUND 边框颜色,高亮边框色:COLOR_BORDER , COLOR_HIGHLIGHTED_BORDER 高亮背景色,高亮前景色:COLOR_HIGHLIGHTED_BACKGROUND , COLOR_HIGHLIGHTED_FOREGROUND Displayable的其他作用 设置标题: setTitle 添加删除命令按钮: addCommand,removeCommand 【例题1】 import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class MIDlet1 extends MIDlet { public MIDlet1() { System.out.println("构造函数被调用"); } protected void startApp() throws MIDletStateChangeException { System.out.println("startApp被调用"); } protected void pauseApp() { System.out.println("pauseApp被调用"); this.notifyDestroyed(); //调用destroyApp } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { System.out.println("destroyApp被调用"); } } 【例题2】 import javax.microedition.lcdui.Command; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Form; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class MIDlet2 extends MIDlet { private Form frm = new Form("请您选择相应操作"); private Display dis; private Command cmdDel = new Command("删除该号码",Command.SCREEN,1); private Command cmdEdit = new Command("编辑该号码",Command.SCREEN,1); private Command cmdExit = new Command("退出该程序",Command.SCREEN,1); private Command cmdBack = new Command("返回上一页",Command.BACK,1); protected void startApp() throws MIDletStateChangeException { dis = Display.getDisplay(this); //获得当前MIDlet上的显示对象 dis.setCurrent(frm); //将frm设置为当前界面 frm.addCommand(cmdDel); frm.addCommand(cmdEdit); frm.addCommand(cmdExit); frm.addCommand(cmdBack); frm.removeCommand(cmdEdit); } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服