ホームページ Java &#&チュートリアル J2MEプログラム開発の徹底基礎解説まとめ(2)

J2MEプログラム開発の徹底基礎解説まとめ(2)

Dec 20, 2016 pm 01:27 PM


17. J2MEネットワークプログラミングでCMWAPプロキシを使用する

China Mobileが提供するネットワーク接続はCMNETとCMWAPの2種類に分かれており、このうちCMNETはインターネットに無制限にアクセスでき、料金は比較的高価です。 CMWAP は HTTP コードに似ており、HTTP をサポートするアプリケーションにのみアクセスできますが、料金は安く、安定性は比較的劣ります。

実際の J2ME ネットワークプログラミングでは、通常、J2ME ではネットワークに接続するために CMWAP プロキシを提供する必要があります。コードは次のとおりです。
HttpConnection http = (HttpConnection)Connector。 .open(( "http://10.0.0.172/"+url);
http.setRequestPROperty("X-Online-Host",ServerName);

たとえば、アクセスする必要があるアドレスは次のとおりです: http:/ /www.test.com/login/loginServlet

上記のコードは、
HttpConnection http = (HttpConnection)Connector.open(("http://10.0.0.172/"+
"login/loginServlet");
http .setRequestProperty("X -Online-Host","www.test.com");

実際に使用する場合は、ServerNameの代わりに、実際にアクセスする必要があるアドレスのドメイン名またはIPを使用するだけで済みます。例の「www.test.com」は、コード内の URL を後続のアドレス クラスを使用して置き換えます (例の「login/loginServlet」など)。プログラムでは実際に CMWAP プロキシを使用して接続できます。開発 時間処理について簡単に説明します

1. 時間の表現
J2MEでは時間には2つの表現があります:

1. GMT 1970年1月1日午前0時から現在までのミリ秒数を表します。メソッドは2つの時間の差を比較するのに適しています

2. オブジェクトの形式で表現されます

2. 時間処理関連クラス
J2MEには時間処理が関係します: 3つのクラス:

1. システムクラス
long time = System . currentTimeMillis();

現在の時刻を取得するには、このメソッドを使用します。 時間の式は、上記の 2. Date クラス
Date date = new Date();

現在の時刻を取得して表現します。オブジェクトの形式

3. Calendarクラス
Calendar Calendar = Calendar.getInstance();

3. 時刻処理の具体的な操作

1 , 上記3つの式の変換:
a) で得られた時刻を変換します。 System クラスを Date オブジェクトに変換します
Date date = new Date (System.currentTimeMillis());

b) Date 型オブジェクトを Calendar 型オブジェクトに変換します
Calendar Calendar = getInstance(); Date();
Calendar.setTime(date);

2. Calendar を使用して、いくつかの日付操作を完了します。
Calendar は、最も一般的に使用され、時間処理で最も多くの機能を備えています。特定の時刻の日付と曜日として。

日付の取得:
Calendar Calendar = Calendar.getInstance();
……
int day = Calendar.get(Calendar. DATE);

日付、年、週を取得する操作はこれと同様です。

カレンダーで月を表す数字は実際の数字とは1つ異なります。つまり、1月は数字0で表され、2月は数字1で表され、...12月は数字で表されます。 11.

19. J2MEにおける乱数処理完全ガイド

プログラム内で乱数を生成し、人工知能分野などでの用途を比較する J2MEにおける乱数生成の操作を簡単にまとめました。 . 皆さんのお役に立てれば幸いです。

J2SEとは異なり、J2MEは乱数を生成するためにMathクラスの乱数を使用できません。乱数を生成するにはjava.utilパッケージのRandomクラスのみを使用できます。

1. Random 型のオブジェクトを作成します:
Random random = new Random(); これは次のコードと完全に等価です:
Random random = new Random(System. currentTimeMillis());
これは、作成するシード番号として現在の時刻を指定します。

2つ目は、自分でシード番号を指定して作成する方法です。

必要に応じて、上記の 2 つの方法のいずれかを使用できます。

2. 乱数を生成する:
ランダムオブジェクトを作成した後、乱数を生成できます:

ランダムな整数を生成します:
int k =random.nextInt();

ランダムな長整数を生成します:
long l =random。 nextLong();

3. 指定した範囲の数値を生成します:
たとえば、0-10の間の乱数を生成します:
int k = random.nextInt();
int j = Math.abs(k % 10);

まずランダムな整数 k を生成し、次に k と 10 を使用して剰余を計算し、最後に Math クラスの abs メソッドを使用して絶対値を取得し、0 ~ 10 の範囲の乱数を取得します。

次のような 0 ~ 15 の範囲の乱数を取得します:
int k =random.nextInt();
int j = Math.abs(k % 15);

10 ~ 20 の範囲の乱数を取得します:
int k =random.nextInt(); int j = Math.abs(k % 10) + 10; —Font は低レベルのユーザー インターフェイスでより優れたパフォーマンスを実現できるので、Font クラスを使用する方法は?

まず第一に、携帯電話デバイスの制限により、携帯電話でサポートされるフォントの種類は非常に限られているため、J2ME では携帯電話でサポートされるデフォルトのフォントのみを使用して Font クラス オブジェクトを構築できます。 Font クラスのオブジェクトを作成するときに使用されるメソッドは次のとおりです:
GetFont(int face, int style, int size); 例: Font font = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_MEDIUM);

どのパラメータであっても、システムによって設定された値のみを使用できます。これらの値の具体的なサイズは、携帯電話によって異なる場合があります。以下は 3 つのパラメータの値の詳細な紹介です:

face パラメータはフォントの外観を指し、その値は次のとおりです:
FACE_MONOSPACE——等幅フォント
FACE_PROPORTIONAL——バランスフォント
FACE_SYSTEM ——システムフォント

styleパラメータはフォントのスタイルとその値を指します:
STYLE_BOLD - 太字
STYLE_ITALIC - 斜体
STYLE_PLAIN - 通常
STYLE_UNDERLINED - 下線
STYLE_BOLD STYLE_ITALIC - 太字斜体
STYLE_UNDERLINED STYLE_BOLD - 下線付き B古い
STYLE_UNDERLINED style_italic-下線付き斜体
スタイル_underlined style_italic style_bold -bold bold italic

サイズパラメーターは、フォントのサイズ、その値、size_small -smaze size_medium -medium
size_lar ge——big
nem上記のパラメータを使用して、必要なフォント オブジェクトを組み合わせることができます。

以下は一般的に使用されるフォント操作の一部です:
1. システムのデフォルトフォントを取得します:
Font font = Font.getDefaultFont();

2. panit メソッド内で、Graphics パラメーターの名前が g であると仮定して、get現在のフォント メソッドは次のとおりです:
Font font = g.getFont();

3. panit メソッド内で、Graphics パラメーターの名前が g であると仮定すると、現在のフォントを設定するメソッドは次のとおりです:
g.setFont( font);

ここで、 font はフォント オブジェクトを構築します。

4. MIDP2.0では、Listで各行のフォント形式を設定できます。そのメソッドは、
list.setFont(0,font);

上記のコードは、リストの最初の行をフォントタイプfontに設定します。 。

21. J2MEモバイルプログラム開発における色の使い方

J2ME携帯電話の開発過程では、プログラムのパフォーマンスを向上させるために、描画に色を使用することがよくあります。

J2MEテクノロジーは比較的シンプルであるため、特別なカラークラスを実装せず、RGBの概念のみを使用して色を表現します。 RGB の概念を簡単に説明します。色は赤、緑、青の 3 つの原色で構成されます。したがって、これら 3 つの色の組み合わせを使用して、その中の特定の色を表すことができます。 B の各値は 0 ~ 255 です。色を表現する場合、3つの数字で表現することもできますし、0X00RRGGBBのような16進数で表現することもできます。 一般的な色の表現形式は以下の通りです:

赤: (255,0,0 ) または 0x00FF0000

緑: (0,255,0) または 0x0000FF00

青: (255,255,255) または 0x00FFFFFF

他の色も上記の方法で組み合わせることができます。

色の表現を理解した後、J2ME プログラムで色の使用方法を紹介します。関連するメソッドはすべて Graphics クラスにあり、次のものが含まれます:

1.getColor():
現在使用されている色を取得、戻り値。 value は、0x00RRGGBB 形式の数値です。例:
int color = g.getColor();

ここで、 g は Graphics タイプのオブジェクトです。

2.setColor(int RGB):
使用する色を設定します。例:
g.setColor(0x00ff0000);

3.setColor(int red, int green, int blue)
上記のメソッドと同じ効果があります。例:
g.setColor(255,0,0 );

Graphicsで使用する色を設定した後、描画時に指定した色を描画できるようになります。

22. J2MEネットワーキングアプリケーションでクライアントの携帯電話番号を取得します

J2ME プログラムの開発プロセスでは、特定のニーズに応じてユーザーの携帯電話番号を取得する必要があることがよくありますが、この機能は標準の J2ME クラス ライブラリには提供されていません。

チャイナモバイルのCMWAP方式を使用してネットワークに接続すると、チャイナモバイルはx-up-calling-line-idというヘッダー情報にユーザーの携帯電話番号を入れ、そのヘッダー情報を読み取ることでユーザーのIDを取得できます。具体的なコードは以下の通りです:
String usermphone = http.getHeader("x-up-calling-line-id");

ここで http は HttpConnction 型のオブジェクトです。

23. J2MEを使用して携帯電話のショートメッセージを送信する

プログラムでは、ショートメッセージを送信する方法は一般に3つあります:

1. プログラムを使用して、メジャー


などのネットワーク上でショートメッセージを送信します

上記は、J2ME プログラム開発の包括的な基本説明のまとめ (パート 2) です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte 2025年のトップ4 JavaScriptフレームワーク:React、Angular、Vue、Svelte Mar 07, 2025 pm 06:09 PM

この記事では、2025年の上位4つのJavaScriptフレームワーク(React、Angular、Vue、Svelte)を分析し、パフォーマンス、スケーラビリティ、将来の見通しを比較します。 強力なコミュニティと生態系のためにすべてが支配的なままですが、彼らの相対的なポップ

Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正 Spring Boot Snakeyaml 2.0 CVE-2022-1471問題修正 Mar 07, 2025 pm 05:52 PM

この記事では、リモートコードの実行を可能にする重大な欠陥であるSnakeyamlのCVE-2022-1471の脆弱性について説明します。 Snakeyaml 1.33以降のSpring Bootアプリケーションをアップグレードする方法は、このリスクを軽減する方法を詳述し、その依存関係のアップデートを強調しています

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか? Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか? Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

node.js 20:キーパフォーマンスが向上し、新機能 node.js 20:キーパフォーマンスが向上し、新機能 Mar 07, 2025 pm 06:12 PM

node.js 20は、V8エンジンの改善、特により速いガベージコレクションとI/Oを介してパフォーマンスを大幅に向上させます。 新機能には、より良いWebセンブリのサポートと洗練されたデバッグツール、開発者の生産性とアプリケーション速度の向上が含まれます。

Iceberg:データレイクテーブルの未来 Iceberg:データレイクテーブルの未来 Mar 07, 2025 pm 06:31 PM

大規模な分析データセットのオープンテーブル形式であるIcebergは、データの湖のパフォーマンスとスケーラビリティを向上させます。 内部メタデータ管理を通じて、寄木細工/ORCの制限に対処し、効率的なスキーマの進化、タイムトラベル、同時wを可能にします

キュウリのステップ間でデータを共有する方法 キュウリのステップ間でデータを共有する方法 Mar 07, 2025 pm 05:55 PM

この記事では、キュウリの手順間でデータを共有する方法、シナリオコンテキスト、グローバル変数、引数の合格、およびデータ構造を比較する方法を調べます。 簡潔なコンテキストの使用、記述など、保守性のためのベストプラクティスを強調しています

Javaで機能的なプログラミング技術を実装するにはどうすればよいですか? Javaで機能的なプログラミング技術を実装するにはどうすればよいですか? Mar 11, 2025 pm 05:51 PM

この記事では、Lambda式、Streams API、メソッド参照、およびオプションを使用して、機能プログラミングをJavaに統合することを調べます。 それは、簡潔さと不変性を通じてコードの読みやすさと保守性の改善などの利点を強調しています

See all articles