从J2ME转向Android

29

如果您是从J2ME编程开始学习Android API,那么这两者之间有哪些相似之处能够帮助您轻松适应呢?又或者说,Android API是否与J2ME移动应用程序的编程方式完全不同呢?


主要的相似之处在于Android和J2ME的软件开发都使用了伟大的JAVA。 - SIVAKUMAR.J
4个回答

20

实际上,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的数据库,因此准备重新思考数据模型。


另一方面,您可以将记录直接转储到SQL表中。因此,保持RecordStore样式的数据库并不困难。 - Prof. Falken

12

我也发现从Java ME到Android的路径非常简单。以下是我注意到的几点:

  1. 在Android中只有一个UI绘制线程。您必须了解在视图上调用postInvalidateinvalidate之间的区别,以强制更新它们。

  2. 实际的位操作图形处理非常相似。通过编写一些drawRectdrawImage的包装器,我能够移植大量自定义的J2ME绘制代码。

  3. Android的UI库比Java ME更广泛,更实用但也更复杂。

  4. 在线程方面,您必须更加小心地确保Android的线程安全。在Java ME中,大部分时间您可以不将方法同步或变量设置为易失性。但在Android上则不行。

总体而言,我认为Android的UI库未能通过重要的测试。我称之为“自己动手”测试。

如果您完成一个详细的任务(例如更改一个单独菜单项的背景)需要比花费我两个建立我的自己的菜单还要长的时间,则您的UI库未通过此测试。 Android未能通过“自己动手”测试,其耗时是3到4倍。事实上,如果您查看这个网站上的大部分问题,它们都是“如何让Android UI工具包按照我的意愿运行?”问题。

Android是一个了不起的平台,每一次我为它投入的沮丧时刻都是值得的。然而,它是一个年轻的平台,未来需要进行一些重要工作。


7

0

嗯,你可能实际上不需要适应。

有很大的机会在 Android 上很快就会推出 J2ME 堆栈,因为 Android 不应该像 iPhone 那样限制第三方运行时。

我认识一个人一直在开发这个: http://justanapplication.wordpress.com/

当然,这并不意味着你不应该查看 Android API 和应用程序生命周期。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接