j2me to android
先月ずっとj 2 meをしてandroidに移植して、少し心得があって、しかしまた何を书くのが良いことを知らないで、やはりコードを书くのが楽しくて、ここで少し心得を书いて、仕事の総括に対して、私は移植を3つの大きい块に分けます:
1枚目:UIは、移植前にJ 2 MEのGraphicsがAndroidのCanvasに関連しており、その方法が以下のように少し異なる点を理解する必要があります.
J2ME:
Android:
それらの小さな違いは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はクラスを書いて読む必要があります.共通の入り口をすればいいと思います.個人的には!
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はクラスを書いて読む必要があります.共通の入り口をすればいいと思います.個人的には!