首先,使用过Eclipse编写Android与J2ME程序的同学们都知道,Eclips可以通过模板快速创建一个程序,那么我们就从创建两个简单的应用开始,一个是J2ME的,一个是Android的。
J2ME程序如下:
package cn.edu.buaa.Software;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public class MyMidlet extends MIDlet {
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO Auto-generated method stub
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
protected void pauseApp() {
// TODO Auto-generated method stub
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
}
Android程序如下:
package cn.edu.buaa.Software;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
import android.app.Activity;
import android.os.Bundle;
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
public class myActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
}
}
两个程序如果要运行起来,对于J2ME而言,必须有一个MIDlet的子类,而对于Android,则必须有一个Activity的子类。在某种意义上,这两个类在功能上,是相同的,而且它们在生存周期等方面也极为的相似。
![](https://www.cnblogs.com/images/cnblogs_com/wodehuajianrui/activity_lifecycle.png)
而J2ME的MIDlet相对简单,只有startApp(),pauseApp()和destroyApp(boolean arg)三个方法,分别用于load、pause与exit(这样理解稍微有些浅薄,不过在简单的应用中的确如此)。通过上述比较,我们可以看出来google并不能在理念上超越j2me,而只是让它的功能变得更强大(这已经难能可贵了)。
至于这两个类的具体用法,我不在这里敖述,去看官方API文档或者示例代码会更方便一些。
单纯有这两个类已经足以让程序正常运行了,但是没有UI的程序对于用户来说是没有意义的,下一次我将对Android与J2ME的UI呈现做初步的比较。
谢谢!
J2ME程序如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
Android程序如下:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/InBlock.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/ExpandedBlockEnd.gif)
两个程序如果要运行起来,对于J2ME而言,必须有一个MIDlet的子类,而对于Android,则必须有一个Activity的子类。在某种意义上,这两个类在功能上,是相同的,而且它们在生存周期等方面也极为的相似。
![](https://www.cnblogs.com/images/cnblogs_com/wodehuajianrui/activity_lifecycle.png)
而J2ME的MIDlet相对简单,只有startApp(),pauseApp()和destroyApp(boolean arg)三个方法,分别用于load、pause与exit(这样理解稍微有些浅薄,不过在简单的应用中的确如此)。通过上述比较,我们可以看出来google并不能在理念上超越j2me,而只是让它的功能变得更强大(这已经难能可贵了)。
至于这两个类的具体用法,我不在这里敖述,去看官方API文档或者示例代码会更方便一些。
单纯有这两个类已经足以让程序正常运行了,但是没有UI的程序对于用户来说是没有意义的,下一次我将对Android与J2ME的UI呈现做初步的比较。
谢谢!
---------------------------------------------------------------
缥缈落花街 月圆月缺 望峦山平川 雁返君未还 怆然晚春残 忆天上人间
缥缈落花街 月圆月缺 望峦山平川 雁返君未还 怆然晚春残 忆天上人间