j2me to android


先月ずっとj 2 meをしてandroidに移植して、少し心得があって、しかしまた何を书くのが良いことを知らないで、やはりコードを书くのが楽しくて、ここで少し心得を书いて、仕事の総括に対して、私は移植を3つの大きい块に分けます:
1枚目:UIは、移植前にJ 2 MEのGraphicsがAndroidのCanvasに関連しており、その方法が以下のように少し異なる点を理解する必要があります.
 
J2ME:
	/**
	 * Draws a rectangle in the given coordinates
	 * 
	 * @param x
	 *            the x coordinate of the rectangle to be drawn.
	 * @param y
	 *            the y coordinate of the rectangle to be drawn.
	 * @param width
	 *            the width of the rectangle to be drawn.
	 * @param height
	 *            the height of the rectangle to be drawn.
	 */
	public void drawRect(int x, int y, int width, int height) {
		g.drawRect(xTranslate + x, yTranslate + y, width, height);
	}

 
Android:
	public void drawRect(Canvas canvas, int x, int y, int width, int height,
			Paint paint) {
		paint.setStyle(Paint.Style.STROKE);
		paint.setAlpha(0xff);
		drawRect.set(xTranslate + x, yTranslate + y, xTranslate + x + width,
				yTranslate + y + height);
		canvas.drawRect(drawRect, paint);
	}

 
それらの小さな違いはandroidがスタイルを設定する必要があり、座標も少し違います.私は彼らを共通クラスに書きました.入力したパラメータはCanvas、Paintなので、コードを変更しなくても移植できます.私は高度なUIをあまり使わないので、移植が速くなるかもしれませんが、高度なUIの移植については、私のideaは汎用的なクラスを作っています.このクラスはITEMを追加することができます.
 
イベントKEYの処理:やはりその言葉で、彼らの前の違いを理解して、コードの変更は大きくなくて、androidのイベントの処理の機知はj 2 meより良いです.
 
第2ブロック:データベース、それらの違いはandroidのsqliteがテーブルの前の関連を確立しやすいことであり、J 2 MEは自分のフレームワークを実現しなければならない.また、ANDROIDのsqliteはいくつかのインタフェース(例えば、SQLiteOpenHelper)を提供し、データベースの開発は簡単であるが、人間は両者の移植は難しくないと思っている.J 2 MEは1つのファイルでシーケンス化されたものを読み書きすることができ、androidはsql文がいくつかある限りです.
 
第三ブロック:モジュールクラス、私はマルチメディア、ファイルシステムというモジュールクラスを総称して、それらの移植は主にandroidとj 2 meの違いを理解して、再びコードをもう一度すればいいので、androidのようにマルチメディアをするのは比較的に便利で、それはキャッシュの機知をすることができて、この点j 2 meは少し力がありません.
 
3つのブロックはそれぞれ開発して、テストの時に問題を測定しやすくて、これはユニットの開発の一大の利点で、集積開発は時にはソフトウェアが出てきた後に、あなたはソフトウェアカードの駄目さを発見することができて、あるいは大量のBUGを報告します!
 
最後に、リソースファイル、androidはもっと豊富で、j 2 meはクラスを書いて読む必要があります.共通の入り口をすればいいと思います.個人的には!