《J2ME无线开发实用教程.ppt》由会员分享,可在线阅读,更多相关《J2ME无线开发实用教程.ppt(266页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、NetworkProgrammingandItsApplicationinEnterprise(网络编程企业级应用网络编程企业级应用)主讲教师:仵主讲教师:仵博博Office:267311762/2/2023Network Programming and Its Application in EnterpriseCopyright2005ShenzhenPolytechnic,AllRightsReserved.SZPT Department of Computer Engineering课程目标课程目标移动公交车查询系统移动公交车查询系统高级高级UI高级事件处理高级事件处理移动设备访问网络移
2、动设备访问网络查询算法查询算法手机游戏迷失森林手机游戏迷失森林低级低级UI低级事件处理低级事件处理游戏中的人工智能游戏中的人工智能RMS记录管理系统记录管理系统 SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-1第一讲第一讲J2ME概述概述 学习目标:学习目标:了解了解J2ME的发展历史的发展历史了解了
3、解J2ME与与J2EE和和J2SE的联系和区别的联系和区别理解理解J2ME的体系结构的体系结构掌握掌握KVM掌握掌握CLDC和和CDC,以及它们之间的联系和区别以及它们之间的联系和区别理解理解MIDP掌握掌握J2ME的开发环境的开发环境 重点和难点:重点和难点:J2ME的体系结构的体系结构2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-2 SZPT Department of C
4、omputer EngineeringJ2ME的发展历史的发展历史SunMicrosystems将将J2ME定义为定义为“一种以广泛的消费一种以广泛的消费性产品为目标的高度优化的性产品为目标的高度优化的Java运行时环境,包括寻呼运行时环境,包括寻呼机、移动电话、可视电话、数字机顶盒和汽车导航系统机、移动电话、可视电话、数字机顶盒和汽车导航系统”。Sun公司与业界领先厂商公司与业界领先厂商Motorola、Nokia、Nextel、Openwave、Siemens和和Symbian等结成联盟,推出一个等结成联盟,推出一个新的新的Java无线开发商倡议。无线开发商倡议。全球许多电信运营商,如全球
5、许多电信运营商,如CingularInteractive、FarEasTone、J-Phone、KDDI、Omnitel、One2One、SmarTone、SprintPCS、Telefonica和和Vodafone等,等,都将配置或试用基于都将配置或试用基于Java技术的服务与器件。技术的服务与器件。2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-3 SZPT Departme
6、nt of Computer EngineeringJ2ME、J2EE、J2SE的比较的比较J2SE(TheJavaTM2Platform,StandardEdition)是是Java的标准版本,它主要应用于桌面应用程序的编的标准版本,它主要应用于桌面应用程序的编程程。J2EE(TheJavaTM2Platform,EnterpriseEdition)是目前比较流行的多层企业应用技术。是目前比较流行的多层企业应用技术。J2ME(TheJavaTM2Platform,MicroEdition)是当前使用比较多的基于移动设备开发技术。是当前使用比较多的基于移动设备开发技术。2/2/2023Netw
7、ork Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-4 SZPT Department of Computer EngineeringJ2ME、J2EE、J2SE的比较的比较2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.M
8、odule1Preface1-5 SZPT Department of Computer EngineeringJ2ME的体系结构的体系结构J2ME应用程序的体系结构主应用程序的体系结构主要分为四个部分:操作系统、要分为四个部分:操作系统、Java虚拟机、虚拟机、CLDC/CDC和和MIDP应用程序。应用程序。2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-6 SZPT Depa
9、rtment of Computer EngineeringKVM虚拟机虚拟机 KVM的名字反映了这些设备的存储量是以千比特倍数来度的名字反映了这些设备的存储量是以千比特倍数来度量的。量的。KVM虚拟机适用于拥有虚拟机适用于拥有16/32比特的比特的RISC/CISC微微处理器或控制器,总的存储器只有处理器或控制器,总的存储器只有160K左右,其中左右,其中128k用来存放虚拟机和各种库的设备。用来存放虚拟机和各种库的设备。KVM不支持以下的功能:不支持以下的功能:不支持浮点数;不支持浮点数;不支持线程组(不支持线程组(ThreadGroups)和守护线程和守护线程(DaemonThreads
10、););不支持映射(不支持映射(Reflection););有限的错误处理机制。有限的错误处理机制。2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-7 SZPT Department of Computer EngineeringCLDC/CDCCLDC(ConnectedLimitedDeviceConfiguration)有有限连接设备配置为低端消费电子产品的运行提供了最小的
11、限连接设备配置为低端消费电子产品的运行提供了最小的库集和库集和APIs,它是所有低端消费电子产品必须支持的。因它是所有低端消费电子产品必须支持的。因此这些此这些APIs在所有的设备上都是可以运行的。在所有的设备上都是可以运行的。CDC(ConnectedDeviceConfiguration)连接设备配连接设备配置是置是CLDC的超集,它包含的超集,它包含CLDC中的所有中的所有APIs,同时它同时它还有自己还有自己APIs,它为高端的消费电子产品提供运行环境。它为高端的消费电子产品提供运行环境。CLDC中包含:中包含:java.io.java.langjava.utiljavax.micro
12、edition.io2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-8 SZPT Department of Computer EngineeringMIDP 在在CLDC中,没有用户界面的包,因为在中,没有用户界面的包,因为在CLDC中不包含中不包含具体设备的信息,而不同的设备就要设计不同的简档来满具体设备的信息,而不同的设备就要设计不同的简档来满足这些设备的要求。其中足这些设
13、备的要求。其中MIDP就是一种最常见的简档。就是一种最常见的简档。MIDP构架与构架与CLDC之上,它具有以下特征:之上,它具有以下特征:最小屏幕尺寸为最小屏幕尺寸为9654象素;象素;显示深度为显示深度为1bit;128KB不变内存用于不变内存用于MIDP组件;组件;8KB不变内存用于持久数据存储;不变内存用于持久数据存储;32KB可变内存用于运行时虚拟机。可变内存用于运行时虚拟机。在在MIDP中定义一些中定义一些APIs,包含包含:javax.microedition.lcdui;javax.microedtion.midlet;javax.microedition.rms。2/2/202
14、3Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-9 SZPT Department of Computer EngineeringJ2ME中不同简档之间的比较中不同简档之间的比较目前有两种比较流行的简档,目前有两种比较流行的简档,一种就是本文介绍的一种就是本文介绍的MIDP,一种是一种是KJava,这两种简这两种简档各有优点。档各有优点。MIDP不依赖不依赖任何设备生产厂商,它是一任何设备生产
15、厂商,它是一种普遍的工业标准,基于种普遍的工业标准,基于MIDP简档开发的程序可以简档开发的程序可以在任何设备上运行。在任何设备上运行。KJava中的中的APIs主要是主要是Sun公司特公司特别制定的,别制定的,KJava主要运行主要运行在在PalmOS上,上,KJava有点有点象象J2SE中的中的AWT,它并不它并不是是J2ME中的标准包,并且中的标准包,并且它的主包是它的主包是com.sun.kjava。2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechn
16、ic,All Rights Reserved.Module1Preface1-10 SZPT Department of Computer Engineering安装开发环境安装开发环境 在进行在进行J2ME程序需要开发的时候,使用的开发工具分为程序需要开发的时候,使用的开发工具分为两类:两类:通用开发工具通用开发工具适合所有手机的通用工具适合所有手机的通用工具;专用开发工具专用开发工具适合某种型号的手机的开发工具,例如适合某种型号的手机的开发工具,例如Nokia。软件部分软件部分MicrosoftWindowsXPjakarta-tomcat-4.1.29.exej2sdk1.4.2_08-
17、win.exej2me_wireless_toolkit-2_1.exe硬件部分硬件部分1G硬盘空间(推荐硬盘空间(推荐3G以上)以上)128M内存(推荐内存(推荐256M以上)以上)PIIICPU(推荐推荐PIV)2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-11 SZPT Department of Computer EngineeringHelloWorld程序程序 2/
18、2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-12创建创建运行运行 SZPT Department of Computer Engineering小结小结 首先介绍了首先介绍了J2ME的历史,并它与的历史,并它与J2EE和和J2SE进行比较。进行比较。本章重点讲述的是本章重点讲述的是J2ME的体系结构,它包含的体系结构,它包含KVM、CLDC/CDC和和MIDP三部分。由于三部分。
19、由于J2ME开发的是移动设开发的是移动设备终端,它们的备终端,它们的CPU和内存都受到一定的限制,因此和内存都受到一定的限制,因此KVM的功能也没有的功能也没有JVM强大,它是强大,它是JVM的子集。的子集。CLDC是是Sun公司推出的所有厂商都要遵循的公司推出的所有厂商都要遵循的APIs,MIDP是很多是很多移动设备厂商共同制定的移动设备厂商共同制定的APIs,使得在遵循使得在遵循CLDC和和MIDP规范的应用程序都能够在这些厂商的移动设备上运规范的应用程序都能够在这些厂商的移动设备上运行,提高了可移植性。行,提高了可移植性。2/2/2023Network Programming and I
20、ts Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module1Preface1-13 SZPT Department of Computer Engineering复习题复习题J2ME的定位的定位J2ME的体系结构的体系结构CLDC中的包中的包MIDP中的包中的包 SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyrig
21、ht 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-1第二讲第二讲MIDP生命周期生命周期学习目标:学习目标:掌握如何建立掌握如何建立MIDlet应用程序应用程序理解理解MIDlet包包掌握掌握MIDlet生命周期生命周期掌握掌握MIDlet生命周期中的方法生命周期中的方法重点和难点重点和难点MIDlet生命周期生命周期如何建立如何建立MIDlet应用程序应用程序 SZPT Department of Computer Engineering2/2/2023Network Programming
22、and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-2MIDlet概述概述MIDlet简介简介移动信息设备简表移动信息设备简表(MIDP)适合类似于蜂窝电话和寻呼适合类似于蜂窝电话和寻呼机这样的设备。机这样的设备。MIDP,就象就象KJava一样,同样也建立一样,同样也建立在在CLDC之上。之上。MIDP简表提供一种标准的运行时环境,简表提供一种标准的运行时环境,允许在终端用户设备上动态地配置新的应用程序和服允许在终端
23、用户设备上动态地配置新的应用程序和服务。务。MIDlet是一个是一个Java类,它扩展了类,它扩展了javax.microedition-.midlet.MIDlet抽象类。实现抽象类。实现startApp()、pauseApp()和和destroyApp()方法,这三个方法构成了方法,这三个方法构成了MIDlet应用应用程序的生命周期。程序的生命周期。复习抽象类相关知识。复习抽象类相关知识。SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCo
24、pyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-3建立建立MIDlet应用程序应用程序步骤步骤1:选择:选择“KToolbar”,进入开发环境。进入开发环境。步骤步骤2:建立工程。:建立工程。步骤步骤3:设置配置。:设置配置。步骤步骤4:添加代码。:添加代码。src:保存保存MIDlet和所有共享类的源代码。和所有共享类的源代码。res:保存保存MIDlet所需的所有资源,如图标。所需的所有资源,如图标。lib:保存对应保存对应MIDlet所需的第三方库的所需的第三方库的JAR或或Z
25、IP文文件。件。bin:保存保存JAR、JAD和清单文件。和清单文件。SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-4HelloWorld程序程序importjavax.microedition.midlet.*;importjavax.microedition.lcdui.*;p
26、ublicclassHelloWorldextendsMIDletimplements CommandListenerprivateCommandexitCMD=null;privateDisplaydis=null;privateTextBoxtextBox=null;publicHelloWorld()exitCMD=newCommand(退出退出,Command.EXIT,2);textBox=newTextBox(null,HelloWorld!,256,0);textBox.addCommand(exitCMD);textBox.setCommandListener(this);SZ
27、PT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-5HelloWorld程序程序 publicvoidstartApp()dis=Display.getDisplay(this);dis.setCurrent(textBox);publicvoidpauseApp()publicvoidd
28、estroyApp(booleanbool)publicvoidcommandAction(Commandcmd,Displayabledis)if(cmd=exitCMD)destroyApp(false);notifyDestroyed();SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Applicat
29、ion2-6MIDlet生命周期生命周期暂停状态(暂停状态(Paused)当当MIDlet应用程序处在初始化时或者处在静止状态时,应用程序处在初始化时或者处在静止状态时,MIDlet处在暂停状态。处在暂停状态的处在暂停状态。处在暂停状态的MIDlet不会占用或不会占用或者使用任何共享资源。在以下情况时会出现暂停状态:者使用任何共享资源。在以下情况时会出现暂停状态:加载加载MIDlet时,最初是处于暂停状态,这是程序通过时,最初是处于暂停状态,这是程序通过默认的构造方法来调用。此时如果程序抛出异常,默认的构造方法来调用。此时如果程序抛出异常,MIDlet将会有暂停状态马上转入销毁状态,销毁应用将
30、会有暂停状态马上转入销毁状态,销毁应用程序;程序;当应用程序在活动状态时成功调用当应用程序在活动状态时成功调用pauseApp()方法时,方法时,MIDlet将会有运行状态马上转入暂停状态;将会有运行状态马上转入暂停状态;SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-7MIDlet
31、生命周期生命周期当应用程序在活动状态时成功调用当应用程序在活动状态时成功调用notifyPaused()方法方法时,时,MIDlet将会有运行状态马上转入暂停状态;将会有运行状态马上转入暂停状态;当应用程序在活动状态时,出现当应用程序在活动状态时,出现MidletStateChangeException异常时,异常时,MIDlet将会有将会有运行状态马上转入暂停状态。运行状态马上转入暂停状态。运行状态(运行状态(Active)当程序成功的调用当程序成功的调用startApp()方法时,程序将会进入运行方法时,程序将会进入运行状态。状态。startApp()方法可以正常结束,在这种情况下,可方法
32、可以正常结束,在这种情况下,可能允许能允许MIDlet运行,也可能会通知运行,也可能会通知MIDP平台平台MIDlet不不希望此时运行。为实现后者,有如下几种方法:希望此时运行。为实现后者,有如下几种方法:SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-8MIDlet生命周期生命周期
33、如果如果startApp()方法检测到一个使之终止执行的错误条方法检测到一个使之终止执行的错误条件,但是它以后可能不再出现(即一个临时错误条件)件,但是它以后可能不再出现(即一个临时错误条件),则需要抛出一个,则需要抛出一个MIDletStateChangeException异常。异常。这将把这将把MIDlet移回至暂停状态,从而在以后可以再来移回至暂停状态,从而在以后可以再来启动;启动;如果如果startApp()方法检测到一个错误条件,而且不可能方法检测到一个错误条件,而且不可能恢复(即非临时错误条件),它应当调用其恢复(即非临时错误条件),它应当调用其notifyDestroyed()方
34、法;方法;最后,最后,MIDlet可能会抛出可能会抛出MIDletStateChangeExcep-tion以外的某个异常,可能是故意为之,以外的某个异常,可能是故意为之,也可能是由也可能是由于它调用的某个方法抛出了此异常,于它调用的某个方法抛出了此异常,而且而且startApp()方法未捕获到此异常。在这种情况下,则假定出现了方法未捕获到此异常。在这种情况下,则假定出现了一个严重错误,通过调用一个严重错误,通过调用destroyApp()方法来销毁此方法来销毁此MIDlet。SZPT Department of Computer Engineering2/2/2023Network Prog
35、ramming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-9MIDlet生命周期生命周期销毁状态(销毁状态(Destroyed)MIDlet处在销毁状态时,程序将会释放所有的资源,并同处在销毁状态时,程序将会释放所有的资源,并同时终止运行。在以下情况时,程序会进入销毁状态:时终止运行。在以下情况时,程序会进入销毁状态:当当MIDlet调用了调用了destroyedApp(false)方法或者方法或者MIDle
36、t抛出抛出MIDletStateChangeException异常时,异常时,MIDlet将将会释放所有资源;会释放所有资源;当当MIDlet成功调用了成功调用了notifyDestroyed()方法时。方法时。SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-10MIDlet生命周期
37、生命周期 SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-11MIDlet生命周期生命周期notifyDestroyed()方法方法notifyDestroyed()方法来通知方法来通知MIDP平台该平台该MIDlet希望终希望终止止。当当MIDlet由平台销毁时,由平台销毁时,MI
38、Dlet的的destroyApp()方法方法随即得到调用,且参数为随即得到调用,且参数为true,此方法完成后此方法完成后MIDlet即被销毁。在这种情况下,即被销毁。在这种情况下,MIDlet没有必要调用其没有必要调用其notifyDestroyed()方法。方法。若若MIDlet自己想终止,用户按下了退出按钮。这可以自己想终止,用户按下了退出按钮。这可以通过调用其通过调用其notifyPaused()方法实现。在这种情况下,方法实现。在这种情况下,平台并不调用平台并不调用MIDlet的的destroyApp()方法。在调用方法。在调用notifyDestroyed()之前,大多数之前,大多
39、数MIDlet会调用自己的会调用自己的destroyApp()方法方法来完成通常的整理工作。来完成通常的整理工作。注意:注意:MIDlet不能通过调用不能通过调用System或或Runtime的的exit()方方法来终止。法来终止。SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-12
40、MIDlet生命周期生命周期notifyPaused()方法方法通知平台通知平台MIDlet希望转至暂停状态;希望转至暂停状态;MIDlet通常在调通常在调用用notifyPaused()前会先调用前会先调用pauseApp()。resumeRequest()方法方法作用正好与作用正好与notifyPaused()相反;它通知平台:一个处相反;它通知平台:一个处于暂停状态的于暂停状态的MIDlet希望返回到活动状态。将来某个希望返回到活动状态。将来某个时候,平台可以通过调用其时候,平台可以通过调用其startApp()方法来重新启动方法来重新启动此此MIDlet。resumeRequest()
41、方法通常由一个后台线方法通常由一个后台线程调用,或者由一个定时器调用,此定时器在程调用,或者由一个定时器调用,此定时器在MIDlet暂停时仍处于活动状态。暂停时仍处于活动状态。SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-13MIDlet生命周期生命周期2/2/2023Networ
42、k Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-14 SZPT Department of Computer EngineeringMIDlet应用程序的框架应用程序的框架importjavax.microedition.midlet.*;classXXXextendsMIDlet初始化模块;初始化模块;MIDlet生命周期的实现;生命周期的实现;其他方法;其他方法;事件处理;事件处理;
43、SZPT Department of Computer EngineeringstartApp()pauseApp()destroyApp(booleanb)2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-15小结小结MIDlet包包生命周期生命周期MIDlet应用程序的框架应用程序的框架2/2/2023Network Programming and Its
44、Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-16 SZPT Department of Computer Engineering复习题复习题MIDlet包包建立建立MIDlet应用程序应用程序MIDlet应用程序的生命周期应用程序的生命周期生命周期中的主要方法生命周期中的主要方法生命周期的转换图生命周期的转换图 SZPT Department of Computer Engineering2/2/2023Network Pro
45、gramming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-17第三讲第三讲MIDlet套件套件学习目标:学习目标:掌握如何建立清单文件掌握如何建立清单文件掌握如何获取清单文件的掌握如何获取清单文件的MIDlet属性属性掌握如何将多个掌握如何将多个MIDlet打包到打包到MIDlet套间中套间中重点和难点重点和难点掌握如何建立清单文件掌握如何建立清单文件 SZPT Department of Computer
46、 Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-18生命周期案例生命周期案例importjavax.microedition.midlet.*;importjavax.microedition.lcdui.*;/*正确使用正确使用startApp,pauseApp,anddestroyApp等方法等方法*/publicclassLife
47、CircleextendsMIDletimplementsRunnable,CommandListenerThreadthread=null;/定义一个线程定义一个线程privateCommandexitCMD=null;/定义销毁按钮定义销毁按钮privateDisplaydis=null;privateTextBoxtextBox=null;privateCommandpauseCMD=null;/定义暂停按钮定义暂停按钮privateCommandresumeCMD=null;/定义恢复按钮定义恢复按钮 SZPT Department of Computer Engineering2/2
48、/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechnic,All Rights Reserved.Module 2MIDP Application2-19生命周期案例生命周期案例/*构造方法,初始化构造方法,初始化.*/publicLifeCircle()exitCMD=newCommand(退出退出,Command.EXIT,2);pauseCMD=newCommand(暂停暂停,Command.EXIT,2);resumeCMD=newCommand(恢复恢复,
49、Command.EXIT,2);textBox=newTextBox(null,256,0);textBox.addCommand(exitCMD);textBox.addCommand(pauseCMD);textBox.addCommand(resumeCMD);textBox.setCommandListener(this);SZPT Department of Computer Engineering2/2/2023Network Programming and Its Application in EnterpriseCopyright 2005 Shenzhen Polytechn
50、ic,All Rights Reserved.Module 2MIDP Application2-20生命周期案例生命周期案例 /调用调用startApp()方法,显示方法,显示TextBox组件,启动线程组件,启动线程publicvoidstartApp()dis=Display.getDisplay(this);dis.setCurrent(textBox);thread=newThread(this);thread.start();/*暂停线程暂停线程*/publicvoidpauseApp()thread=null;/*销毁线程销毁线程*/publicvoiddestroyApp(bo