ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:1,014.56KB ,
资源ID:3647400      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3647400.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(j2me讲义.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

j2me讲义.docx

1、j2me讲义希望本教程能够助你拨开移动开发的迷雾,走入这一崭新的领域。移动应用,未来属于你和我。前 言不知道你是否曾经有过这样的经历:一个人百无聊赖的靠在沙发上,摆弄着你的手机,企图从你的移动终端上找到除了打电话和收发短信之外,别的有趣的功能。是的,手机等智能移动终端早已经融入了我们的生活,并成为我们不可或缺的重要工具。每每看到有关手机销售量进一步增长的消息的时候,似乎总有什么在刺激着身为开发者的你和我的神经。在庞大的设备群等潜在因素面前,人们似乎又看到了.net 曾经的美好时光。然而正是被人们广泛看好的移动增值应用,却是个烫手的山芋。很多人在徘徊。难怪某位设备制造商的朋友在一次交流会上,半开

2、玩笑的说,在卖场里是不会有人利用赠送java 增值应用来促销手机的,因为效果远不如“买一部手机送一斤大米”来的好。事实证明,好的前景不会自动的变成真正的商业应用。对年轻的移动增值产业来说,机会和陷阱同时存在。处处充满了选择。所以在你踏入这一新兴领域之前,请仔细思考你的机会和风险。不过令人鼓舞的是,我们已经看到一批很有特点的移动应用供应商正在这条道路上努力的探索着,并且有些已经开始盈利。希望你的加入能给移动应用带来新鲜的元素。回到开发者的角度,你需要知道何时使用什么样的技术,并且你的应用需要有足够的吸引力。本教程是讲解基于JAVA 的J2ME 技术的。这项技术设计的初衷是为了解决在不同移动终端上

3、运行相同的JAVA 应用。就它的本意来说是个好点子,尽管实际部署中你还需要很多技巧。从语言这个层次上讲,JAVA 相较C+拥有与生俱来的开发高效率,但执行效率较低的特点。关于选择他们的争论可以持续好几个星期。J2ME 运行效率低的问题往往被拿出来受到指责,不得不指出的是J2ME(准确的说是MIDP1.0)是广泛部署在手机上的第一代智能开发平台,很少有手机不支持这一平台。也正是因为推出时间很早,伴随着较早一批设备本身的硬件限制,J2ME并没有完全的体现出智能应用的价值。要知道,在那些设备上,本地代码的执行也很缓慢。随着新一代移动设备的大量铺货,我们似乎看到了移动应用的春天正在一步步地走来。J2M

4、E 作为最早提出的移动开发解决方案的价值也在逐步的凸现。时下,移动开发技术大体分为三个阵营:广泛得到各种设备支持的J2ME 技术、以Symbian 为代表的开放应用平台使用C+语言为主、微软的Smart Phone 平台则使用C#配合.NETCF。J2ME 平台存在的基础是设备使用不同操作系统的多样性。即使只剩下Symbian、Windows 两种平台他们的对立也给了J2ME 技术足够的生存的空间。开发人员往往执著于不同的平台的种种优劣,然而让一种技术保持较长生命力的往往不是技术本身的优劣而是市场的作用。希望本教程能为你进入移动开发的世界打下良好的基础。本教程的合适的读者本教程是为了学习 J2

5、ME MIDP 技术的开发者准备的。尽管本教程内容涉及初学阶段,但本教程不仅仅是一本入门的读物,很多的内容的详细程度对于有经验的开发者来说,也是很多脾益的。事实上,本教程假定初学者已经有了一定的JAVA 语言基础。读者可以快速的从这里了解到他希望了解的关于J2ME 的理论知识。由于本教程针对MIDP2.5 这一最新的标准,你可以了解到这一新规范中的API 的强大功能与局限。本教程附带了很多的例子,绝大多数情况你可以把这些例子用于你的项目。并且为了方便读者快速上手,本教程对于开发工具有很多笔墨的描述。你即使没有任何的开发平台的知识,也可以step by step的了解到如何搭建一个适用于你的开发

6、平台。当然如果你曾经有关于一个小项目的实践经验就更好了,你可以更系统的认识到哪里是重点。本教程的内容1 J2ME的开发环境1.1 Java运行环境java version 能显示出版本号如果你的电脑已安装JDK,就不要再安装了J2SDK1.4 下载地址 运行JDK的安装程序后会自动设置环境变量注意环境变量的设置JAVA_HOME= F:projectjdk1.5.0_08PATH中必须有.;F:projectjdk1.5.0_08;F:projectjdk1.5.0_08jrebin;CLASSPATH= .;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.j

7、ar;如果向中国移动提交游戏,对游戏打包时JDK必须使用1.3.1版本(国际版)(见“百宝箱应用测试FAQ.doc”)安装很简单,一路Next即可。1.2 安装EclipseEclipse3.2.2 下载地址http:/www.eclipse.org/Eclipse SDK 3.2的安装工作只是一个解压缩的过程,将下面的zip文件解压即可,J2me_software02Eclipse eclipse-SDK-3.2.2-win32.zip1.3 安装EclipseME插件EclipseMe1.6.8 下载地址 http:/ eclipseme.org /启动Eclipse双击 eclipse-

8、SDK-3.2.2-win32eclipse eclipse.exe启动时,会提示选择workspace,默认取可配置Eclipse增加java环境 Window“Preferences”JavaInstalled JREsAdd,这一步不是必需的,如是有JRE 就不加了FileNewProject 中没有J2ME,现在还无法创建J2ME项目,需要安装EclipseME第1步:Eclipse中选择Help-Software Updates-Find and Install,选中Search for new features to install,然后下一步。如下图第2步:在下图选择New Ar

9、achived Site,因为我们在这里使用的是eclipseme.feature_1.6.8_site.zip。第3步:选中eclipseme,程序在J2me_software03eclipseme eclipseme.feature_1.6.8_site.zip第4步:在install窗口中会出现eclipseme.feature_1.6.8_site.zip,单击finish按钮继续安装,进入到Eclipse ME的安装界面。第5步:要选中eclipseme.feature_1.6.8_site.zip第6步:接受License第7步:显示Eclipse的安装位置,单击Finish第8步

10、:确定后开始安装,在安装的过程中会弹出这样一个数字签名的确认窗口。第9步:继续安装,会出现以下窗口要我们重新启动Eclipse,重新启动后,EclipseME就已经安装好了。为了验证EclipseME确实已经安装上了,我们在Eclipse重启之后,打开FileNewProject,可以看到在Project中有J2ME注意:安装好EclipseME之后,我们要对原有的Eclipse配置做一点小小的改动。由于开发J2ME时我们需要首先启动手机模拟器,那么在Debug模式的Eclipse默认设置不等到模拟器启动就会失败。修改这点很简单,在Window -Preference-Java-Debug中,

11、取消暂停选项,还应该把超时时间提高到 20000 毫秒。如下图所示,调试模式就可以顺利的启动了。(这里不设置好,会影响以后Debug程序)1.4 安装手机模拟器使用模拟器可以减少将程序传输到手机上次数sun的开发包WTK2.2 下载地址 EclipseME为我们提供了一个集成开发环境,但仅仅这些是不够的,我们还需要集成一种或多种手机模拟器来进行程序测试工作。目前,各大手机厂商都拥有多种型号的手机模拟器,并且Sun也提供了一种通用模拟器。这里我们采用Sun WTK来为大家演示。1.4.1 加载Sun WTK v2.2WTK(Wireless toolkit)是Sun为无线开发者提供的一个无线开发

12、实用包。它拥有多个手机模拟器,我们在这里将WTK绑定到EclipseME,这将大大提高开发者的工作效率。当前WTK的稳定版本是2.2,最新的版本是2.5。在这里,我依然选择2.2。安装过程也很简单,一路Next就可以了。下面我将WTK绑定到EclipseME。WindowPreferencesJ2MEDevice Management先单击Browse,选中wtk2.2所在目录,然后单击Refresh,在Device中会出现四个Device,如下图红色,最后单击Finish按钮在Device management中将DefaultColorPhone 选中,将DefaultColorPhone

13、设为默认模拟器。然后单击OK1.5 导入现有的项目File-Import 如果项目报错了,请设置一下模拟器先选中项目,右键 properties,如下图在J2ME这一项中,将Device中的Group设为 “J2ME Wireless Toolkit 2.2”如下图第1章 J2ME 技术概述1.1 什么是J2ME1.2 J2ME平台体系结构1.3 MIDlet应用程序的生命周期随着移动通信的突飞猛进,移动开发这个新鲜的字眼慢慢成为开发者关注的热点。在CSDN的最近一份调查显示,有24.34%的受访者涉足嵌入式/移动设备应用开发,这个数字可能略高于实际的比例,但也足可说明嵌入式/移动设备应用开发

14、是一块诱人的新鲜奶酪。J2ME(Java 2Micro Edition)是嵌入式/移动应用平台的王者,Linux 和WinCE 分列二、三位。Nokia 等厂商力推的Symbian 平台目前开发者占有率尚未达到满意水平,考虑到调查项合并了嵌入式设备(例如PDA)和移动设备(例如智能手机),Symbian、WinCE 系列在移动平台上会是竞争的主要两方。如果厂商能在标准实现上做得更加规范,则J2ME 的跨平台特性会发挥得更加淋漓尽致,继续保有王者地位。本章将从J2ME 的体系结构和MIDlet 应用程序模型。1.1 什么是J2ME学习J2ME 以前知道什么是J2ME 是非常重要的。J2ME 是S

15、UN 公司针对嵌入式、消费类电子产品推出的开发平台,与J2SE 和J2EE 共同组成Java 技术的三个重要的分支。J2ME 实际上是一系列规范的集合,由JCP 组织制定相关的Java Specification Request(JSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须要通过TCK 测试,这样确保兼容性。比如MIDP2.0 规范就是在JSR118 中制定的。可能接触过J2ME 的开发者会觉得说J2ME 是一系列的规范不准确吧。因为我们在开发中用到了很多例如CLDC(Connected Limited DevicesConfiguration)和MIDP(Mobile

16、Information Devices Profile)等内容。其实这并不矛盾,因为这些就是在相关规范中制定的。如果你还没有很好的理解这个问题,没有关系,请继续往下面看,我们开始认识J2ME 平台的体系结构。1.2 J2ME 平台体系结构J2ME 平台是由配置(Configuration)和简表(Profile)构成的。配置是提供给最大范围设备使用的最小类库集合,在配置中同时包含Java 虚拟机。简表是针对一系列设备提供的开发包集合。在J2ME 中还有一个重要的概念是可选包(Optional Package),它是针对特定设备提供的类库,比如某些设备是支持蓝牙的,针对此功能J2ME 中制定了J

17、SR82(Bluetooth API)提供了对蓝牙的支持。目前,J2ME 中有两个最主要的配置,分别是Connected Limited Devices Configuration(CLDC)和Connected Devices Configuration(CDC)。他们是根据设备的硬件性能进行区分的,例如处理器、内存容量等。由于这个标准是在2001 年的时候指定的,而现在移动终端的处理能力和内存容量发展很快,如果还按照这个标准来评判可能就不准确了。因此我们只是列出标准,供读者参考。本教程将主要讲解基于 CLDC 的J2ME 平台的相关内容。随着技术和硬件设备的不断发展,J2ME 开发网将逐步

18、推出基于CDC 的J2ME 平台介绍。CDC 的硬件参数: 2M 以上内存。 具有网络连接能力,通常为无线网络。 需要实现java 虚拟机规范的全部功能。 32 位或者64 位的处理器。CLDC 的硬件参数: 512 KB 以下内存 有限能源供应(通常使用电池) 有限或非持续网络连接 简单的用户界面 16 位或者32 位的处理器从上述的标准中我们不难看出 CLDC 主要针对那些资源非常受限的设备比如手机、PDA、双工寻呼机等。而CDC 主要面对那些家电产品,比如机顶盒、汽车导航系统等。简表是以配置为基础的,例如Mobile Information Devices Profile(MIDP)就是

19、CLDC 上层的重要简表。与配置的纵向特性不同的是,简表是横向的。下图是J2ME 体系结构的框图:J2ME 体系结构框图1.3 MIDlet 应用程序的生命周期理解 J2ME 的体系结构并不像想象的那么容易,我们觉得读更多的资料帮助也不大,我们直接迈向J2ME 开发也许会对你理解J2ME 平台体系结构这个重要的概念有所帮助。在MIDP中定义了一种新的应用程序模型MIDlet,它是被Application Management Software(AMS)管理的。AMS 负责MIDlet 的安装、下载、运行和删除等操作。在被AMS 管理的同时,MIDlet 可以和应用管理软件通信通知应用管理软件自

20、己状态的变化,通常是通过方法notifyDestroyed()和notifyPaused()实现的MIDlet 有三个状态,分别是pause、active 和destroyed。在启动一个MIDlet 的时候,应用管理软件会首先创建一个MIDlet 实例并使得他处于pause 状态,当startApp()方法被调用的时候MIDlet 进入active 状态,也就是所说的运行状态。在active 状态调用destroyApp(boolean unconditional)或者pauseApp()方法可以使得MIDlet 进入destroyed 或者pause 状态。值得一提的是destroyApp

21、(boolean unconditional)方法,事实上,当destroyApp()方法被调用的时候,AMS 通知MIDlet 进入destroyed 状态。在destroyed 状态的MIDlet 必须释放了所有的资源,并且保存了数据。如果unconditional 为false 的时候, MIDlet 可以在接到通知后抛出MIDletStateChangeException 而保持在当前状态,如果设置为true 的话,则必须立即进入destroyed状态。下图说明了MIDlet 状态改变情况:MIDlet 状态图下面通过一个例子来验证 MIDlet 应用程序的生命周期:import ja

22、vax.microedition.midlet.*;import javax.microedition.lcdui.*;public class HelloWorld extends MIDletprivate Display display;/构造函数public HelloWorld()display = Display.getDisplay(this);System.out.println(Constructor);public void startApp()System.out.println(startApp is called.);Form f = new Form(HelloTe

23、st);display.setCurrent(f);public void pauseApp()System.out.println(pauseApp is called.);public void destroyApp(boolean unconditional)System.out.println(destroyApp is called.); 编译该程序后运行,控制台上就会依次输出:ConstructorstartApp is called.当我们退出该程序时,控制台就会输出:destroyApp is called.对于详细的生命周期问题,读者可以查看其他教程或者本指南以后的更新的版本。最后,简要说一下J2ME 项目的开发流程作为本章的结尾。开发流程一般是按照如下顺序:编写源程序、编译为class 文件、进行预校验、打包和发布应用程序。关于详细的开发流程以及如何使用集成开发环境开发J2ME 应用程序,将在其他章节介绍。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1