如果您是从J2ME
编程开始学习Android API
,那么这两者之间有哪些相似之处能够帮助您轻松适应呢?又或者说,Android API
是否与J2ME
移动应用程序的编程方式完全不同呢?
实际上,Android API比J2ME更加强大。
使用Android更容易创建应用程序。
由于缺少类似swing的库(尽管现在存在一个名为LWUIT的库,避免了需要从头开始重新创建类似swing的库),在J2ME中您只能限制于简单的表格。
在Android中,您可以快速创建复杂的表格,并且Android SDK的软件包易于安装(而在J2ME中,您必须从Sun安装无线开发工具包,或安装Nokia、Samsung或SonyEricsson之一……有时会有点混乱)。
从j2me到android切换时我必须改变的是:
1/ 字体和图形类在j2me上更容易使用。 Android上的API更全面,但也更加复杂。
2/ 如果您习惯于使用j2me的数据库存储(RecordStore),那么在Android中您将不得不使用类似SQL的数据库,因此准备重新思考数据模型。
我也发现从Java ME到Android的路径非常简单。以下是我注意到的几点:
在Android中只有一个UI绘制线程。您必须了解在视图上调用postInvalidate
和invalidate
之间的区别,以强制更新它们。
实际的位操作图形处理非常相似。通过编写一些drawRect
和drawImage
的包装器,我能够移植大量自定义的J2ME绘制代码。
Android的UI库比Java ME更广泛,更实用但也更复杂。
在线程方面,您必须更加小心地确保Android的线程安全。在Java ME中,大部分时间您可以不将方法同步或变量设置为易失性。但在Android上则不行。
总体而言,我认为Android的UI库未能通过重要的测试。我称之为“自己动手”测试。
如果您完成一个详细的任务(例如更改一个单独菜单项的背景)需要比花费我两个建立我的自己的菜单还要长的时间,则您的UI库未通过此测试。 Android未能通过“自己动手”测试,其耗时是3到4倍。事实上,如果您查看这个网站上的大部分问题,它们都是“如何让Android UI工具包按照我的意愿运行?”问题。
Android是一个了不起的平台,每一次我为它投入的沮丧时刻都是值得的。然而,它是一个年轻的平台,未来需要进行一些重要工作。
http://www.youtube.com/view_play_list?p=586D322B5E2764CF http://code.google.com/android/what-is-android.html
谷歌非常擅长文档编写。据我所知,Android在其目标上与J2ME非常相似。虽然编程风格和结构可能略有不同,但如果您具有J2ME经验,则应该已经准备好转向Android。
祝你好运!!!
嗯,你可能实际上不需要适应。
有很大的机会在 Android 上很快就会推出 J2ME 堆栈,因为 Android 不应该像 iPhone 那样限制第三方运行时。
我认识一个人一直在开发这个: http://justanapplication.wordpress.com/
当然,这并不意味着你不应该查看 Android API 和应用程序生命周期。