Android与J2ME区别之我见(1)

首先,使用过Eclipse编写Android与J2ME程序的同学们都知道,Eclips可以通过模板快速创建一个程序,那么我们就从创建两个简单的应用开始,一个是J2ME的,一个是Android的。
J2ME程序如下:
package  cn.edu.buaa.Software;

import  javax.microedition.midlet.MIDlet;
import  javax.microedition.midlet.MIDletStateChangeException;

public   class  MyMidlet  extends  MIDlet  {

    
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
        
// TODO Auto-generated method stub

    }


    
protected void pauseApp() {
        
// TODO Auto-generated method stub

    }


    
protected void startApp() throws MIDletStateChangeException {
        
// TODO Auto-generated method stub

    }


}

Android程序如下:
package  cn.edu.buaa.Software;

import  android.app.Activity;
import  android.os.Bundle;

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的子类。在某种意义上,这两个类在功能上,是相同的,而且它们在生存周期等方面也极为的相似。
Android与J2ME区别之我见(1)


而J2ME的MIDlet相对简单,只有startApp(),pauseApp()和destroyApp(boolean arg)三个方法,分别用于load、pause与exit(这样理解稍微有些浅薄,不过在简单的应用中的确如此)。通过上述比较,我们可以看出来google并不能在理念上超越j2me,而只是让它的功能变得更强大(这已经难能可贵了)。

至于这两个类的具体用法,我不在这里敖述,去看官方API文档或者示例代码会更方便一些。

单纯有这两个类已经足以让程序正常运行了,但是没有UI的程序对于用户来说是没有意义的,下一次我将对Android与J2ME的UI呈现做初步的比较。

谢谢!

你可能感兴趣的:(android)