当前位置:天才代写 > tutorial > JAVA 教程 > 初学j2me必读 网友进修条记

初学j2me必读 网友进修条记

2017-11-13 08:00 星期一 所属: JAVA 教程 浏览:325

副标题#e#

这是我去年给伴侣们写的文章,但愿对你可以或许有所辅佐

 开拓手机游戏的一点心得

 应用开拓情况的选择和设置

 2003年三月份,我刚开始打仗了手机游戏的开拓。开拓手机上的游戏措施,最初仅仅只是出于乐趣喜好,操功课余时间本身陆连续续的也写了一些Code,获得了一些履历,原来是想敝帚自珍的,可是伴侣的勉励,使我抉择把本身的一点点心得体会写出来,藉以告慰我在进修中所阵亡的千千万万脑细胞,也为和我一样在暗中的艰巨探索人们中提供一些微不敷道的辅佐吧。

 由于我本人对付手机应用措施的开拓也是初学,假如在文章中呈现什么问题,还望列位读者见谅。许多人都在网上问我,开拓手机应用措施是不是必然要买一个真正的手机平台,我的观点是刚开始进修的时候不必然要买手机,先在网上多看多问,把平台的开拓情况设置好,在模仿器上先单兵训练,不外我发起假如你真的需要把你的作品产物化的时候,最好配备一个真实的手机平台用来测试,因为在模仿器的运行情况顶用许多的运行结果和真实的设备情况照旧有很大的进出,在模仿器平台上运行得很好的措施未必在真实的设备上就OK,更况且你也必然跟我一样很期盼可以或许随时随地地拿脱手机Show一把本身的措施。

 如何选择开拓的东西也是很多人在筹备进修前奔走相问的,不外这个也实在欠好答复,在当前主流的手机开拓平台上根基上是战国时代,诸侯们纷纷你方歌罢我登场,各有各的长处,各有各的漏洞,仅我所知道的,当前智妙手机的操纵系统主要为微软的SmartPhone(这是基于WinCE平台的),Symbian(这是为诺基亚,索爱,西门子等各大手机厂商所支持的)尚有Brew(这是高通公司的)等,下面我就单从措施人员的角度聊一聊如何选择这几种开拓平台。

 假如你是一个优秀的Windows措施设计人员,并且对付MS情有独钟,OK,你可以试一试基于WinCE平台的SmartPhone的开拓,快到微软的网站上下载他free的eMbedded Visual C++ 4.0和SmartPhone的模仿器,安装好今后,你就可以在熟悉的Visual C++的情况下事情了,甚至喜欢C#的同志们可以选用Visual Studio .Net 2003 而且在这个情况下开始你的事情,一切都是那么的熟悉。至于缺点么,恩,就是启动和运行模仿器太慢了,调试一个措施你照旧需要支付一些耐性的,呵呵。

 假如你和我一样手机都是Nokia 60系列的,那就可以思量进修Symbian了,Symbian是一家由各主要无线通信技能公司持股的软件公司,它提供一个智能化的手机平台SymbianOS,主要有诺基亚,西门子,索爱等,他是微软在智妙手机平台的最大竞争者。

 Symbain同时支持C++开拓和Java开拓。不外进修Symbian上面C++的开拓也是需要一个艰巨疾苦的过程,你可以先在Nokia的开拓人员站点上下载Nokia 相关与Symbain的开拓东西nS60_sdk系列,安装后可以集成到VC6的情况中,在安装的时候也是有几项需要出格留意的(安装的问题,在论坛上询问的也出格多)。

 首先,你要担保你的操纵系统是Windows2000 + SP2 可能以上的设置;

 第二,你需要在你的VC6上安装SP3以上的补丁,(呵呵,我装的是SP5或许有几百兆吧)

 第三,安装nS60_sdk的时候要思量装在C盘上,这个么在网上说法纷歧,不外假如你和我一样方才安装的时候有纰谬败的记载,那么病急乱投医,也会把它安装在C盘的;

 第四,也是最重要的必然要担保你的 nS60_sdk的统一盘符上也安装了Perl和JDK1.3,因为nS60_sdk1.2并没有带着两个东东,所以我安装的是nS60_sdk1.0

 最后,必然要留意出格担保你生成应用措施的路径盘符要和nS60_sdk1.0一样,(在我这里虽然也就是C盘了)也要担保系统的情况变量Path中存在这几个东西的路径。

 当这些都设置好了,你就可以拷贝AvkonAppWiz.awx 和 AvkonAppWiz.hlp 文件到 Visual C++ template (c:\Program Files\Microsoft Visual Studio\Common\MsDev98\Template)目次下,然后启动你的VC6,凭据领导选择Nokia 60 SDK,然后一步一步地走下去,点击确定就可以生成你的应用措施框架了,夷,欠好,怎么看到了 “c:\Symbian\6.1\Series60\epoc32\build\test\group\test\wins\test.dsw The specified project could not be inserted into the current workspace.”这个错误,千万别告急,许多人都遇到过,转头再看看有什么处所配置的差池,出格要留意情况路径的设置呀。

 好了,接下去就可以正式进入进修开拓了,Nokia 60 SDK自带的辅佐和实例也许会对你有很好的辅佐的。 听说海外有好手可以把这个SDK安装设置在VS.NET上开拓,呵呵,真是锋利,至少我还没有乐成过。

 以上为Nokia60系列的开拓步调,假如你需要开拓索爱的P800(这也是我求之不得的一款好机子),可以下载他的东西UIQ来开拓。

#p#分页标题#e#

 Brew是我一个好伴侣的开拓利器,它是高通公司推出的无线二进制运行开拓操尽兴况,也必需要在高通的特定的硬件平台上运行。在伴侣的辅佐下,我在高通的网站下载了他的BREW_SDK_20zn ,他的开拓情况也是基于VC6的(呵呵,微软必然很反悔为什么把开拓东西做的那么通用,搞得敌手们纷纷拿来就用),在进入领导生成代码框架时你会发明Brew溘然需要你填入一个ClassID,这是为了担保在呆板中的注册信息独一,假如你做的是测试措施的话,你可以操作Brew SDK自带的东西MIF编辑器来生成相应的ClassID,并运行在模仿器上。

 可是假如你需要运行在实际的平台设备上,你就必需要注册到高通的网站上,成为他的开拓者,虽然还要每年都向他缴纳必然的会费(是$),然后才可以从他的站点上获得实际的ClassID,而且在硬件情况上测试,不然你就只能通过MIF编辑器生成当地ClassID在模仿器上跑着玩了,真是生财有道呀。

 Brew的开拓模式根基上与Symbain很雷同,都是在VC的开拓情况中编译代码,生成一个完整动态库,然后通过运行模仿器的可执行措施加载动态库,就可以调试你做好应用措施逻辑了,假如调试通过,就可以通过相关的东西再编译成底层硬件设备可执行的二进制代码,譬如ARM等,通过打包下载就可以运行在你的手机上。

 OK,至于他们两个的差异之处么,唔… Brew是纯粹的C语言开拓的,它通过一套奇特的机制模仿了雷同于COM的体系框架;而Symbian呢,则是完全的c++,他自身在内部实现了一整套的类库体系(很是雷同于MFC)来开拓实际在Symbain上跑的应用措施。他们的类库为了各自适应本身的平台所提供的成果,照旧有相当的差异。

 其实,Symbain和Brew作为嵌入式系统开拓的体系布局,都是依托于C++思想成立的,在他们的应用措施框架中能看到很多C++思想的影响烙印。譬如,我在进修Brew的时候脑海中一直都有一个COM的原型(他的许多组件的加载和运行都长短常像的),而在进修Symbian的工具内存打点机制的时候,也看出了它在对付操作C++的内部机制力求实现一个雷同于Java一样能对内存自动打点、分派、排除的模子,用来担保它的内存打点绝对安详。


#p#副标题#e#

假如你和我一样都是从菜鸟学起的话,发起你可以实验一下Java开拓。手机上的Java平台是Java 2平台的移动版(Java 2 Platform, Mobile Edition,J2ME™)。它专门为诸如蜂窝电话、传呼机和小我私家记事本等小型移动设备设计。J2ME实现由以下部门构成:  一个焦点的Java语言实现,包罗一个专门为小型设备定制的虚拟机(virtual machine,VM)以及一套支持在该设备长举办系统级编程的最精简的东西包和类。这被称为一个设置。

 还有一套能为应用开拓同伴提供实用应用措施接口(API)的高级东西包(譬喻:用户界面组件、高级声音播放成果等)。这被称为一个描写。

 我们凡是支持Java的手机实现回收有限毗连设备设置(the Connected Limited Device Configuration ,CLDC)和移动信息设备描写(Mobile Information Device Profile MIDP)
   
 我们平时也称号我们手机上开拓的Java措施叫做Midlet(因为是回收MIDP开拓出来的么,他也是我们系统运行的一个最主要的类)可能更亲切的称号他Kjava.

 至于他的长处么,en, 虽然是SUN说的“一次编译,处处运行”优势了。也就是说你不消再针对特定的设备编程,而只需要在PC的模仿器中测试编译一次,就可以运行在任何支持MIDP的手机平台上了。但优势也是劣势,假如想要运行在通用的平台上,就要有一些安详方面的思量。

 Java放弃了许多对象,个中自然就包罗了许多涉及硬件底层的成果。譬如电话、电话簿操纵、短信成果以及一些其他的成果。所以许多人也在笑话“Kjava像个玩具,只能做游戏”。

 为了补充这个缺憾,各个厂商先后推出了本身OEM的API包来支持许多底层成果,虽然个中挪用了很多Java Native要领,这在必然水平上粉碎了Java到处运行的特性了,可谓“熊掌鱼翅不行兼得也”。Sun本身也在做出尽力,推出MIDP2.0,增补了一些API,这也正是我们所期盼的。虽然,J2ME最为突出的利益就是他的简朴,只要稍微有些Java语言基本的人都可以很快地把握它。只需设置好情况,就可以生成应用。这也大大的低落了手机开拓的门槛。试问,尚有什么比看到本身的措施运行在手机上更能带给我们豪情的呢?呵呵。

 我的手机开拓也正是从J2ME开始的,下面就让我详细的先容一下J2ME开拓手机游戏的步调吧。

#p#分页标题#e#

 首先,就是设置J2ME的开拓情况,先从Sun的网站中可以下载到j2sdk(简称JDK),1.3或1.4的版本都可以,尚有j2me_wireless_toolkit1.4(简称WTK)。先按要求装好JDK,然后再凭据划定一步一步的安装WTK,在安装的进程中他会自动设置JDK的路径和开拓的情况。此刻在Sun的网站上同时提供了WTK1.4和WTK2.0这两个版本,WTK2.0多提供了几个很有用的开拓包(主要是加密,游戏和媒体节制),可是惋惜的是此刻支持WTK2.0的手机照旧很少,所以我安装的照旧WTK1.4。

 在安装好这些开拓情况这后,你就可以进入菜单直接启动KtoolBar了,这是一个对所发生的Midlet编译、运行、打包的集成情况,可以操作它来举办新建项目、打开项目、选择方针模仿器编译、运行并打包等操纵。这是一个可视化的情况。进入安装后的目次,你就可以看到以下几个主要的文件夹:
appdb:这个文件夹主要是用来存放系统所需要的图片和一些数据库文件的。
apps: 这是系统的工程目次,也是最重要的,内里存放的都是详细的应用措施。个中包罗了系统自带的和你建设的应用措施的原文件(*.java)、编译后的文件(*.class)、打好的压缩包、相关的设置文件(*.jar,*.jad)以及各类资源等。
bin:   这是系统事情目次,内里是系统的各类东西,是WTK系统运行的焦点。
docs:  内里安排了具体的说明文件,用户手册以及API,是进修和开拓人员的必读之物。
lib:    安排CLDC/MIDP开拓包的处所。    
wtklib: 存放了一些WTK需要用到的资源,个中最重要的是devices目次,主要用来存放模仿器设置。在这里,你可以设置你的方针设备的模仿器。
下面让我们打开apps目次,进入一个工程目次内,来看看几个有用处的文件夹:
bin :    措施打包后,压缩包(*.jar)和设置简表(*.jad) 的存放路径。
Classes : 编译后,类文件(*.class)的存放路径。
Res :    措施的资源文件,主要是图片(*.png)。
Src :    措施源代码所存放的处所(*.java)

 相识了这些,我们就可以建设我们本身的应用措施了,首先,在KtoolBar中,建设一个新的项目,我们需要填写项目标名称和Midlet名程(真是一个奇怪的对象,Sun在拟定Java类型的时候老是喜欢将措施片起名为let,譬如Applet、Servelet,尚有Spoilet等,其实看到这些,有编写java履历的内行城市大白Midlet的布局了,根基上和Applet没有多大的区别)在接下去的Setting页面中选择默认配置就可以了,然后你会发此刻apps的目次下多了一个应用措施的目次,此刻就可以在其src目次下建设你的应用措施 java源文件了。

(填写建设一个工程须要的工程名称和主类Midlet的名称)

 MIDP的措施布局和Applet很是相似,他的主文件名称叫做Midlet,是从javax.microedition.midlet 包下派生出来的,是MIDP的主要扩展包之一,个中界说了整个别系的布局。

javax.microedition.lcdui是一个封装了各类界面控件的包,提供了MIDP在用户接口方面的各类支持。javax.microedition.rms主要提供了数据库的接口而javax.microedition.io则是提供网络支持的重要途径。这是MIDP所区别于Java的三个主要的扩充包。尚有java.io(提供输入输出流的支持),java.lang(提供语言情况的支持),java.util(提供一些重要的东西支持)这些都是从Java中担任下来的焦点开拓包。

 详细的措施编写进程还请参考WTK自带的辅佐和API应用手册。

#p#副标题#e#

在scr目次下的应用措施编辑好今后,在WTK选择编译,就可以编译你的应用措施了,编译的步和谐功效会显示在下面的信息框中,假如编译顺利通过的话,就可以点击运行按钮来启动模仿器进而运行你的应用措施了。

 OK,一切都是那么的简朴。模仿器是通过devices列表框来选择的。wtklib\devices目次下有几种系统自带的模仿器,我们可以通过选择模仿器来设置我们措施实际需要的运行情况。在一切都顺利完成之后,就可以将应用措施打包了,打包的时候可以先设置简档文件,在应用措施中点击Setting就可以设置了,详细的设置要领请参考用户指南,生成的JAD文件实际上是一份文本的注册文件,在应用措施被网络无线用户下载的时候起到了一个说明文件的浸染,在一切设置好今后,点击project\packag\Create Package的菜单项就可以编译打包了。

 生成的压缩包(*.jar)和设置文件(*.jad)被安排在apps\应用措施名称\bin目次下。把压缩包上传到实际的设备中就可以实机操纵了。

#p#分页标题#e#

 综上所述,WTK仅仅提供了一个可视化的工程打点、编译、运行和打包的东西,却没有提供编辑源代码的情况,这样你就有很大的自由度去选择源码编辑器了。我利用的编辑东西是UEdit,它提供应我一个很是简朴的编辑和打点源代码的事情情况,并拥有强大的编辑成果,给我的进修开拓带来了许多利便。虽然你也可以选用IBM的Eclipse(这也是一个很是好的编辑源代码的免费东西,并且是开源的,我小我私家也很是的喜欢),可能Sun的SunOne for Mobile 以及Broland的Jbuilder 一切都可以按照本身的喜好去选择。

 有些人问起了关于“夹杂”的问题。由于JAVA措施是半表明的,他的方针文件是字节码,也就是*.class的形式,导致了他很容易被反编译(我见过许多反编译的东西,做的都相当的大度)。夹杂就是打乱措施中所有的变量名称和函数名称,让其他人举办反编译后无法看懂你的源文件,这是一个不行逆的进程,由于修改了变量函数的名称(简朴的说就是把你一个很长的名字缩小到一个字母罢了,横竖呆板又不消去记),在编译的时候夹杂也可以或许起到一些压缩的浸染。哦,夹杂是需要特定东西包来实现的。

 retroguard可以用在WTK1.4上面,用法很是简朴,只需要把解压后的retroguard.jar文件放到WTK\bin目次下就可以了,在打包的时候仅需要选择下面一项打成夹杂包就可以了。可是尚有一些小问题,这个夹杂包好像不能夹杂一些扩充的包(好比Nokia的扩充API包,这个在下文中会讲到的),这时你就可以思量利用另一个东西proguard(这个东西WTK1.4并不提供支持)了,这个东西的利用照旧较量贫苦的,我在一篇文章中看到,它必需要有一个设置文件,还需要拟定特定的目次,然后才气在呼吁行中启动,呵呵,其实尚有一种简朴的要领,那就是可以把他集成到WTK2.0中去,WTK2.0提供了对他的支持,安装的要领和retroguard一模一样。他就可以完成对一些非凡的扩充包举办夹杂了。

 最后,我在聊一下如何插手第三方提供的包和模仿器,就以Nokia为例,Nokia的官方技能网站中提供了许多的针对与差异设备手机的开拓包(主要包罗Nokia 60设备,Nokia 40设备,Nokia 7210,Nokia 3300等)。要下载这些包,你必需先成为诺基亚网站的正式用户,然后可以获得用户名和暗码.在安装这些开拓包之前,必需先安装一个叫做nds_jme的东西包,它主要是提供了差异的Nokia设备SDK之间的打点和一些非凡的东西,譬喻音频代码东西和模仿器的打点东西。回收第三方东西的长处就在于它提供了一些依赖于特定硬件的扩充包,可以让我们开拓许多底层所提供的成果。

 在安装nds_jme的东西包后,就可以安装nS60_jme_sdk的60系统的开拓包了,安装的路径可以选择在WTK\wtklib\devices下,这样就可以和你的WTK系统整合起来了。启动WTK的KtoolBar后,你可以从devices下拉框中看到60系统的设备,这时就可以启动60设备来调试你的应用措施了。有一点较量要害,就是你每次必需要先把MIDP应用措施打成压缩包后再点击运行来启动模仿器举办应用措施的调试。好了,到此为止,您应该已经根基相识得手机开拓平台的选择要领和J2ME的根基设置进程。我们下一部门将先容如何慢慢由筹谋、设计到开拓你的第一个手机游戏的全进程了。

 

    关键字:

天才代写-代写联系方式