@shellex说: 对对,他们上辈子都是折翼的新奥尔良鸡翅

Pages

Topics

随便看看

路边社评论员

  • Keith:
    还能用不. »
  • deepblue:
    测试一下浏览器和系统 »
  • abettor:
    “就和CPU特权级别一样”——这的哥难道是Linus的表弟?! »
  • 董英男:
    为什么总提示确认是相册首页呢 到底哪个才是相册首页啊 »
  • kendisk:
    作为一个轻度Linuxer,刚分手后,感觉木有鸭梨。 »
  • MS IE:
    THIS SITE REALLY SUCK! »
  • Alex:
    gnome-women... »
  • liangsuilong:
    GNOME 自己也有鼓励女性参与项目的计划啊.. »
  • infinte:
    对不起,你的“解ban”版本算得有点问题,可以下(9)pp4 测试。ACID3可有95分啊……另外同... »
  • Alex:
    »
  • Randee Saadat:
    Glad you solved your problem, but what is your que... »
  • LinuxRock:
    没想到你也有一台和我一样的破机子......还好现在高三没怎么用,受不了它的发热量.. »

最近做JavaME开发遇到的问题

Java
由于生理上的需求,所以最近需要在手机上搞些开发,于是涉足Java Micro Edition,也就是以前的那个J2ME。

话说我觉得JavaME是做得挺失败的,各大Smartphone的OS都不大鸟他,也就symbian对它好点,C++和J2me的支持基本同步,但是Nokia收购了QT以后还能对它有多好呢?

但是木办法,在iPhone、Android、Win-Mobile、BlackBerry组成围攻之中,破破烂烂的J2ME能生存到现在直到四面楚歌也不容易阿。

不过从技术上说这个玩意还是不错的,可惜哈,可惜哈…SUN是个呆头鸟Geek,不懂得怎么博得MM心。

下面Shellex记录一些从中遇到的问题,当作备忘。

安装WTK啊,配置Eclipse啊,配置EclipseME插件啊之类的屁话就不说了。我采取先描述症状,再说解决方案的叙述方法。


P1: 程序使用第三方库,于是运行时出现巨SB的错误:java.lang.NoClassDefFoundError: XXXXXX

S1: 基本上可以确定了,是由于打包时没有将此第三方库打包进去导致。所以需要在Project的Build path里面的Order And Export里面勾选该第三方库。然后在项目上点右键选择J2ME里面的Create Package即可。关于这个话题,请看这里这里

P1+: 恭喜你,你和Shellex一样在Create Package时出错导致无法将第三方包加入生成的jar中。一般来说此时的Eclipse会提示一些很SB的反正我看不懂的错误。

S1+: 这时候还是不依赖IDE比较好。GUI的方式是使用WTK自己的工具ktoolbar。在那里新建一个项目,然后把你的eclipse里面这个项目的内容同步搞过去,然后配置一下,点build。如果出错就改代码,不出错就点运行,没问题就在project菜单里面找Package->Create Package即可。

BTW: 在Linux下,WTK 2.5.2 建立的项目会放在 ~/j2mewtk/2.5.2/apps/ 下。别瞎找。


P2: 如何让模拟器读取本地文件系统?

S2: 开启模拟器以后,菜单MIDLet-> Externel Events的File Connection选项卡即是配置文件系统地方。注意这个鸟地方使用的是相对路径,对应的是~/j2mewtk/2.5.2/appdb/模拟器名称/filesystem/。可以在这里自行添加文件和目录什么的。

P2+: 无法浏览文件,权限不够,模拟器询问时,连允许的选项都没有。

S2+: 在模拟器的首选项的“安全”一节中设置JTWI为trusted或者maximum即可。


P3: 不管在eclipse中运行还是在WTK ktoolbar中运行模拟器,模拟器就一直SB地定在哪儿,屏幕和按键都没有任何反应和响应,直到大约10分钟后,恢复正常。

S3: 因为模拟器在尝试“使用网络”,在/etc/hosts中添加本地主机名到本地回环地址的映射可以解决问题。当然,你断掉网络也行。

 cat /etc/hosts
# /etc/hosts: Local Host Database
...
# IPv4 and IPv6 localhost aliases
127.0.0.1	localhost
::1		localhost
127.0.0.1  shellex-gentoo

P4: 在eclipse中,模拟器启动后马上消失,输出栏说没有找到MIDlets Suit云云。

S4: 在Run Configurations中找到Wireless Toolkits Emulator部分,在MIDlet选项卡的Executable一节中设置MIDlet为com.sun.midp.midlet.Selector或者使用jar直接指定你生成的jar文件。


P5:打包的程序没法在真机上安装,在模拟器上正常。

S5: 检查你的jar中的MANIFEST.MF文件和jad文件是否一致。可能存在的问题是CLDC和MIDP使用的版本不一致导致。解决方法是手工改或者在WTK ktoolbar的Settings的API Selections中确定你选择的Target Platform的支持符合你的预期。

  1. On May 21, 2009 at 8:29 pm
    brucebot: Mozilla Firefox 3.0.10 / Ubuntu Linux

    shellex, I like the layout of all your articles, but I have no idea regarding java.

  2. On May 21, 2009 at 8:32 pm
    brucebot: Mozilla Firefox 3.0.10 / Ubuntu Linux

    @brucebot, I am just reinstalling my ubuntu 9.04, the chinese input method is not ready now.

  3. On May 21, 2009 at 8:42 pm
    shellex: Mozilla Firefox 3.5.0.0 / Gentoo Linux

    @brucebot,
    实际上我不大喜欢Java.
    但是对于公司来说Java是一个应用成熟的产品。所以相对来说工业上总是要慢一拍

  4. On May 21, 2009 at 8:58 pm
    brucebot: Mozilla Firefox 3.0.10 / Ubuntu Linux

    @shellex, Not exactly, reliablity is more important in industrial coding. Normally, much more coding are in C or other “old” languages.

  5. On May 21, 2009 at 9:41 pm
    gza633: Mozilla Firefox 3.0.10 / Windows XP

    J2EE我倒是会 手机就只开发过两个blackberry的程序 现在的手机系统都有自己专门的开发包啥的 博客很漂亮!特别是字体优化

  6. On May 21, 2009 at 9:57 pm
    shellex: Mozilla Firefox 3.5.0.0 / Gentoo Linux

    @gza633,
    嗯,那个。字体应该是系统控制的。我用的字体很大众
    你还是第一个说我的blog字体漂亮的同学

  7. On May 21, 2009 at 9:58 pm
    shellex: Mozilla Firefox 3.5.0.0 / Gentoo Linux

    @brucebot,
    在企业级web领域还是Java呢。话说Java最初的目标是嵌入式,现在却只能在Web玩玩,别的什么Desktop, mobile, RIA,都挺SB的

  8. On May 21, 2009 at 10:08 pm
    brucebot: Mozilla Firefox 3.0.10 / Ubuntu Linux

    ha, my industrial coding is about automation manufactruing, and yours is about the Information technology. They are a little different.

  9. On May 21, 2009 at 10:26 pm
    brucebot: Mozilla Firefox 3.0.10 / Ubuntu Linux

    @brucebot, 网络太慢了,输入法终于安装完毕

  10. On May 21, 2009 at 10:33 pm
    shellex: Mozilla Firefox 3.5.0.0 / Gentoo Linux

    @brucebot,
    唉,机器人大师…

  11. On May 22, 2009 at 10:21 pm
    abettor: Mozilla Firefox 3.0.10 / Windows XP

    推荐你eclipse的插件——onejar,可以把所有的jar打到一个jar里。

  12. On June 19, 2009 at 11:09 am
    MK: Internet Explorer 6.0 / Windows XP

    ie6 said : i’m here!

  13. On June 19, 2009 at 1:46 pm
    shellex: Mozilla Firefox 3.5.0.0 / Gentoo Linux

    @abettor,
    嘿嘿,我都是自己写bash脚本调用jar打包的

  14. On June 19, 2009 at 1:48 pm
    shellex: Mozilla Firefox 3.5.0.0 / Gentoo Linux

    @MK,
    你好,火星人

  15. On June 19, 2009 at 5:47 pm
    章鱼: Google Chrome 3.0.187.1 / Windows XP

    @shellex,
    Chrome said i will 法克油

  16. On June 19, 2009 at 7:48 pm
    shellex: Google Chrome 3.0.190.0 / Linux

    Chromium said i will f**k you too

Leave a Reply