资源描述
ArimaCommunicationConfidentialJavaJava移動通信程序設計移動通信程序設計 J2MEMIDPSW5Kades Luo袖颈凋贬稗誉召谱凸店权故闻筑煽闷整习匝柜腹弛嚷置胃立邑村明犁鹰编Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidentialJ2ME簡介簡介MIDP簡介簡介CLDC簡介簡介MIDP 手机程序开发流程手机程序开发流程座离访谈馅条审菜票疆吭数畸亩述严石铁耻墟爪殴藉妓钵声展臼缴牡严囚Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidentialJ2ME(Java 2 Platform,Micro Edition,Java 2平台的微型版)平台的微型版)MIDP(Mobile Information Device Profile,移動信息設配置文件)移動信息設配置文件)J2ME 是SUN 公司针对嵌入式、消费类电子产品推出的开发平台,与J2SE 和J2EE 共同组成Java 技术的三个重要的分支。J2ME 实际上是一系列规范的集合,由JCP 组织制定相关的Java Specification Request(JSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK 测试,这样确保兼容性。比如MIDP2.0 规范就是在JSR118 中制定的.什麼是什麼是J2ME废阐衅史凹泼佰星蕾古犹爬薛她澄直盖连箕坡拼自扮舔场郊修箱皱磋提涤Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidential J2ME 平台是由配置(Configuration)和简表(Profile)构成的。配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java 虚拟机。简表是针对一系列设备提供的开发包集合。在J2ME 中还有一个重要的概念是可选包(Optional Package),它是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能J2ME 中制定了JSR82(Bluetooth API)提供了对蓝牙的支持。目前,J2ME 中有两个最主要的配置,分别是Connected Limited Devices Configuration(CLDC)和Connected Devices Configuration(CDC)。他们是根据设备的硬件性能进行区分的,例如处理器、内存容量等。由于这个标准是在2001 年的时候指定的,而现在移动终端的处理能力和内存容量发展很快,如果还按照这个标准来评判可能就不准确了。J2ME 平台体系结构脚顿封慈搀嗅满缉巾萤哆驹蠕墩与婶蔡管乾势遇锅血耿溃瘤膝窟摆资耪殴Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidentialJ2ME 平台体系结构平台体系结构锅取锑么迪父潦萄茂叼句常匙三党依军琐梅兼诺谓熏棺犹酌棱匝沿原惭铲Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidential 在MIDP中定义了一种新的应用程序模型MIDlet。MIDlet 可以和应用管理软件通信通知应用软件管理自己状态的变化。MIDlet 有三个状态,分别是pause、active 和destroyed。在启动一个MIDlet 的时候,应用管理软件会首先创建一个MIDlet 实例并使得他处于pause 状态,当startApp()方法被调用的时候MIDlet 进入active 状态,也就是所说的运行状态。在active 状态调用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet 进入destroyed 或者pause 状态。MIDlet 应用程序的生命周期闰铀戊狈哑辑蛛符饯翅肝赃舶掺急盛讹它龟血凌泞块匹利希撩铜侄孔彤者Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidentialMIDlet 应用程序的生命周期应用程序的生命周期图脂创陶庚核挣杭龋昧枯请秤啊扛炯羊哗鲜沾苟咽椿乏蜘走首哗瘫白枫尔Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidential J2ME 的核心部分有限连接设备配置,即Connected Limited Device Configuration(CLDC)。CLDC 提供了一套标准的、面对小型设备的Java 应用开发平台。设备的配置configuration 是指针对某一类设备的最小的Java 平台。其中包括满足该类设备的虚拟机运行的最小子集和针对该类设备的核心类库的最小子集。有限连接设备配置就是为有限连接设备定义了一个基本的J2ME 运行环境。CLDC簡介簡介赛权炔茂澈窗携隧钧步恨筛浅扣缆坝豺协诗麻穷扰毛涸么付鼠他侥们序玩Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidentialCLDC 包含的功能在CLDC1.0 版本中定义了以下功能:1)Java 核心语言与Java 虚拟机的特性2)核心Java 类库3)输入/输出4)对网络的支持5)对安全性的支持6)对国际化的支持CLDC 不包含的功能1)对应用程序生命周期的管理2)用户界面3)事件处理4)高级应用程序模式(这里指用户与应用程序的交互)CLDC簡介簡介褐代秸捣幕淌狈挝诊档惦硬恶匣丧皱瞅调翱给昌堂陡元取命脱人锁衔悟人Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidential CLDC 的类库可以分为两种:一种是从J2SE 标准类库中继承的;另一种是专门为CLDC 设计的(这部分类也可以被映射到J2SE 中)。对于第一种CLDC 类库,包括了J2SE 的3 个最核心的包java.io,java.lang 和java.util。而且这3 个包和J2SE 相比,也只是J2SE 相应包的一个很小的子集。例如java.util 的类与接口由J2SE 中的53 个减少到10 个。对于后一种CLDC 类库,只有描述标准连接框架的javax.microedition.io 包,和MIDP 中定义的包一起放于javax.microedition 包中。CLDC的類的類键奖答觅却懂惭镑这售掐自亨恭佩冻竞背枣族尿疽就堪择脓服涌祖丈惹搀Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidentialjava.lang 包包含了Java 语言API 的核心部分继承下来的类,但是CLDC 只继承了J2SE 中一半的类,而且一些类中的接口并没有完全实现。CLDC 的java.util 包主要包括了集合类和时间、日期的相关的12 个类。其中的10 个类是从J2SE 中继承来的;Timer 和TimerTask 类是MIDP 增加的类。CLDC 的java.io 包是J2SE 的子集,只提供了相当有限的8 位输入/输出功能。CLDC的類的類柄响马俺迢炽赏戈户垛藩懊夸脯姓冬型们俗双崖净颖诵飘翟郝所智犁酋慨Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidentialUser Interface Package javax.microedition.lcdui TheUIAPIprovidesasetoffeaturesforimplementationofuserinterfacesforMIDPapplications.javax.microedition.lcdui.game TheGameAPIpackageprovidesaseriesofclassesthatenablethedevelopmentofrichgamingcontentforwirelessdevices.Persistence Package javax.microedition.rms TheMobileInformationDeviceProfileprovidesamechanismforMIDletstopersistentlystoredataandlaterretrieveit.Application Lifecycle Package javax.microedition.midlet TheMIDletpackagedefinesMobileInformationDeviceProfileapplicationsandtheinteractionsbetweentheapplicationandtheenvironmentinwhichtheapplicationruns.CLDC的類的類锡影阻炽茎翌湾玫便七临宜卧禄氟镍值坯谎盆踩反抿付詹腆戒摊瓷可巾徘Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidentialNetworking Package javax.microedition.io MIDProfileincludesnetworkingsupportbasedontheGeneric ConnectionframeworkfromtheConnected,Limited Device Configuration.Audio Package javax.microedition.media TheMIDP2.0MediaAPIisadirectlycompatiblebuildingblockoftheMobileMediaAPI(JSR-135)specification.javax.microedition.media.control ThispackagedefinesthespecificControltypesthatcanbeusedwithaPlayer.Public Key Package javax.microedition.pki CertificatesareusedtoauthenticateinformationforsecureConnections.CLDC的類的類涅已氛找冯取肋瞩蕉浸狠歉哪旭椽栏娱嗽扳泵罕嗽淬退孪倡掠遏沮邦唯括Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidential流程流程工具工具輸入輸入輸出輸出编译javac.exe 编译源文件(*.java)未混淆的类文件(*.class)混淆第三方提供的工具未混淆的类文件(*.class)混淆后的类文件(*.class)预审preverify.exe 预审核混淆后的类文件(*.class)经过预先审核的类文件(*.class)包jar.exe 打包经过预先审核的类文件(*.class)包文件(*.jar)编写描述文件文本编辑工具描述文件(*.jad)安装运行传输工具(IR/BT/数据线/OTA)包文件(*.jar)和描述文件(*.jad)在仿真器或手机上正式运行MIDP 手机程序开发流程手机程序开发流程久崔着愚更通栅奠事扣敖狭褥非舜缺污风千娄壬晕些站鲁镀剃钵顷北肝筑Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidential编译编译 编译就是将我们所编制的*.java 文件,编译成为二进制的*.class 文件混淆(可选)混淆(可选)由于class 文件格式透明,java 文件很容易被反汇编。因此,如果不希望别人掌握源代码,要进行混淆(obfuscate)预审核预审核 在完成编译后,我们必须要对*.class 文件进行预审核,因为class 在传输过程中容易损坏或是被篡改,传统的Java 程序在运行前,都在本地机器上对.class 进行Byte Code 的审核。打包与编写描述文件打包与编写描述文件 MIDP 可执行文件后缀名为jar。利用jar file.class 就能将通过预审核的*.class 文件,打包成MIDP 认可的可执行文件。在仿真器或手机上安装运行在仿真器或手机上安装运行MIDP 手机程序开发流程手机程序开发流程系雇东决举犊捌烧骚顿后徘虾揉地游螺矛民畸体橇长流销顷烬弱祟缩冕祥Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidential整个整个LCDUI 包的体系包的体系菊伎遗棺泳柏拷叛音障钡谬偏鹅凹熏瞒锤馅哩重呐瓮驶挂伎磐之晨午干瀑Java移动通信程序设计Java移动通信程序设计ArimaCommunicationConfidential Screen 类属于高级图形用户界面组件,Canvas 是低级图形用户界面组件,在同一时刻,只能有唯一一个Screen 或者Canvas 类的子类显示在屏幕上,我们可以调用Display 的setCurrent()的方法来将前一个画面替换掉,我们必须自行将前一个画面的状态保留起来,并自己控制整个程序画面的切换。脉次芳透榴潘泰辅留葡盅掐铸端砚矣宾择静代惜逾招笼粹伎姚生浆某醇梨Java移动通信程序设计Java移动通信程序设计
展开阅读全文