??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美色视频免费,一区二区三区在线观看免费,成人va在线观看http://www.aygfsteel.com/m6963605/zh-cnThu, 19 Jun 2025 15:35:02 GMTThu, 19 Jun 2025 15:35:02 GMT60J2MEl构与相兌范介l?/title><link>http://www.aygfsteel.com/m6963605/archive/2009/10/19/298830.html</link><dc:creator>c鼠</dc:creator><author>c鼠</author><pubDate>Mon, 19 Oct 2009 04:36:00 GMT</pubDate><guid>http://www.aygfsteel.com/m6963605/archive/2009/10/19/298830.html</guid><wfw:comment>http://www.aygfsteel.com/m6963605/comments/298830.html</wfw:comment><comments>http://www.aygfsteel.com/m6963605/archive/2009/10/19/298830.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/m6963605/comments/commentRss/298830.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/m6963605/services/trackbacks/298830.html</trackback:ping><description><![CDATA[<p> </p> <font style="font-family: 宋体, Verdana, Arial, Helvetica, sans-serif; font-size: 14px" id="font_word">J2ME的适用范围很广Q而且针对J2ME的规范也在增加,很多人因为对各种规范的作用不了解造成对J2ME体系的误解。本文主要讲qC?J2ME 的结构和构成Q同时对一些容易؜淆的概念q行解释?br /> J2ME是什么?<br /> 很多人把J2ME{同于手机程序开发,其实q是一个非帔R误的说法。也有h认ؓJ2ME是一个标准,一个规范,q同h不正的?br /> Sun 公司?J2ME (Java 2 Micro EditionQJava 2微型?定义?#8220;一U以q泛的消Ҏ品ؓ目标的、高度优化的 Java q行时环?#8221;。自?1999 q?6 月在 JavaOne Developer Conference 上声明之后,J2ME q入了小型设备开发的行列。通过 Java 的特性,遵@ J2ME 规范开发的 Java E序可以q行在各U不同的型讑֤上?br /> J2ME是Sun公司为嵌入式开发所定义的一个框Ӟ一pd标准的规范所l成。所以J2ME是一个协议簇Q而不是单一的规范?br /> J2ME是一个非常大的概念,下面的一q图可以看看J2ME的适用范围?br /> <br /> ?<br /> 图中的CDC 和CLDC 是支持J2ME的两c设备的配置的简Uͼ分别是:<br /> ?CDC (Connected Device ConfigurationQ连接设备配|?Q运行在q一配置上的E序UCؓJ2ME ApplicationQ在CVM上进行解释?br /> ?CLDC(Connected Limited Device ConfigurationQ连接限制设备配|?Q运行在q一配置上的E序UCؓMIDlet Q在KVM上进行解释?br /> 可以把CDC 和CLDC 理解为对g的定义,如同PC机和型ZPq些讑֤提供JavaE序q行的硬件环境?br /> ?J2ME 中有两类虚拟机:CVM (C Virtual MachineQC虚拟??KVM (K Virtual MachineQK虚拟?。KVM ?CVM均可被看作是一U?Java 虚拟机,?JVM 的子集,在功能上都是 JVM 的羃减版。这两类虚拟机的适用范围q不相同Q简单地_CVM 的功能比KVM 功能更ؓ强大?br /> q里再补充一点,J2MEq包括对了Java Card 的定义,用于各类IC卡。JavaCard 和CDC/CLDC在J2ME中是相同的地位?br /> JavaCard 的网见Q?a >http://java.sun.com/products/javacard/index.jsp </a>;?br /> 所以在q里要理解J2ME的含义,可以从CLDC 和CDCq两斚wq行了解?br /> CLDC 与CDC的对?br /> 在前面的?中已l显C出CLDC 和CDC在适用讑֤上的区别?br /> CDC主要针对32位的处理器主频通常?5MHz以上Q内存可能在1?MB 。CDC 针对的设备主要是数字电视、机盒、网l电话、R载计设备等。这些设备的特点是:<br /> ?有线q接<br /> ?甉|E_<br /> ?讑֤外设资源比较受限<br /> CLDC讑֤的最低配|ؓQCPU?6位?2位主频在 16MHz以上的处理器Q设备的内存比较,可能只有512KBQ甚x。现在硬件的发展非常快,以前所定义的CLDC的设备目前的讑֤甚至q远过原来的定义。不q请注意一下,J2ME 对CLDC讑֤配置的定义只是一个最低要求的定义。其实目前很多CLDC讑֤的配|都q远过上面的配|,不过要分辨CLDC讑֤主要要从讑֤特点上进行区别。这些设备的特点是:<br /> ?无线q接<br /> ?没有E_的电源供?通常使用甉|)<br /> ?讑֤外设资源极少<br /> 具体一点说如智能手机,例如QNokia 7650QNokia 3650{,q有例如PDA讑֤也都应该归于CLDC的范围?br /> ?br /> J2ME 使用配置(CDC或CLDC)和简?Profile)定制JRE(Java Runtime EnvironmentQ?Java q行时环?。一个完整的 JRE由配|和表组成,配置军_了所使用?JVM(可能是CVM ?KVM)Q而简表通过定义特定的类来ؓ应用E序提供功能上的支持Q一个简表定义了讑֤所提供?API 集合?br /> 如果把CDC 、CLDC 理解UCؓg配置的话QProfile可以理解为硬件上的操作系l,q个操作pȝ提供了程序可以调用的所有功能集合,也就是说Profile定义了各U功能的 API 函数集。当然这个比dƈ不完全恰当,因ؓCVM ?KVM 才充当了解释JavaE序执行的角艌Ӏ又或者可以把Profile理解UCؓ虚拟Z提供的开发包Q不同的开发包提供不同的核心功能调用。不怎么理解都好Q只要便于自q解?br /> q里再补充说明一点:CDC规范和CLDC规范中也都定义了基本的API集合Q这些API提供Java 的基本功能,例如Qjava.io、java.lang、java.util 、javax.microedition.io q些包就是定义与CDC 和CLDC中的。不q这些包都是Java最基本的功能,更多的面向设备的功能?API 必须q是通过表来提供?br /> 下面介绍一下几U常见的表:<br /> ?MIDP (Mobile Information Devices ProfileQ移动信息设备简?Q定义了Ud信息讑֤的类型和提供相关的API集合Q?MIDP 所定义的功能更加面向用P而且?CLDC 更高U?br /> ?IMP QMobile Information Device ProfileQ信息模块简表)Q定义了提供|络q接Q但是显C方式比较单一的设备简表,例如告警器?br /> ?Foundation Profile(基础?Q提供除了用L面以?J2SE 所能够提供的标准类库?br /> ?Personal Profile(个h?Q针寚w些资源相Ҏ限,但是对网l访问要求很高,ZAWT囑Ş界面的设备,例如Web-TV、汽车导航系l等?br /> 除这里提到的三个表外q有其他cd的简表,但是上面的四个简表是Sun公司所推荐的,而且是开攄表。例如以前的KJava是和MIDP cM的简表?br /> J2ME内定义的各种规范介绍<br /> 到目前ؓ止,本文一共提C几个规范Q?br /> ?CLDC 规范Q目前分?v1.0 JSR 30Qv1.1 JSR 139<br /> ?CDC 规范Q目前分?v1.0 JSR 36Qv1.1 JSR 218<br /> ?MIDP 规范Q分?v1.0 JSR 37Qv2.0 JSR 118<br /> ?IMP 规范QJSR 195<br /> ?FP 规范QJSR 46<br /> ?PP 规范QJSR 62<br /> q些规范都是J2ME中的基础规范Q例如说CLDC 讑֤必须要支?CLDC规范Q同时要选择支持一个简表规范,可能是MIDP 或者其他简表。对于CDC 讑֤来说也必L?CDC 规范Q同旉择支持一个简表规范,可能是FPQ也可能是PP?br /> 对于其他规范Q设备可以选择支持。接下来我引用一下Sun公司J2ME主页对各U规范的介绍Q?br /> 适用于CLDC讑֤的规范:<br /> Connected Limited Device Configuration (CLDC); JSR 30, JSR 139 CLDC 规范Q前面已l介l过<br /> <br /> Mobile Information Device Profile (MIDP); JSR 37, JSR 118 MIDP 规范Q前面已l介l过<br /> <br /> Information Module Profile (IMP), JSR 195 IMP 规范Q前面已l介l过<br /> <br /> Java Technology for the Wireless Industry (JTWI), JSR 185 无线Java行业规范<br /> <br /> Wireless Messaging API (WMA); JSR 120, JSR 205 无线信息规范Q提供短信和彩信功能<br /> <br /> Mobile Media API (MMAPI); JSR 135 Ud媒体规范Q提供音频视频播?br /> <br /> Location API for J2ME (JSR-179) 定位规范Q提供定位功?br /> <br /> SIP API for J2ME (JSR-180) 提供对会话发起协议的支持<br /> <br /> Security and Trust Services API for J2ME (JSR-177) 提供|络安全与信ȝ支持<br /> <br /> Mobile 3D Graphics (JSR-184) 提供?Dl图的支?br /> <br /> J2ME Web Services APIs (WSA), JSR 172 提供对Web Services的支?br /> <br /> Bluetooth API (JSR-82, Motorola, Java Partner Site) 提供对兰牙的支持<br /> <br /> PDA Optional Packages for the J2ME Platform (JSR 75) 提供对PDA中文件、通信录等存取的支?br /> <br /> 适用于CDC讑֤的规范:<br /> Connected Device Configuration (CDC); JSR 36, JSR 218 CDC规范Q前面已l介l过<br /> <br /> Foundation Profile (FP) (JSR-46) FP 规范Q前面已l介l过<br /> <br /> Personal Profile (PP) (JSR-62) PP 规范Q前面已l介l过<br /> <br /> Personal Basis Profile (PBP) (JSR-129) cM于PP的规范,但在囑Ş界面斚w无需支持AWT<br /> <br /> J2ME RMI Optional Package, (RMI OP); JSR 66 提供对远E调用的支持<br /> <br /> JDBC Optional Package for CDC/Foundation Profile API (JSR-169) 提供对JDBC的支?br /> <br /> 同时请大家注意一下,q里提到的适用于ƈ不是表示只适用于,很多规范是可以同旉用于CDC 和CLDC 讑֤的?br /> J2ME的副作用Q升U你的系l?br /> q真是一个痛苦的事情QJ2ME 中各U规范正处于一个不断扩充和不断完善的过E,旧设备无法支持新规范的事情会来多Q而嵌入式讑֤的种cd很难在短旉内实现对各种规范的支持?br /> 相关|页<br /> Java Community ProcessQ?a >http://jcp.org/ </a>;<br /> Sun公司 J2ME 主页Q?a >http://java.sun.com/j2me/</a><br /> Sun公司 J2ME 下蝲:<a >http://java.sun.com/j2me/downloads/index.html </a>;<br /> 支持J2ME的设备列表:<a >http://developers.sun.com/techtopics/mobility/device/</a><br /> 对一些问题的看法<br /> J2ME 很简?br /> 完全错误QJ2ME的范围和规模非常之大Q适用范围也非常广。要知道嵌入式设备无ZU类q是l构来将都要q远出PC机,型机的范围?br /> 认ؓJ2ME单的人,多半是把J2MEq于具体化。例如:认ؓ手机E序的开发就是J2ME开发的全部。或者认为在PDA上开发一个JavaE序是J2ME开发的全部?br /> KJavaE序开发就是手机程序开?br /> KJava 也是一个ProfileQ和前面提到的MIDP的功能和作用cM。以前KJava是Sun公司提供的一个示范性简表。但是由于事实原因现在很多智能手机都支持KJava表,和MIDP相比 MIDP是一个更开攄规范?br /> J2ME只能用于手机E序开?br /> 目前看来J2MEq没有能够全面的渗透到各种嵌入讑֤中,而且目前最大的用途就是一些手机游戏。但是J2ME的用途绝对不止这些,J2ME 应用的发展有赖于各种g厂商提供的支持?br /> J2ME已经可以作ؓ嵌入讑֤上操作系l?br /> JavaE序是解释执行的Q所以必还要有操作pȝ的支持。Palm OS、WinCE、Symbian?EPOC、嵌入Linuxq些才是操作pȝQ而且在嵌入式讑֤上应用比较广泛。至于JavaPhone之类的纯Java产品q有待Sun公司的开发?997q_Sun公司兼ƈ了长期从事嵌入式实时操作pȝ开发的Chorus公司Q希望ؓJava嵌入技术的发展提供了良好的操作pȝ环境。以后应该会出现只支持Java的硬件设备和操作pȝ。不q从前面提到的四U嵌入式操作pȝ来说Q支持C/C++语言才是首位?br /> J2MEE序可以实现一ơ编写到处运?br /> 基本上很难。因为J2ME中定义的规范很多Q每个规范有自己的API 集,不同的厂商还有自己提供的针对自n讑֤?API集,而要求所有的嵌入讑֤都支持完全相同的规范集合是不现实的。所以利用厂家提供的 API 集开发程序还会保持一D늛当长的时间?br /> 但是有些基本的规范是被强制要求的Q例如CLDC 和MIDP 要求的API 集就要求所有的手机支持。不q另一个方面讲即是相同的规范也会有不同的版本Q不同的版本中对 API 集的要求是不同的?br /> 在我看来 J2ME的最大好处是把Java 带入?/font> <img src ="http://www.aygfsteel.com/m6963605/aggbug/298830.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/m6963605/" target="_blank">c鼠</a> 2009-10-19 12:36 <a href="http://www.aygfsteel.com/m6963605/archive/2009/10/19/298830.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>理解J2MEq_http://www.aygfsteel.com/m6963605/archive/2009/10/19/298827.htmlc鼠c鼠Mon, 19 Oct 2009 03:59:00 GMThttp://www.aygfsteel.com/m6963605/archive/2009/10/19/298827.htmlhttp://www.aygfsteel.com/m6963605/comments/298827.htmlhttp://www.aygfsteel.com/m6963605/archive/2009/10/19/298827.html#Feedback0http://www.aygfsteel.com/m6963605/comments/commentRss/298827.htmlhttp://www.aygfsteel.com/m6963605/services/trackbacks/298827.htmlSun凭借最新的Java技术试囑ְ其进一步实Cؓ开发者的目标q_Q然而Javaq_自n却分成了三种q_QStandard版、Enterprise版和Micro版。Micro版,也就是所谓的J2MEQ从问世伊始׃门设计ؓ供内存量和处理能力较低的移动设备作为Java开发^C用?br />
从表面上看,q样做对那些希望提升应用E序的移动计能力的开发者来说是一件好事。然而,“Ud讑֤”q个术语却涵盖了相当q泛的领域,包括传统的个人数字助理(PDAQ、所谓的电话、传呼机乃至GPS单元{,它们都具有各不相同的g配置。同LQ这c设备的市场也支ȝ,同一供应商的两种讑֤之间都还存在兼容性问题,更别说不同供应商的设备品了Q在很多情况下简直就是ؕ七八p?
l这些五花八门的Ud讑֤提供一U普遍适用的开发^台看来多半是不可能的了。所以J2ME定义了两U类型的规范Q它们携手提供一U移动Javaq_Q这两种规范是configurations 和profiles。Configuration和profile规范提出了相当多的技术术语,下面我们来讨论一些?


Configuration
J2ME通过对Configuration的抽象来处理大量千差万别的移动设备硬件功能。J2ME configuration定义了特定设备可用的虚拟机和低APIQ同时提供相应的开发基。目前可用的Configuration有两U,它们是连接设备配|CDCQConnected Device ConfigurationQ和q接有限讑֤配置CLDCQConnected Limited Device ConfigurationQ?/p>


q接讑֤配置

CDC应用于相对内存量较大、更强处理器的移动设备。CDC规范采用了内存优化的虚拟机,也就是所谓的CVMQ通过它提供等同标准JVM的特性。按照Sun的文档说明, CDC针对新型PDA、智能通讯讑֤和机盒之类的高端设备。ؓ了能够受到CDC支持Q移动设备必至具备以下条Ӟ

用于CVM和Java API库的2 MB内存?
32位微处理器或者控制器?
可用|络q接Q最好是高带宽连接?
q结有限讑֤配置
CDC的要求有利于昂贵的移动电话、IR扫描仪或cM产品。CLDC则主要针寚w些更M、更便宜、不能满CDC要求的设备?/p>

CLDC采用了更d的虚拟机Q设计ؓ在较低内存环境下q行。这UJVM的参考实C是所谓的KVMQؓ什么要叫KVM呢?q是因ؓq种虚拟机的大小是以千字节度量的。CLDC 的设备需求如下:

最?60KB的内存,其中128KB用于KVM和运行时?br /> 最?6?5-MHz处理?br /> 有限的用L面功?br /> 没有Q或者间歇的Q低带宽|络q接
׃受到严格的内存容量限ӞKVM因此~Z一些完整JVM所提供的特性,q就是说Q你可能得改变自q~程风格了。KVM在如此低内存要求下不得不在QҎ学计、反应和对finalizerscȝ支持{方面对性能折中。用CLDC的开发者在~译E序之后必须预先采用J2ME开发工具包所提供的一U检查工具对他们的源代码q行校验?/p>

profile
如果说配|ؓ应用E序提供了基Q那么profile则提供了应用E序的框架。profile定义了一整套J2ME应用E序可用的APIc而且专门针对l定配置创徏。Sun推出?U可用的参考J2ME profileQ基QFoundationQ和Ud信息讑֤profileMIDPQMobile information Device ProfileQ?/p>

基础profile主要用于CDC配置Q因而其虚拟机几乎等同于标准的虚拟机。这意味着Q用基profile的开发h员必访问完整实现的J2SEҎ集?/p>

MIDPq同功能较低的CLDC配置一道ؓ开发今天的Ud讑֤应用E序提供了你最可能用到的Javaq_。MIDP支持J2SEcd的有限子集而且为在CLDC配置上用定义了定制的用h口和输入/输出cR?/p>

~写一ơ到处可行?
兼容性如何呢QJ2SE应用E序能在J2MEq_上运行吗Q这些问题的{案主要取决于配|和profile的具体应用了。J2SE代码无须或者很修改即可采用CDC和基profileq行。然而,正如我们在这里所讨论的那P׃Lg受到限制QCLDC和MIDP profile只提供了很有限的功能集合。因此它J2SE应用E序不大可能在不加修改的情况下就q行在这cd^CQ除非它把自己限制在两种q_的API交集之内Q严重地限制了其功能Q。因为CIDC的要求对应了今天大多数手持设备的功能Q所以Q何J2SE应用软g想不l修改就q行在给定的讑֤上是值得怀疑的。你多半得修攚w要移植到J2ME的应用Y件。但也别紧张。从保住饭碗的角度看q未不是好事?/p>

c鼠 2009-10-19 11:59 发表评论
]]>
j2me中的MIDletc说?/title><link>http://www.aygfsteel.com/m6963605/archive/2009/10/18/298774.html</link><dc:creator>c鼠</dc:creator><author>c鼠</author><pubDate>Sun, 18 Oct 2009 12:47:00 GMT</pubDate><guid>http://www.aygfsteel.com/m6963605/archive/2009/10/18/298774.html</guid><wfw:comment>http://www.aygfsteel.com/m6963605/comments/298774.html</wfw:comment><comments>http://www.aygfsteel.com/m6963605/archive/2009/10/18/298774.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/m6963605/comments/commentRss/298774.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/m6963605/services/trackbacks/298774.html</trackback:ping><description><![CDATA[<p style="text-indent: 2em">在J2ME~程q程中,MIDlet是最核心的类之一Q熟悉该cȝ使用是J2ME学习q程中必首先掌握的c,下面q合实际介l一下该cȝ实际使用?</p> <p style="text-indent: 2em">众所周知QJ2MEE序都是从MIDletcd始执行,pȝ规定了MIDlet的生命周期。规定MIDletE序有三U状态: </p> <p style="text-indent: 2em">1?暂停状?</p> <p style="text-indent: 2em">2?q行状?</p> <p style="text-indent: 2em">3?销毁状?</p> <p style="text-indent: 2em">pȝ在执行MIDletE序Ӟ首先构造一个MIDletcd的对象,然后使程序进入到暂停状态,按照生命周期的规定,pȝ会自动调用MIDlet对象的startAppҎ使程序进入到q行状态,开始程序的执行。如果在创徏MIDlet对象的过E中Q或者是调用startApp的方法中发生了异常,则系l会自动调用MIDlet对象的destroyAppҎq行到销毁状态,也就是ɽE序退出?</p> <p style="text-indent: 2em">所以生命周期中的第一个需要注意的地方是熟悉在以上状态{换过E中Q系l会自动调用的方法,然后在实际编写MIDletcȝ时候,在这些方法中书写合适的代码Q这样就可以在系l规定的状态{换时Q自动调用这些方法?</p> <p style="text-indent: 2em">另外一个需要说明的状态是暂停状态,pȝ在程序运行过E中Q如果手机有来电Q则pȝ会自动的使MIDletE序q行到暂停状态,在进入到暂停状态以前,pȝ会自动调用MIDlet对象的pauseAppҎ。当电话接听完毕以后Q系l会自动?MIDletE序q行到运行状态,在进入到q行状态以前,pȝq会自动调用startAppҎ使系l进入到q行状态?</p> <p style="text-indent: 2em">对于上面的内容做一个简单的ȝQ?</p> <p style="text-indent: 2em">1?startAppҎ </p> <p style="text-indent: 2em">在系l第一ơ运行的时候,pȝ会自动调用该Ҏ使系l进入到q行状态?</p> <p style="text-indent: 2em">当系l从暂停状态切换到q行状态以前,pȝ也会自动调用该方法?</p> <p style="text-indent: 2em">2?pauseAppҎ </p> <p style="text-indent: 2em">当系l从q行状态切换到暂停状态以前,会自动调用该Ҏ?</p> <p style="text-indent: 2em">3?destroyAppҎ </p> <p style="text-indent: 2em">当系l发生异帔R出程序以前,会自动调用该Ҏ。该Ҏ有一个booleancd的参敎ͼ如果该参Cؓtrue则代表该Ҏ必须清理和释放资源,如果为false可以抛出一个MIDletStateChangeException异常来表明它不想立即退出?</p> <p style="text-indent: 2em">熟悉了这几个Ҏ的用以后,可以实现很多实用的功能,下面介绍两个实际功能的实玎ͼ </p> <p style="text-indent: 2em">1?实现来电话时暂停的功?</p> <p style="text-indent: 2em">在实际的MIDlet~程中,必须实现手机来电时暂停程序的功能Q如果有U程Ӟq需要把U程停止掉,然后当电话结束以后,重新昄界面Qƈ重新启动U程?</p> <p style="text-indent: 2em">startAppҎ的具体的实现代码框架如下Q?/p> <pre class="java5"><span id="wmqeeuq" class="kw2">public</span> <span id="wmqeeuq" class="kw3">void</span> startApp<span id="wmqeeuq" class="br0">(</span><span id="wmqeeuq" class="br0">)</span> <span id="wmqeeuq" class="br0">{</span> <span id="wmqeeuq" class="co1">//获得当前昄的界?/span> Displayable curr = display.<span id="wmqeeuq" class="me1">getCurrent</span><span id="wmqeeuq" class="br0">(</span><span id="wmqeeuq" class="br0">)</span>; <span id="wmqeeuq" class="co1">//判断是否是第一ơ运?/span> <span id="wmqeeuq" class="kw1">if</span> <span id="wmqeeuq" class="br0">(</span>curr == <span id="wmqeeuq" class="kw4">null</span><span id="wmqeeuq" class="br0">)</span> <span id="wmqeeuq" class="br0">{</span> <span id="wmqeeuq" class="co1">//昄W一个界面,例如logo界面</span> <span id="wmqeeuq" class="br0">}</span> <span id="wmqeeuq" class="kw1">else</span> <span id="wmqeeuq" class="br0">{</span> <span id="wmqeeuq" class="co1">//昄来电以前的界?/span> display.<span id="wmqeeuq" class="me1">setCurrent</span><span id="wmqeeuq" class="br0">(</span>curr<span id="wmqeeuq" class="br0">)</span>; <span id="wmqeeuq" class="co1">//如果需要,q可以启动线E?/span> <span id="wmqeeuq" class="br0">}</span> <span id="wmqeeuq" class="br0">}</span></pre> <p style="text-indent: 2em">如果游戏界面中有U程Q则需要在来电时暂停线E,而pauseApp在暂停以前会被系l调用,所以可以在pauseAppҎ中实现该功能。pauseAppҎ的实C码框架如下: </p> <pre class="java5"><span id="wmqeeuq" class="kw2">public</span> <span id="wmqeeuq" class="kw3">void</span> pauseApp<span id="wmqeeuq" class="br0">(</span><span id="wmqeeuq" class="br0">)</span> <span id="wmqeeuq" class="br0">{</span> <span id="wmqeeuq" class="co1">//获得当前昄的界?/span> Displayable curr = display.<span id="wmqeeuq" class="me1">getCurrent</span><span id="wmqeeuq" class="br0">(</span><span id="wmqeeuq" class="br0">)</span>; <span id="wmqeeuq" class="co1">//判断是否是游戏界?/span> <span id="wmqeeuq" class="kw1">if</span> <span id="wmqeeuq" class="br0">(</span>curr <span id="wmqeeuq" class="kw2">instanceof</span> GameCanvas<span id="wmqeeuq" class="br0">)</span> <span id="wmqeeuq" class="br0">{</span> <span id="wmqeeuq" class="co1">//停止U程</span> <span id="wmqeeuq" class="br0">}</span> <span id="wmqeeuq" class="br0">}</span></pre>       2?实现按挂机时清理的功? <p style="text-indent: 2em">熟悉MIDlet~程的h都知道,在程序运行过E中按挂机键Q可以MIDletE序退出,在低U用L面编E中Q可以在keyPressedҎ中捕莯事gQ但是却无法处理Q因为捕获以后,E序q接退Z?</p> <p style="text-indent: 2em">如果游戏中有背景音乐{,则当按挂机键直接退出的时候,音乐q会存在Q这样就会造成很多的问题。但是按挂机键以后,在程序退Z前,pȝ会自动调用destroyAppҎQ所以可以把最后处理的代码攄在destroyAppҎ中?</p> <p style="text-indent: 2em">下面接着来看一下另一l方法,来l熟悉MIDletcȝ使用Q?</p> <p style="text-indent: 2em">1?notifyPaused </p> <p style="text-indent: 2em">使程序进入暂停状?</p> <p style="text-indent: 2em">2?notifyDestroyed </p> <p style="text-indent: 2em">是程序进入到销毁状态?</p> <p style="text-indent: 2em">以上两个Ҏ和上面的三个Ҏ不同Q上面的三个Ҏ是在状态切换过E中Q会自动被系l调用。而这两个Ҏ不会被系l自动调用,但是E序员在实际~程q程中可以手动调用这两个ҎQɽE序q入指定的状态?</p> <p style="text-indent: 2em">比如如果惛_现程序退出的功能Q就只需要MIDletE序q入到销毁状态即可,也就是只需要手动调用notifyDestroyedҎ卛_?</p> <p style="text-indent: 2em">上面是MIDletcM最主要的两l方法,下面分MIDP1.0和MIDP2.0来分别介l剩下的Ҏ的作用。首先看一下MIDP1.0中的两个ҎQ?</p> <p style="text-indent: 2em">1?getAppProperty </p> <p style="text-indent: 2em">获得jad文g和manifest文g中属性的|如果一个属性在以上两个文g中都包含Q则以jad文g中的属性gؓ准?</p> <p style="text-indent: 2em">2?resumeRequest </p> <p style="text-indent: 2em">pȝ通过调用该Y件来判断是否需要该MIDletq入q行状态。如果需要进入运行状态,则系l会自动调用startAppҎ?</p> <p style="text-indent: 2em">在MIDP2.0中,MIDletcM新增了两个方法,下面介绍一下这两个Ҏ的作用,依次是: </p> <p style="text-indent: 2em">1?checkPermission </p> <p style="text-indent: 2em">该方法是MIDP2.0的安全许可机Ӟ在程序的实际使用q程中,可以通过该方法来查MIDlet是否允许特定的操作,例如联网、发送短信息{等?</p> <p style="text-indent: 2em">如果不允许该操作则返?Q允许返?Q未定义则返?1?</p> <p style="text-indent: 2em">2?platformRequest </p> <p style="text-indent: 2em">使用该方法可以访问某些系l功能,例如通用的功能主要有两种 </p> <p style="text-indent: 2em">使系l打开览器访问某个特定的|址Q?</p> <p style="text-indent: 2em">platformRequest(“<a >http://wap.sina.com.cn</a>”); </p> <p style="text-indent: 2em">q个功能可以实现用来实现提示用户下蝲新的E序版本{功能?</p> <p style="text-indent: 2em">使手机拨打特定的电话LQ?</p> <p style="text-indent: 2em">paltformRequest(“tel:1860”); </p> <p style="text-indent: 2em">则系l会自动利用手机来拨?860?</p> <img src ="http://www.aygfsteel.com/m6963605/aggbug/298774.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/m6963605/" target="_blank">c鼠</a> 2009-10-18 20:47 <a href="http://www.aygfsteel.com/m6963605/archive/2009/10/18/298774.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ӻ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank">ƽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">IJ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ﶫ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ϊ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ˮ</a>| <a href="http://" target="_blank">«</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ͳ</a>| <a href="http://" target="_blank">̫</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Ժ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ľ</a>| <a href="http://" target="_blank">׳</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">Զ</a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>