【发布时间】:2008-09-15 17:04:46
【问题描述】:
来自J2ME 编程是否有任何相似之处可以轻松适应Android API。还是Android API 与J2ME 编写移动应用程序的方式完全不同。
【问题讨论】:
-
主要的相似之处是android和j2me的软件开发都使用了很棒的JAVA。
来自J2ME 编程是否有任何相似之处可以轻松适应Android API。还是Android API 与J2ME 编写移动应用程序的方式完全不同。
【问题讨论】:
实际上,Android API 比 J2ME 强大得多。
为 Android 创建应用程序要容易得多。
使用 J2ME,您只能使用简单的表单,因为缺少类似 swing 的库(尽管现在有一个名为 LWUIT 的库,因此无需从头开始重新创建类似 swing 的库)。
在Android中您将能够非常快速地创建复杂的表格,并且Android SDK的软件包易于安装(而在J2ME中您必须安装来自sun的无线开发工具包,或者安装诺基亚,三星或索尼爱立信的……有时会有点混乱)。
从 j2me 切换到 android 时我必须改变的事情是:
1/ 字体和图形类在 j2me 上更易于使用。该 API 在 Android 上更彻底,但也更复杂。
2/ 如果你习惯了j2me(RecordStore)的数据库存储,那么在Android中你可以忘记它。您将不得不使用类似 SQL 的数据库,因此请准备好重新考虑您的数据模型。
【讨论】:
我还发现从 Java ME 到 Android 的路径非常简单。以下是我注意到的几件事:
Android 中只有一个 ui 绘制线程。您必须注意在视图上调用 postInvalidate 和 invalidate 以强制它们更新之间的区别。
实际的按位图形操作非常相似。通过为drawRect 和drawImage 编写一些垫片,我能够移植大量自定义J2ME 绘图代码。
Android 的 UI 库比 Java ME 的要广泛得多、没用得多,也复杂得多
在线程方面,您必须更加小心 Android 的线程安全。在 Java ME 中,您可以避免在大多数情况下使方法同步或变量 volatile。在 Android 中并非如此。
我会说,总的来说,Android 的 UI 库未能通过一项关键测试。我称之为“自己动手”测试。
如果我完成一项详细的任务任务(例如,更改单个菜单项的背景)所需的时间比我需要两次编写我的自己的菜单所花费的时间更长,那么您的 UI 库未通过此测试刮。 Android 在“自己动手”测试中失败了 3 或 4 倍。事实上,如果你看一下,这个网站上的大多数问题都是“我如何让 Android UI 工具包符合我的要求?”问题。
Android 是一个了不起的平台,值得我沉浸其中的每一个令人沮丧的时刻。然而,它是一个年轻的平台,需要在未来进行一些认真的工作。
【讨论】:
观看 Android 架构视频并查看一些文档是一个好的开始。
http://www.youtube.com/view_play_list?p=586D322B5E2764CF http://code.google.com/android/what-is-android.html
Google 非常擅长记录。据我所知,Android 的目标与 J2ME 非常相似。它的编程风格和结构可能略有不同,但如果您有 J2ME 经验,您应该更准备好转向 Android。
祝你好运!!!
【讨论】:
嗯,你可能实际上不需要适应。
J2ME 堆栈很有可能很快就会在 Android 上可用,因为 Android 不应该像 iPhone 那样限制第三方运行时。
我认识一个一直在做这件事的人: http://justanapplication.wordpress.com/
当然,这并不意味着您不应该查看 Android API 和应用程序生命周期。
【讨论】: