1. J2ME に必要な Java の基礎知識
現在、ほとんどの人は J2ME をゼロから学びます。そして、現在、Java の基礎に関する書籍はすべて J2SE を基礎としています。これにより、学習時に不要なトラブルが発生します。 ここでは、J2ME で使用される Java の基本知識と不要な Java の知識について簡単に説明します。
J2ME で使用される Java の基本知識:
1. Java 構文の基礎: 基本的なデータ型、キーワード、演算子、など。 2. オブジェクト指向の考え方: クラスとオブジェクト、継承とポリモーフィズムなどの概念。
3. 例外処理
4. マルチスレッド
J2ME では使用されない Java の基本知識:
1. JDK での javac および java コマンドの使用
2. Java の基本の多くのクラスは、J2ME または J2ME では使用できませんクラス このメソッドは大幅に合理化されました。したがって、J2ME のクラス ライブラリについて理解しておくことをお勧めします。
3. Applet、AWT、Swingの知識はJ2MEでは全く使えません。
簡単に言うと、J2MEを学んでいる友達が回り道をしないように、欠点を積極的に修正したり追加したりしてほしいと思います。
2. J2ME で完了できない機能
現時点で J2ME で完了できない機能をいくつか挙げてください。皆さんが積極的に追加できることを願っています。
1. 携帯電話でのコードを変更せずに移植することは、主にゲームを指します。
2. ボタンのテキストを動的に変更します。
3. Canvas で中国語入力を受け入れます。
4. アドレス帳、受信したテキストメッセージなどのローカルリソースを操作します。
5. 破壊的な携帯電話ウイルスを作成します。
6.その他、皆様の追加をお待ちしております。
3. J2ME のクロスプラットフォームの性質
J2ME テクノロジーは Java から生まれたため、JVM の利点もあり、Java をサポートするプラットフォームに移植できます。 ただし、現在の J2ME テクノロジーはクロスプラットフォームでのパフォーマンスが非常に悪いです。その理由を簡単に見てみましょう:
1. 携帯電話の画面サイズが異なります:
これは主にインターフェースの制作にあります。
高度なユーザーインターフェイスを使用している場合、たとえばアプリケーション開発や、ユーザーログインやユーザー登録などの共通機能を実行している場合は、通常は問題ありません。
低レベルのユーザーインターフェイスを使用している場合、たとえばゲームを作成している場合は、この問題を考慮する必要があります。
2. メーカーの拡張 API は統一されていません:
例えば、Nokia の拡張 API クラス ライブラリ UI シリーズは、他の携帯電話には実装されていない場合や、パッケージ名が異なる場合などがあります。
3. 携帯電話プラットフォームに実装されているバグ:
例えば、Nokia の 7650 にはダブル バッファリングの実装にバグがあるため、このモデルで実行されるソフトウェアはダブル バッファリングを使用できません。 NOKIA に関するその他のバグについては、以下を参照してください。 http://blog.csdn.net/Mailbomb/archive/2005/03/24/329123.aspx
4. 携帯電話のパフォーマンスの問題。
携帯電話によっては、使用可能なメモリと最大 jar ファイルに関する要件があります。たとえば、ほとんどの Nokia S40 携帯電話は、最大 64K の jar ファイルと最大 210K の利用可能なコンテンツをサポートします。
それで今、携帯電話のソフトウェア、特にゲームにはサポートされているモデルのリストが用意されており、そのために携帯ゲーム移植機が存在します。
IV. J2MEを学んだ後にできる仕事の種類
現在、J2ME技術は非常に人気があると言えます: J2MEを学んだ後にできる仕事の種類をいくつか紹介します:
1. J2MEゲーム開発者
ゲームによる。計画または文書化 要件は、特定のモデル (主に Nokia S40 または S60) でゲーム プログラムを開発することです。
これは、現在、ほとんどのJ2MEプログラマーが従事している仕事です。
高レベルのユーザー インターフェイス、低レベルのユーザー インターフェイス、スレッドに習熟する必要があり、オンライン ゲームの場合は、ネットワーク プログラミングにも習熟する必要があります。
2. J2ME アプリケーション開発者
現在、モバイル アプリケーションはそれほど多くありませんが、特にモバイル ポジショニングとモバイル コマースに関連するコンテンツはまだいくつかあります。
高度なユーザー インターフェイス、スレッド化、ネットワーク プログラミングに関する熟練度が必要です。
3. J2MEゲーム移植担当者
ソースコードを参照し、あるプラットフォームで動作可能なゲームを他のプラットフォームに移植します。たとえば、Nokia S40 ゲームを S60 や Sony Ericsson の T618 などに移植します。
主に画面座標を制御します。一部の API を置き換える必要がある場合があります。
さまざまなプラットフォーム間の違いや、画面サイズ、jar ファイルの最大サイズなど、関連する技術パラメータをよく理解しておく必要があります。
5. J2ME プログラミングのいくつかの原則
1. オブジェクト指向プログラミングを使用します。
プロセス指向プログラミングを使用するとファイルのサイズを削減できますが、将来の保守や拡張の便宜を考慮して、オブジェクト指向プログラミングを使用する必要があります。
2. MVCパターン
を使用して、モデル、インターフェース、コントロールを分離します。最近では、多くのプログラムが 3 つを 1 つに結合していますが、作業しているプログラムが比較的大きい場合は、やはり分割することをお勧めします。
3. ユーザー設定を自動的に保存します
RMS を使用して、ユーザーが最後に入力したユーザー名とパスワード、システムのユーザー設定などのユーザー情報を保存します。これにより、ユーザー入力が減るだけでなく、ユーザーフレンドリーでもあります。多くのプログラムは自動ログインなども行います。
4. 一部のシステム設定では、ユーザーがそれらを閉じることができます。 BGM、背景ライト表示など。
5. 低レベルのユーザーインターフェイス描画アクションを別のスレッドに置きます。
6. 完了までに時間がかかる作業を行う場合は、ユーザーに待機インターフェイスを提供します。
6. シミュレータから実機テストへ
J2ME開発者にとって、シミュレータは、シミュレータでプログラムをデバッグしたり、プログラムの効果を便利に表示したりするなど、多くの利便性をもたらしてくれましたが、シミュレータはまた、私たちにもたらしたものでもあります。シミュレータ実装のバグなど、いくつかの問題があるため、実機テストが必要です。
1. なぜ実機テストを行う必要があるのでしょうか?
シミュレータプログラムにはバグがある可能性があり、実機の性能には限界があるため、実機テストを実行する必要があります。
2. プログラムをマシンに転送するにはどうすればよいですか?
プログラムをマシンに転送するには、次の方法があります:
a) OTA ダウンロード
b) データケーブル送信を使用
c) 赤外線送信
d) Bluetooth
状況に応じて適切な方法を選択できます。
3. 実機テストでは主に何を測定しますか?
実機テストは内容が多く、主に以下の点をテストします:
a) プログラムの機能
b) プログラムの操作性、操作が簡単かどうか
c) プログラムのサイズ、たとえば、ほとんどの Nokia S40 シリーズ携帯電話はそれを受け入れます。最大ファイル サイズは 64K です
d) プログラムの実行速度、速度が耐えられるかどうか。
7. WTK からメーカー SDK へ
J2ME 愛好家は基本的に SUN の WTK (J2ME Wireless Toolkit) から始めますが、実用的なアプリケーションでは WTK を使用するだけでは十分ではないため、学習プロセスでは WTK から飛躍します。 SDK への移行を完了する必要があります。
1. メーカーのSDKのダウンロードアドレスは何ですか?
http://blog.csdn.net/Mailbomb/archive/2005/01/01/236606.aspx
2. メーカーの SDK と WTK の違いは何ですか?
メーカーのSDKを最も簡単に理解すると、WTKをベースに独自のシミュレータと独自の拡張APIを追加することになります。
つまり、メーカーのSDKを使用すると、NokiaのUIクラスライブラリなどのメーカーの拡張クラスライブラリや、メーカー独自のシミュレータが利用できるようになります。
各メーカーの拡張 API の数は少なく、同じではありません。
3. 使い方は?
Samsung など、一部のメーカーの SDK は WTK と同じように使用されます。
Nokiaは開発用に独立したインターフェースを提供していますが、このインターフェースが実際の開発で使用されることはほとんどありません。
4. メーカーのSDKの問題
メーカーのSDKの実装プロセスにいくつかのバグがあり、実機の実装と矛盾しています。例えばNOKIAのミックス再生問題など。
8. J2MEで携帯電話のIMEIを取得する方法
IMEIはInternational mobile Entity Identificationの略で、携帯電話に*#06#を入力すると15桁の長さになります。世界で唯一の、決して競合しないので、ユーザーを識別するための標識として使用できます。
J2MEでIMEIを取得する方法は以下の通りです:
1. MOTOシリーズの携帯電話はシステムのIMEI属性を読み取ることで取得できます コードは以下の通りです:
String imei = System.getPROperty("IMEI")。 );
2. SIEMENS シリーズの携帯電話は、システムの com.siemens.IMEI プロパティを読み取ることで取得できます。コードは次のとおりです:
String imei = System.getProperty("com.siemens.IMEI");
9 J2ME ネットワーク接続における表示の問題の解決方法
ネットワークプログラミングでは、ネットワークデータを受信せずにインターフェイスが表示される場合があり、インターフェイスの表示が要件を満たさないことがあります(たとえば、アナウンス表示では、アナウンスの背景画像)。が最初に表示され、その後、お知らせ情報が表示されます) 解決策は次のとおりです 誰にとっても簡単な解決策:
この状況を解決する方法は 3 つのステップに分かれています:
1. 表示する必要があるインターフェイスで、ネットワークデータを送信するメソッドを呼び出します。このコンストラクターは表示されるたびに呼び出され、表示のために Display の setCurrent メソッドは呼び出されません。
2. 待機中のインターフェイス(進行状況バーなど)を表示して、ネットワーク接続が進行中であることをユーザーに通知します。
3. ネットワークフィードバックデータを処理した後、Display の setCurrent メソッドを呼び出して、現在のインターフェイスを表示します。
10. J2MEのString機能を強化する - 文字列の分割
JDK1.4以降、文字列の分割を実現するためにStringクラスにsplitメソッドが追加されましたが、J2MEにはそのようなメソッドはありません(MIDP2.0では実装されていません)まだ)、しかし、実際の使用では、この操作が実際に必要になることがあります。これは、以前に共有するために実装したコードです:
/**
* 文字列の分割、原則: 文字列内の分割文字列を検出し、部分文字列を取得します
* @paramoriginal 分割する必要がある文字列
* @paran regex 分割文字列
* @return 分割後に生成される文字String array
Into Vector
Vector v = new Vector();
//返された結果の文字列配列
String[] str = null;
//部分文字列を取得する際の開始位置を格納
int Index = 0 ;
//一致する部分文字列の位置を取得します
startIndex =original.indexOf(regex);
//System.out.println("0" + startIndex);
//開始文字列 これが文字列の長さよりも短い場合は、文字列の終わりに到達していないことがわかります。
//-1は最後に到達することを意味します
while(startIndex
{
以上がJ2MEプログラムの包括的な基本説明の要約です開発 (1) その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。