J2ME开发的一般步骤

J2ME开发的一般步骤最近一段时间发现身边有一本买了一年多的J2ME的书没看,于是抱起来大概看了一下,我的E72是Symbian系统,支持J2ME,所以做了几个简单的小玩意。在学习J2ME开发的过程中有一些简单的心得和体会,现在写下来备忘,如果有朋友也正在学习J2ME开发,觉得有帮助的话,那是最好不过的事情了。 1.开发环境安装配置 目前开发J2ME应用的环境有多种,有基于NetBean的,不过仍以Eclipse为

大家好,又见面了,我是你们的朋友全栈君。

最近一段时间发现身边有一本买了一年多的J2ME的书没看,于是抱起来大概看了一下,我的E72是Symbian系统,支持J2ME,所以做了几个简单的小玩意。在学习J2ME开发的过程中有一些简单的心得和体会,现在写下来备忘,如果有朋友也正在学习J2ME开发,觉得有帮助的话,那是最好不过的事情了。

 1.开发环境安装配置
 目前开发J2ME应用的环境有多种,有基于NetBean的,不过仍以Eclipse为主流。所以本篇以在Eclipse下开发J2ME来介绍。
 1.1下载JDK
 因为这些软件本身是用Java开发的,所以首先需要去Java的官方网站下载JDK了,下载地址是:http://www.oracle.com/technetwork/java/javase/downloads/index.html,当然也可以在国内正规网站下载,这样可以获得比较快的下载速度。
 1.2下载Eclipse
 最开始Eclipse仅仅是针对Java的,现在有不同开发场景下的插件,如JavaScript、PHP、C/C++、Java SE、Java EE及Java ME等,地址是:http://www.eclipse.org/downloads/,这里选择“Pulsar for Mobile Developers”,其下载地址是:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/helios/R/eclipse-pulsar-helios-win32.zip。这是一个Zip文件,下载完成后如果安装了JRE或者JDK即可双击Eclipse.exe使用。

 2.插件安装配置
 在进行J2ME开发中,个人觉得比较有用的插件如下:
 properties文件的Eclipse插件:http://propedit.sourceforge.jp/eclipse/updates
 Coffee Bytes Java Folding Eclipse插件:http://eclipse.realjenius.com/update-site
 ExploreFS插件: http://www.junginger.biz/eclipse/
 MTJ插件: http://download.eclipse.org/mtj/updates/1.1.2/stable
 安装插件的步骤如下(以安装在Eclipse for J2SE为例,在此基础上添加J2ME插件):找到Eclipse界面上的Help->Install new software…->Add,在”name”处输入” JavaME”,在处输入” http://www.eclipseme.org/updates/ ”,如下图:
 J2ME开发的一般步骤
 点击”OK”之后出现如下界面:
 J2ME开发的一般步骤
 选择要安装的部分,再点击”Finished”就可以自动安装相关插件。注意,视插件大小的不同,安装的时间也会不同,不过一般时间都相对较长。
 为了避免中文乱码的问题,最好了解一下SDK对文件编码的支持程度,一般来说为了简单起见,都是将文件编码设置为“UTF-8”,如下所示:
 J2ME开发的一般步骤
 
 3.开发包安装配置
 目前比较流行的开发包有WTK(Wireless Toolkits)及各支持J2ME的手机厂商自己推出的SDK。如果针对某一类型的手机做开发,可以直接去其官方网站下载SDK,像周公使用的是Nokia E72,它的SDK可以在Nokia的官方网站下载S60 Platform SDKs for Symbian OS, for Java?的开发包,下载地址是:http://www.forum.nokia.com/info/sw.nokia.com/id/6e772b17-604b-4081-999c-31f1f0dc2dbb/S60_Platform_SDKs_for_Symbian_OS_for_Java.html
 
 注:关于插件的安装及配置在周公的另一篇文章《WinXP下搭建适合Nokia开发的J2ME环境》中有比较详细的说明,网址是http://blog.csdn.net/zhoufoxcn/archive/2010/07/12/5728224.aspx
 
 4.编码及测试
 这里用来举例的是一个简单的例子,这是一个数字时钟,为此我们需要准备12个图片文件,分别用于时钟绘制、表盘及作为应用程序的图标。
 项目体系结构如下:

J2ME开发的一般步骤

 

MainMIDlet.java的代码:

ImageCanvas.java的代码:

 

由于今天要讲述的重点不是如何编写J2ME应用,而是这种讲述整个流程,所以这里不对代码做过多解释。
 
 5.更改有关应用程序的信息
 上面的代码能编译通过并且能在Symbian系列手机上运行,不过如果你就此将生成的jar包拷贝到手机上安装运行,会看到类似下面的效果:
 J2ME开发的一般步骤
 这是因为关于这个J2ME应用很多还是采用了默认设置,为了让我们的应用与众不同,我们应该做一些特有的设置,比如设置应用的logo及应用名称等,这些可以在Eclipse中很方便地设置。打开项目中的“Application Descriptor”文件,然后打开“Application Descriptor”选项卡,如下:
 J2ME开发的一般步骤
 此时这个文件的内容为:
 MIDlet-Version: 1.0.0
 MIDlet-Vendor: MIDlet Suite Vendor
 MIDlet-Jar-URL: DigitalClock.jar
 MicroEdition-Configuration: CLDC-1.1
 MIDlet-1: MainMIDlet,,com.netskycn.MainMIDlet
 MicroEdition-Profile: MIDP-2.0
 MIDlet-Name: Zhou
 我们把它改为:
 MIDlet-1: 卡通时钟,/images/logo.png,com.netskycn.MainMIDlet
 MIDlet-Jar-URL: DigitalClock.jar
 MIDlet-Icon: /images/logo.png
 MicroEdition-Configuration: CLDC-1.1
 MIDlet-Version: 1.0.0
 MIDlet-Name: 卡通时钟
 MIDlet-Description: 卡通时钟
 MIDlet-Vendor: 周公
 MicroEdition-Profile: MIDP-2.0
 在上面的文本中红色加粗部分是新增的,仅仅标识为红色的是在原有基础上做的修改。这样一来我们的应用程序安装之后就可以显示我们指定的名称和图标了,如下图所示:
 J2ME开发的一般步骤
 
 6.代码混淆
 上面的代码确实能够很好的运行,但是由于运行在虚拟机之上的语言都有一个特点,那就是因为比较高级的原因所以很容易被反编译,如果你的点子很好,人家可以通过反编译工具查看你的代码,“借鉴”或者篡改程序代码以达到不可告人的目的(这一点国内的*坝及一些所谓开源的操作系统和国产数据库做得很好,“借鉴”得相当成功,据说有的都进入“核高基”了)。作为公司和个人来说自然不希望出现这样的情况,避免这种情况有几种办法:加壳、加密和混淆。相对来说,混淆是副作用最小的一种,因而也被普遍接受。ProGuard是一款不错的开源混淆工具,它的下载地址是:http://proguard.sourceforge.net/
 将下载的文件解压到一个文件下,然后在Ecplise中做如下配置:
 J2ME开发的一般步骤
 
 7.应用程序打包
 刚刚我们已经设置了ProGuard,的根路径,下面我们来将如何使用。首先选中要打包的项目,然后鼠标右键,选择“Export…”,这时候出现如下界面:
 J2ME开发的一般步骤
 选中“Export Midlet Package”然后点击“Next”,出现如下界面:
 J2ME开发的一般步骤
 在上图中选中“Obfuscate the code”后,打包后的应用程序代码就被混淆了,混淆代码除了是代码更难懂之外,还可以一定程度上减少打包文件的体积。
 
 总结:这是一个周公这几个星期来学习J2ME开发的一个总结,偏重于流程的介绍,关于如何设置应用程序安装后的问题和图标问题周公是费了很大心思才弄明白的。作为备忘,周公写了这篇文章,如果你当前也在学习J2ME开发的初级阶段,或许也能有一点参考价值。周公正在琢磨基于微博的应用,如果有兴趣,请在新浪微博上围观,地址是:http://weibo.com/zhoufoxcn,此外本项目的示例代码和图片可以到此处下载。
 
 周公
 2011-06-12

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157219.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ETAP软件–可靠性计算

    ETAP软件–可靠性计算对单辐射架空线路进行可靠性计算过程。图1单辐射架空线路分段接线图各元件可靠性参数如下:架空线路故障停运率(次/百公里) 55.865架空线路停电平均持续时间(小时) 4.1622断路器故障停运率(次/百台) 1.699断路器停电平均持续时间(小时) 4.8864开关故障停运率(次/百台) 54.677开关停电平均持续时间(小时) 1.9361每个负荷点带2个用户,架空线路长度,…

    2022年7月14日
    25
  • springCloud五大核心组件「建议收藏」

    springCloud五大核心组件「建议收藏」1.springCloud五大组件运行流程2.springcloud简单介绍SpringCloud是微服务架构的集大成者,将一系列优秀的组件进行了整合。基于springboot构建,对我们熟悉spring的程序员来说,上手比较容易。通过一些简单的注解,我们就可以快速的在应用中配置一下常用模块并构建庞大的分布式系统。SpringCloud的组件相当繁杂,拥有诸多子项目。重点关注Netfl…

    2022年4月19日
    120
  • Android程序员如何制定自己的职业规划,拒绝做码农[通俗易懂]

    Android程序员如何制定自己的职业规划,拒绝做码农[通俗易懂]无论是程序员还是任何其他的职业,我认为都应该有清晰长远的职业规划。虽然说计划没有变化快,但如果没有计划就更谈不上计划了。没有职业规划的人,在工作上基本都是为了完成任务而做,很难得到提升,因为没有目标,所以人就是一种得过且过的状态。所以作为一个有眼光的人,应该有自己长远的职业规划,即使没有长远的职业规划,也应该有短期的规划,这样人做事才有动力,有目标。程序员一直都是一个热门话题,因为工资比较高,…

    2022年4月28日
    167
  • python+Django+Mysql+协同过滤电影推荐系统简介

    python+Django+Mysql+协同过滤电影推荐系统简介电影推荐系统技术采用前端:bootstrap3+vue+jquery后端:django2.2.1+djangorestframework(MVC框架)数据库:mysql数据集:豆瓣数据集+豆瓣电影爬虫+csv存储movielens数据集+图片+用户数据和评分数据+csv存储功能介绍录入电影信息用户打分电影标签分类电影推荐电影分享电影收藏后台管理系统。算法基于用户的协同过滤算法:协同过滤,根据用户的打分来进行推荐。从所有打分的用户中找

    2022年6月11日
    40
  • 【矩阵论】单射、满射与双射

    【矩阵论】单射、满射与双射映射;Mapping映射是两个集合中的一种特殊的对应关系,即如果按照某种对应法则,对于集合A中的任何一个元素,在集合B中都有惟一的元素与它对应,那么这样的对应(包括对应法则)叫做集合A到集合B的映射。其中,A中的元素称为原像,B中的元素称为A中元素的像(imageimage)。单射、满射与双射;Injection,surjectionandbijection单射:在英语中称为injection

    2022年5月2日
    136
  • Java学习之JavaWeb篇[通俗易懂]

    Java学习之JavaWeb篇[通俗易懂]讲解了什么是Javaweb,以及如何去搭建一个网站

    2022年7月9日
    23

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号