j2me环境配置

   买了e50 很久了,但还没有尝试在手机下进行编程过。。作为一个程序员,觉得有点可惜,今天有空配置一下环境,也作一下手机开发

最终要先配置好jdk的环境(废话)

  首先要在nokia的论坛上下载一个nokia的sdk。e50下的系统为sybmian第三版,所以下载的nS60_jme_sdk_3rd_e_FP1这个文件(要先注册的),把这个sdk包安装上

 

 

   至于IDE,我用惯用了 eclipse,当然要用eclipse的插件,于是找到clipseMe,这是在nokia的论坛上介绍的,下载回来后,像平常插件一样扔到相应的文件夹就行了。再打开eclipse,->首选项就会多出一个j2me出来,展开它就有一个Device Management,

按一下import 这个键,选个刚才要安装的sdk包,refresh一下会出现很多设备。这大概就是nokia开发的模拟器吧.接着再到java这个选项中,装调试器超时设为15000,(当然你也可以设置更大一些),因为运行时,contect to agent真是太慢了..

    有些文章上介绍要装sun的wtk,但我觉得好像没有什么用的,因为开发nokia的程序,所调用的库也是用nokia,但好歹也要给些面子给sun,说不定什么时候会用到。。这也没有什么好说的,从sun网站下载回来后,安装上去,再import进去就行了

    好了,现在新建一个j2me midlet suite项目,新建一个sayhello的j2me midlet类,源代码如下

java 代码
  1. import javax.microedition.midlet.MIDlet;   
  2. import javax.microedition.midlet.MIDletStateChangeException;   
  3. import javax.microedition.lcdui.*;   
  4.   
  5. public class SayHello extends MIDlet {   
  6.     Display display;   
  7.     private TextBox textBox;   
  8.        
  9.     public SayHello() {   
  10.         // TODO 自动生成构造函数存根   
  11.         super();   
  12.         display = Display.getDisplay(this);   
  13.         textBox = new TextBox("演示","你好",50,0);   
  14.     }   
  15.   
  16.     protected void destroyApp(boolean arg0) throws MIDletStateChangeException {   
  17.         // TODO 自动生成方法存根   
  18.   
  19.     }   
  20.   
  21.     protected void pauseApp() {   
  22.         // TODO 自动生成方法存根   
  23.   
  24.     }   
  25.   
  26.     protected void startApp() throws MIDletStateChangeException {   
  27.         // TODO 自动生成方法存根   
  28.         Form form = new Form("First MiDlet");   
  29.         //form.append("你好"+display.getColor(Display.CHOICE_GROUP_ELEMENT));   
  30.         display.setCurrent(textBox);   
  31.   
  32.     }   
  33.   
  34. }   

 

j2me的程序继承midlet类,从startApp()开始执行,类似于main方法

现在开始运行下这个程序了,打开eclipse上的运行,新建一个Wireless Toolkit的配置,Midlet上选择运行那一个类,和那个jad文件,Emulation上选择运行在那个设备,选选择了

Sun wireless toolkit的DefaultColorphone设置,按下运行,出现了我们的第一个程序SayHello.....

 再测试一下S60 3rd Editor,出现了错误java.util.zip.ZipException :invalid entry compressed size(expected 638 but  got 604 bytes),这是在sdk process处理过程中的create jar file出错了。

根据字面上的意思是读取jar包时出现 了错误,但为什么在sun wirless toolkit就正常了,有问题找google,终于找到了一个文章发现问题所在,这可能是eclipseMe生成的jar格式与s60 3rd sdk包读取模式有问题,但604 bytes和638 bytes这个是怎么得来的,但不知道eclipseMe 是怎么生成jar的。。这篇文章提出一个暂时的解决方法,先create package,再create obfuscation package,因为混淆器可以把package的大小减少的缘故吧。在命令行下输入命令emulation -Xdescription:c:\puzilla\deployed\ xxx.jad 就可成功运行

总的来说eclispseMe和nokia s60 3rd sdk结合的并不很好,但现在还是能工作,希望 以后再来解决这个问题先

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值