Google 推出的 Android 平台虽然使用 Java 作为开发语言,但是其 SDK 中并没有涉及 J2ME 的内容。当我们还在为现有的 J2ME 程序能否移植到这一开放平台而担心时,有人已经”自己动手,丰衣足食“了。ME4Android 是一个炒作的噱头还是一良好的开端?我们拭目以待。
Android 平台上的 JavaMe : ME4Android
自从上周 Android SDK 发布以来,我一直忙于实现一个有趣的想法:移植 ME4SE 到 Android 平台上,这样以来移植现有的 JavaME 代码将变得非常简单。我想通过 ME4Android 达到不改动一行代码、仅仅改变构建脚本就可以自动移植 JavaME 程序的目的,这样一来现有的 JavaME 代码只要重新构建一下就可以用于 Android。
我用我们的一个相当大的 JavaME 程序 FlyerApp 作为 ME4Android 上的第一个测试程序。这个程序是完全基于 Canvas 实现的,所以它只用到了 JavaME 的底层用户界面库。这个程序中使用了多线程、支持动画并且用到了网络连接。我认为如果 ME4Android 可以运行 FlyerApp, 那么它也同样可以运行大量的 Java 游戏。
在移植 FlyerApp 到 Android 的过程中,我遇到了许多障碍 —— Andorid 的构架(与 JavaME 不同)和一些 bug。一旦 Google 提供了正式的渠道,我就会把这些 Android 的 bug 提交上去。
点击
这里可以看到同样的程序在 黑莓和 JavaME 手机(Samsung A920/A900, SonyEricsson K790, Motorola V3xx 等等)上的运行效果。你可以在本页面上看到截屏图片和下载 .jar .cod 文件。
FlyerApp 使用说明
程序开始运行后,按下任意键进入界面,程序会提示你配置左右软键(这一步是必须的,因为不同的手机里这些键的代码不同,而我们的目标是在所有的手机上使用同一个 .jar 文件)。如果你的手机没有键盘,你可以按下左右按钮来设置。
然后 FlyerApp 会从服务器上下载 flyers 列表保存起来以供查看和修改。你可以使用上下左右箭头和中键/开火键来浏览信息。在没有软键的设备上可以直接单击相应的条目。“单击”还没有完全支持,但是软键是完全可用的。
请注意 Dalvik 虚拟机会因为它使用了太多的内存而关闭这个程序,这是因为我们不得不创建额外的对象来绕过 bugs 和平台的差异。当然这个问题以后肯定会得到解决。
试试这个程序,告诉我你的想法。
Carlos.
MIDletActivity.apk
原文链接:
http://www.poliplus.com/android.htm发表于 @ 2007年11月23日 23:00:00|评论(loading...)|编辑