プログラミングに由来J2ME
するものは、への適応を容易にする類似点がありますAndroid API
。または、モバイルアプリのプログラミング方法とはAndroid API
まったく異なります。J2ME
4 に答える
実際、Android API は J2ME よりもはるかに強力です。
Android 用のアプリケーションを作成する方がはるかに簡単です。
J2ME を使用すると、swing に似たライブラリがないため、単純な形式に制限されます (ただし、LWUIT と呼ばれるライブラリが存在するため、swing に似たライブラリをゼロから再作成する必要がありません)。
Android では、複雑なフォームを非常に迅速に作成でき、Android SDK のソフトウェア パッケージは簡単にインストールできます (一方、J2ME では、sun からワイヤレス開発ツールキットをインストールするか、Nokia、Samsung、または SonyEricsson のいずれかをインストールする必要があります.. . 時々少し混乱します)。
j2me から android に切り替えるときに変更しなければならなかった点は次のとおりです。
1/ フォントとグラフィックスのクラスは、j2me でより使いやすくなりました。Android の API はより完全ですが、より複雑でもあります。
2/ j2me (RecordStore) のデータベース ストレージに慣れている場合は、Android でそれを忘れることができます。SQL のようなデータベースを使用する必要があるため、データ モデルを再考する準備をしてください。
また、Java ME から Android への道のりは非常に単純であることがわかりました。ここに私が気づいたいくつかのことがあります:
Android には 1 つの UI 描画スレッドがあります。ビューを強制的に更新するには、呼び出し
postInvalidate
とビューの違いに注意する必要があります。invalidate
実際のビット単位のグラフィック操作は非常に似ています。
drawRect
との shim をいくつか書くことで、大量のカスタム J2ME 描画コードを移植することができましたdrawImage
。Android の UI ライブラリは、Java ME のものよりもはるかに広範で、役に立たず、はるかに複雑です。
スレッドに関しては、Android ではスレッド セーフにもっと注意を払う必要があります。Java ME では、ほとんどの場合、メソッドを同期化したり、変数を揮発性にしたりしなくても問題ありません。Android ではそうではありません。
全体として、Android の UI ライブラリは重要なテストに合格していないと言えます。私はこれを「ロール・マイ・オウン」テストと呼んでいます。
独自のメニューを最初から2 つ作成するよりも、詳細なタスク (たとえば、1 つのメニュー項目の背景を変更する) を完了するのに時間がかかる場合、UI ライブラリはこのテストに合格しません。Android は「ロール ユア ワン」テストに 3 倍または 4 倍失敗します。実際、この Web サイトにある質問の大半は、「Android UI ツールキットに自分の入札を実行させるにはどうすればよいですか?」というものです。質問。
Android は素晴らしいプラットフォームであり、私が没頭したイライラする瞬間はどれも価値がありました。ただし、これはまだ始まったばかりのプラットフォームであり、今後は本格的な作業が必要です。
Android アーキテクチャのビデオを見て、いくつかのドキュメントを確認することから始めることをお勧めします。
http://www.youtube.com/view_play_list?p=586D322B5E2764CF http://code.google.com/android/what-is-android.html
Google はドキュメンテーションが得意です。私が聞いたところによると、Android の目標は J2ME と非常によく似ています。プログラミング スタイルと構造が若干異なる場合がありますが、J2ME の経験があれば、Android に移行する準備が整っているはずです。
幸運を!!!
まあ、実際に適応する必要はないかもしれません。
Android は iPhone のようにサードパーティのランタイムを制限することは想定されていないため、J2ME スタックが Android で利用できるようになる可能性は十分にあります。
私はちょうどそれに取り組んでいる一人の男を知っています: http://justanapplication.wordpress.com/
もちろん、これは Android API とアプリケーションのライフサイクルを調べてはいけないという意味ではありません。