开始使用Java ME

这一篇是我在Getting started with Java ME的中文翻译,网址在开始使用Java ME
为了备份,并转贴在此:

要使用你的第一个Java ME应用程式(MIDlet)在一台真正的机器上跑需要一些步骤,这个维基网页是这些步骤的指南,因为他是针对第一次应用程式的开发,所以有些事情被简化,更多详细的资讯可以在别的地方找到。

Contents

[hide]

Java ME是你需求的正确工具吗?

Java ME是桌上电脑标准Java(Java SE)的有限集合,它有些其他手机相关的API,有一些限制你需要记住:

  • MIDlets因为安全的因素再杀盒里面执行。(当使用某些功能时需要确认,像连网或是发送简讯。)
  • 没有JNI (Java原生介面)所以你不能在手机上展开Java Me环境的能力。
  • 没有Swing或AWT类别,MIDlets使用自己的(最简单的)UI类别。
  • Java ME环境的能力差异很大,因为手机有不同的API选项可以实做(例如存取档案、存取电话簿、影音录制、三维图形等等。)

因此首先,开始之前别的,考虑看看Java ME 是否是你的正确选择,或是你应该使用Flash Lite开发应用程式(可以在40及S60系列手机上执行),或者你应用Python设计程式(只能在S60用)或是原生的Symbian C++(只能在S60的手机上用),(然而,SymbianOS上原生的C++开发非常的乏味而且容易出错,所以为了生产力的原因,Java ME可能是较好的选择。)

假如Java ME似乎是一条要走的路,你可以在这个维基或诺基亚论坛的Java讨论区里找到很多好的资讯,另外在诺基亚的网站里也有文件可以使用,就跟在升阳的网站IBM DeveloperWorks网站一样。

开发流程概述

首先记住你必须在你开发的电脑上设计程式、编译及布署MIDlet,你不能在自己的手机上建立MIDlet(尚未有这个功能)。

要写MIDlet程式码,可以使用文字编辑器或是你喜欢的IDE (整合式开发环境),(请见下面诺基亚支援的IDE,)然后使用Java SE SDK (JDK)所附的javac编译器编译,这时候你甚至不需担心你的程式,你的程式码在这个阶段会先被预审核。

在能够安装MIDlet到一台真正的机器之前,你仍需要封装MIDlet类别及资源成JAR (Java的档案文件)然后产生一个JAD (Java应用描述文件)档,JAR档包含所有要执行这个应用程式的程式码,JAD档式一个文字档包含了关于MIDlet的描述资讯(大小、所需的 API、MIDlet名称、厂商名称及可签名讯息),这可以让手机(及使用者)可以使用来决定是否要下载这个MIDlet,你只需要安装JAR档到手机上 就能够执行MIDlet;然而,强烈建议使用这两个档案来安装应用程式。

在这个阶段,你可以在你的开发工作站使用手机的模拟器来测试MIDlet,然后进可能的更改、然后重新编译及封装,当你满意这个结果,你可以移转产生的JAR及JAD档到真正的手机上 、安装应用程式然后测试。(你应该在发行之前在真正的机器上测试MIDlet。)

你也可以使用某些线上的资源在真正的机器上来测试你的应用程式,像是远端设备存取(RDA)或是Device Anywhere

你也应该下载其他厂商的模拟器(摩托罗拉、索尼爱立信、三星等等),然后使用它们来测试你的应用程式。

需要的硬体

因为诺基亚开发工具的需求,你开发的电脑必须是一台执行Microsoft Windows 2000 (SP 4)或Microsoft Windows XP (SP 2)的PC。

S60需要的软体

关于S60平台的Java ME开发,需要下列的工具:

  • Java SE (标准版本) Development Kit (JDK)
  • 无线开发工具包
  • Nokia SymbianOS/S60 SDK for Java
  • 一个IDE加上Java ME的开发(诺基亚支援Eclipse + EclipseMENetBeans + Mobility Pack)
  • 说明文件

安装这些工具的详细资料,见安装S60的Java ME开发工具

S40及S80系列的模拟器及SDK

在S60开发的例子里,使用执行Windows 2000或Windows XP的PC,及EclipseNetBeans的IDE,以及相关的Java ME开发外挂(EclipseMEMobility Pack),见安装S60的Java ME开发工具下载的位置。

设计及编译你的第一支MIDlet程式

Hello World in Java MECreating your first MIDlet using EclipseME

典型陷阱

使用错误的Java编译选项编译Java ME程式

正确的编译版本是1.3或1.4,使用5.0或6.0版本来边议会不能安装MIDlet。

用不正确的CLDC或MIDP版本编译及封装MIDlet

这特别在使用升阳的无线通讯包时是真的,它预设是用MIDP 2.1建置MIDlet,然而目前大部分的手机只能用MIDP 2.0,(注意,你可以安装手机可以支援的较旧版的CLDC/MIDP,但是你不能用较新的CLDC/MIDP版本来安装MIDlet到手机上,检查FN device specification pages上支援的CLDC及MIDP版本。)