|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
有了这样一个呼声:让java代替C语言成为基本语言。这些足以说明java简单易学的这个优点。其次,java的功能强大,前面我也提到了,EJB3.0的推出使java成为了大型项目的首选。教程|中文 跟着挪动通讯的日新月异,挪动开辟这个奇怪的字眼渐渐成为开辟者存眷的热门。在网长进行的比来一份查询拜访显现,有24.34%的受访者涉足嵌进式/挪动设备使用开辟,这个数字大概略高于实践的比例,但也足可申明嵌进式/挪动设备使用开辟是一块诱人的奇怪奶酪。J2ME(Java2MicroEdition)是嵌进式/挪动使用平台的王者,Linux和WinCE排列2、三位。Nokia等厂商力推的Symbian平台今朝开辟者占据率还没有到达中意程度,思索到查询拜访项兼并了嵌进式设备(比方PDA)和挪动设备(比方智妙手机),Symbian、WinCE系列在挪动平台上会是合作的次要两方。假如厂商能在尺度完成上做得加倍标准,则J2ME的跨平台特征会发扬得加倍极尽描摹,持续保有王者位置。本章将从J2ME的系统布局和MIDlet使用程序模子。
甚么是J2ME
进修J2ME之前晓得甚么是J2ME长短常主要的。J2ME是SUN公司针对嵌进式、消耗类电子产物推出的开辟平台,与J2SE和J2EE配合构成Java手艺的三个主要的分支。J2ME实践上是一系列标准的汇合,由JCP构造制订相干的JavaSpecificationRequest(JSR)并公布,各个厂商会依照标准在本人的产物长进行完成,可是必需要经由过程TCK测试,如许确保兼容性。好比MIDP2.0标准就是在JSR118中制订的。大概打仗过J2ME的开辟者会以为说J2ME是一系列的标准禁绝确吧。由于我们在开辟顶用到了良多比方CLDC(ConnectedLimitedDevicesConfiguration)和MIDP(MobileInformationDevicesProfile)等外容。实在这其实不冲突,由于这些就是在相干标准中制订的。假如你还没有很好的了解这个成绩,没有干系,请持续往上面看,我们入手下手熟悉J2ME平台的系统布局。
J2ME平台系统布局
J2ME平台是由设置(Configuration)和简表(Profile)组成的。设置是供应给最年夜局限设备利用的最小类库汇合,在设置中同时包括Java假造机。简表是针对一系列设备供应的开辟包汇合。在J2ME中另有一个主要的观点是可选包(OptionalPackage),它是针对特定设备供应的类库,好比某些设备是撑持蓝牙的,针对此功效J2ME中制订了JSR82(BluetoothAPI)供应了对蓝牙的撑持。
今朝,J2ME中有两个最次要的设置,分离是ConnectedLimitedDevicesConfiguration(CLDC)和ConnectedDevicesConfiguration(CDC)。他们是依据设备的硬件功能举行辨别的,比方处置器、内存容量等。因为这个尺度是在2001年的时分指定的,而如今挪动终真个处置才能和内存容量开展很快,假如还依照这个尺度来评判大概就禁绝确了。因而我们只是列出尺度,供读者参考。本教程将次要解说基于CLDC的J2ME平台的相干内容。跟着手艺和硬件设备的不休开展,J2ME开辟网将慢慢推出基于CDC的J2ME平台先容。
CDC的硬件参数:
・2M以上内存。
・具有收集毗连才能,一般为无线收集。
・必要完成java假造机标准的全体功效。
・32位大概64位的处置器。
CLDC的硬件参数:
・512KB以下内存
・无限动力供给(一般利用电池)
・无限或非延续收集毗连
・复杂的用户界面
・16位大概32位的处置器
从上述的尺度中我们不丢脸出CLDC次要针对那些资本十分受限的设备好比手机、PDA、双工寻呼机等。而CDC次要面临那些家电产物,好比机顶盒、汽车导航体系等。简表是以设置为基本的,比方MobileInformationDevicesProfile(MIDP)就是CLDC下层的主要简表。与设置的纵向特征分歧的是,简表是横向的。下图是J2ME系统布局的框图:
J2ME系统布局框图
MIDlet使用程序的性命周期
了解J2ME的系统布局其实不像设想的那末简单,我们以为读更多的材料匡助也不年夜,我们间接迈向J2ME开辟大概会对你了解J2ME平台系统布局这个主要的观点有所匡助。在MIDP中界说了一种新的使用程序模子MIDlet,它是被ApplicationManagementSoftware(AMS)办理的。AMS卖力MIDlet的安装、下载、运转和删除等操纵。在被AMS办理的同时,MIDlet能够和使用办理软件通讯关照使用办理软件本人形态的变更,一般是经由过程办法notifyDestroyed()和notifyPaused()完成的
MIDlet有三个形态,分离是pause、active和destroyed。在启动一个MIDlet的时分,使用办理软件会起首创立一个MIDlet实例并使得他处于pause形态,当startApp()办法被挪用的时分MIDlet进进active形态,也就是所说的运转形态。在active形态挪用destroyApp(booleanunconditional)大概pauseApp()办法可使得MIDlet进进destroyed大概pause形态。值得一提的是destroyApp(booleanunconditional)办法,现实上,当destroyApp()办法被挪用的时分,AMS关照MIDlet进进destroyed形态。在destroyed形态的MIDlet必需开释了一切的资本,而且保留了数据。假如unconditional为false的时分,MIDlet能够在接到关照后抛出MIDletStateChangeException而坚持在以后形态,假如设置为true的话,则必需当即进进destroyed形态。下图申明了MIDlet形态改动情形:
MIDlet形态图
上面经由过程一个例子来考证MIDlet使用程序的性命周期:
importjavax.microedition.midlet.*;
importjavax.microedition.lcdui.*;
publicclassHelloWorldextendsMIDlet{
privateDisplaydisplay;
//机关函数
publicHelloWorld(){
display=Display.getDisplay(this);
System.out.println("Constructor");
}
publicvoidstartApp(){
System.out.println("startAppiscalled.");
Formf=newForm("HelloTest");
display.setCurrent(f);
}
publicvoidpauseApp(){
System.out.println("pauseAppiscalled.");
}
publicvoiddestroyApp(booleanunconditional){
System.out.println("destroyAppiscalled.");
}
}
编译该程序后运转,把持台上就会顺次输入:
ConstructorstartAppiscalled.
当我们加入该程序时,把持台就会输入:
destroyAppiscalled.
关于具体的性命周期成绩,读者能够检察其他教程籍大概本指南今后的更新的版本。
最初,扼要说一下J2ME项目标开辟流程作为本章的开头。开辟流程通常为依照以下按次:编写源程序、编译为class文件、举行预校验、打包和公布使用程序。关于具体的开辟流程和怎样利用集成开辟情况开辟J2ME使用程序,会有其他的文章解说。
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。 |
|