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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • executescalar mysql_ExecuteScalar

    executescalar mysql_ExecuteScalar这两个答案和一点点思考使我想到了一个接近答案的东西。首先再澄清一下:该应用程序是用C#(2.0+)编写的,并使用ADO.NET与SQLServer2005进行通信。镜像设置是托管主体和镜像的两个W2k3服务器以及托管作为监视器的快速实例的第三个服务器。这样做的好处是,故障转移对于使用数据库的应用程序几乎是透明的,它将对某些连接引发错误,但从根本上讲一切都会很好地进行。是的,我们得到了奇怪的误报…

  • 拦截器与过滤器的区别

    拦截器与过滤器的区别文章目录一、二者理解过滤器(Filter)拦截器(Interceptor)二、拦截器与过滤器的区别区别:三、拦截器与过滤器的触发时机拦截器与过滤器触发时机不一样四、使用场景五、图解一、二者理解过滤器(Filter)过滤器,是在javaweb中将你传入的request、response提前过滤掉一些信息,或者提前设置一些参数。然后再传入Servlet或Struts2的action进行业务逻…

  • jrtplib使用笔记[通俗易懂]

    一、简述RTP是目前解决流媒体实时传输问题的最好办法,而JRTPLIB是一个用C++语言实现的RTP库,包括UDP通讯。刚使用JRTPLIB,对JRTPLIB的理解还不够深,当做使用时,积累的一些经验写个笔记吧。二、RTP协议实时传送协议(Real-timeTransportProtocol或简写RTP,也可以写成RTTP)是一个网络传输协议,RTP协议详细说明了在互联

  • 基于FPGA的SDRAM控制器设计(一)「建议收藏」

    基于FPGA的SDRAM控制器设计(一)「建议收藏」基于FPGA的SDRAM控制器设计(一)1.SDRAM控制器整体框架2.UART_RX模块3.UART_TX模块4.RX与TX模块的整合5.需要注意的问题1.SDRAM控制器整体框架图1.1整体框架PC端通过串口模块UART_RX发送读写命令以及数据到Cmd_encode模块,由后者分离出数据存入wfifo模块,剩下的读写命令传送到Sdram_top模块对SDRAM进行写操作或者从SDRAM读数据到rfifo模块并通过UART_TX模块将数据送出到PC端。2.UART_RX模块主体代码(见

  • linux(8)Linux 查看端口占用情况[通俗易懂]

    linux(8)Linux 查看端口占用情况[通俗易懂]前言平常使用linux,我们经常需要查看哪个服务占用了哪个端口,接下来就为大家介绍了2种Linux查看端口占用情况可以使用lsof和netstat命令。1.lsof-i:端口号用

  • jQuery下载和安装详细教程[通俗易懂]

    jQuery下载和安装详细教程[通俗易懂]下载jQuery我们可以到jQuery的官网下载jQuery文件(PS:其实jQuery就是一个封装了很多函数的js文件,把这个js文件导入到网页中就可以了)。jQuery官网地址:https://jquery.com/打开官网,即可看到jQuery的下载按钮,点击进入下载页面。有两个版本的jQuery可以下载:Productionversion-用于实际的网站中,是已经被精简和…

发表回复

您的电子邮箱地址不会被公开。

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