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