论坛首页 移动开发技术论坛

J2ME to android之学习笔记

浏览 6800 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-06-27   最后修改:2009-07-06

由于android刚入门,所以在看android时把j2me做一些比较,这样好入门点,还有是为了做移植,总体的来说
MIDlet相当于Activity,Displayable相当于View,BitMap相当于Image,Graphics相当于Canvas.
一、生命周期 MIDlet相对Activity
Android有点沿用J2ME的生命周期,或者说是加强

J2ME MIDlet的子类

 

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

public class MyMidlet extends MIDlet {


	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// 销毁状态
	}

	protected void pauseApp() {
		// 暂停状态

	}

	protected void startApp() throws MIDletStateChangeException {
		// 活动状态
	}

}

 

Android的Activity子类

 

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);
	}

	public void onStart() {
		super.onStart();
	}

	public void onStop() {
		super.onStop();

	}

	public void onResume() {
		super.onResume();
	}

	public void onRestart() {
		super.onRestart();
	}

	public void onPause() {
		super.onPause();
	}

	public void onDestroy() {
		super.onDestroy();
	}

	public void onFreeze(Bundle outState) {
		super.onFreeze(outState);
	}
}

 

 

Displayable相对于View
J2ME分高级UI和低级UI,但在android中可用View显示,View其实更像J2ME的Canvas,如:
paint(Graphics g)同onDraw(Ganvas c)有点相似
J2ME的按键处理:
键盘接口为:keyPressed(),keyRepeated(),keyReleased()。
触笔接口为:pointerPressed(),pointerReleased(),pointerDragged()。
Android的按键处理:
键盘接口为:onKeyDown()、onKeyUp()、onTracKballEvent()。
触笔接口为:onTouchEvent()
KeyEvent的按键值相似于Canvas的按键值,如
KeyEvent.KEYCODE_DPAD_LEFT类似于Canvas.LEFT

 

 Image相似于BitMap
个人觉得BitMap比较麻烦,不像Image创建时一步到位,但它们都可以从文件,数据流中创建对象。

        Resources r = getResources();
        Bitmap board = Bitmap.createBitmap(240, 240, Bitmap.Config.ARGB_8888);
        Canvas c = new Canvas(board);
        Drawable tempBoard = r.getDrawable(R.drawable.board);
        tempBoard.setBounds(0, 0, 240, 240);
        tempBoard.draw(c);

Graphics相当于Canvas

android的Canvas不同于J2ME的Canvas,它更像于J2ME的Graphics,用来绘制。

 

System.out.printlt相当于Log

打印log时它们很相似,Log更强大一点

 

java简单解析docx、pptx、xlsx文档 http://fonter.iteye.com/blog/420319
Android Canvas的save()和restore() http://fonter.iteye.com/blog/420321

安装Jar提示“jar文件无效”的另一个奇怪原因 http://fonter.iteye.com/blog/414188
J2ME代码认证证书的支持情况 http://fonter.iteye.com/blog/413357
S40平台播放多媒体时内存优化 http://fonter.iteye.com/blog/413022
SUN的J2ME源代码下载 http://fonter.iteye.com/blog/412094
J2ME也玩GZIP,哈哈!http://fonter.iteye.com/blog/411284
开源一个J2ME解析类 http://fonter.iteye.com/blog/409830
手机中的重定向问题及处理 http://fonter.iteye.com/blog/400836
J2ME如何通过cmwap直接访问互连网 http://fonter.iteye.com/blog/400868
安装JAD时提示JAD无效原因之一 http://fonter.iteye.com/blog/400888
J2ME网络交互之优化 http://fonter.iteye.com/blog/405137
解决Eclipse无法调试J2ME程序的配置方法 http://fonter.iteye.com/blog/405697
J2ME模拟器加载RMS时突然失效的原因 http://fonter.iteye.com/blog/407576
J2ME飞信协议分析(初稿) http://fonter.iteye.com/blog/408385

 

  • 大小: 31 KB
  • 大小: 72 KB
  • 大小: 66.9 KB
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics