J2ME Wireless Toolkitで作る
MIDPプログラミング入門(前編)―プロジェクトの作成まで理解しよう―
スカイアーツ
米川英樹
2001/3/15
|
今回の内容
|
NTTドコモのJava対応携帯電話が2001年1月26日に発売され、国内でも携帯電話上でJavaが実行できるようになりました。これを機に「携帯電話用Javaの開発を始めてみよう!」と考えている方は多いのではないかと思います。しかし、「どこからどのようにして始めたらよいのかが分からない」という方も多いかと思います。
そこで、実際に携帯電話用Javaでの開発について順を追って解説していきたいと思います。この記事を読み終えていただいた後には、開発の基本が身に付いていることと思います。
解説するのはMIDP(Mobile Information Device Profile)です。すでにNTTドコモのiアプリの書き方についてあちこちで記事を見かけますが、MIDPはサンが定める携帯Javaの標準規格です。携帯Javaの基礎として、知っておいて損はないでしょう。しかも、J-フォンと英ボーダフォンは携帯JavaにMIDPを採用すると正式に表明しています。最近では、au、DDIポケットのPHSもMIDPを採用すると正式に発表しました。実際に実機が登場するのはJ-フォンが一番早く、今年の6月といわれています。
MIDPとNTTドコモの iモード対応Javaとの違いや仕様の概要に関しては、「携帯Java最新事情 ドコモ仕様とMIDPはどう違う?」にて解説していますので、参考にしてみてください。
|
開発環境の準備 |
最初にMIDPアプリケーション開発の準備をします。今回はMIDP FCS1.0を使わず、サン・マイクロシステムズが無料で配布しているJ2ME Wireless Toolkit 1.0.1を使用します。
なお、J2ME Wireless Toolkit 1.0.1はForte for Java release 2.0と組み合わせて開発を行うことができますが、今回はForte for Javaは使用しません。
必要なシステム環境は以下のとおりです。
| ・Windows 98 Second Edition、Windows NT 4.0またはWindows 2000 |
| ・15Mbytes以上のハードディスク容量 |
| ・64Mbytes以上のRAM |
| ・166 MHz以上のCPU |
開発の準備は以下の手順で行います。
| 1 開発環境の用意 |
| 2 開発環境のインストール |
| 3 ドキュメントの用意 |
1.開発環境の用意
MIDPの開発に必要な開発環境は以下のとおりです。以下の2つのソフトウェアはサン・マイクロシステムズのサイトから無料でダウンロードできます。
| ・Java 2 SDK Standard Edition 1.3.0以上(約30Mbytes) |
| ・J2ME Wireless Toolkit 1.0.1(約5.48Mbytes) |
※Java 2 SDK Standard Edition 1.3.0(以下Java2 SDK 1.3)に関しては書籍のCD-ROMなどに付属していますので、そちらを使用しても構いません。
2.開発環境のインストール
「1.開発環境の用意」で用意したJava2 SDK 1.3を先にインストールします。デフォルトでは「C:\jdk1.3.0」(Java2 SDK 1.3.0_01では「C:\jdk1.3.0_01」)にインストールされますので、今回はそのままインストールします。
次にJ2ME Wireless Toolkit 1.0.1(以下J2ME Wireless Toolkit)をインストールします。
| [手順] 1.デフォルトでは「C:\J2MEWTK」にインストールされますので、今回はそのままインストールします
2.今回はForteと組み合わせて使用しないので、「Stand Alone」を選択してください
3.Finishedと書かれたダイアログが表示されたら「Close」ボタンを押してダイアログを閉じればインストール終了です
|
3.ドキュメントの用意
MIDPの仕様書をサン・マイクロシステムズのサイトからダウンロードします。ただし、現在は英語版しかありません。
このドキュメントにはCLDCのAPIドキュメントも含まれています。日本語版のドキュメントを読みたい方は、日本サン・マイクロシステムズの「Java Technologies for WIRELESS」(http://jdc.sun.co.jp/wireless/)にある「CLDC 仕様 日本語版ダウンロード」と記載があるところからCLDCの日本語版のドキュメントがダウンロードしてください。
以上で開発のための準備が整いました。この後は簡単なプログラムを作成していきながら開発の要点を説明します。解説に従って開発を進めていけば、J2ME Wireless Toolkitによる開発の流れ、文字の描画、ソフトボタンのイベントについて理解できるようになります。
|
MIDPアプリケーションのルール |
MIDPアプリケーションを作るために、以下のルールを覚えておく必要があります。
| ・アプリケーション(MIDlet)は必ず「javax.microedition.midlet.MIDlet」を継承する |
| ・CLDC上のプロファイルのため、CLDCのJavaVMの制限がある |
| ・すべてのクラスは単一のJARファイル内にある必要がある |
| ・JARファイル中のmanifestファイルには独自の記述(JADファイルとほぼ同様)が入る |
MIDletは以下のライフサイクルで動作します。
| 1 MIDlet#startApp()メソッドが呼ばれ、MIDletが開始される |
| 2 端末に電話がかかってきたときなどにMIDlet#pauseApp()メソッドが呼ばれ、MIDletを停止状態にさせる |
| 3 2でMIDlet#pauseApp()メソッドが呼ばれた後、電話が終了したときなどに再度MIDlet#startApp()メソッドが呼ばれ、MIDletは再度開始される |
| 4 MIDletを終了するときにはMIDlet#destroyApp(boolean)メソッドが呼ばれ、MIDletは終了する |
![]() |
PCでのソフトウェア開発と違い、MIDPは携帯電話などでの使用を前提に策定されているため、アプリケーションの処理中に電話の着信などによりMIDlet#pauseApp()メソッドが呼ばれる可能性があります。そしてMIDlet#pauseApp()メソッドが呼ばれた場合にはThreadなどの処理を停止する処理を意識的に入れる必要がある点に注意すべきです。
MIDPアプリケーションを実行する場合、すべてのCLASSファイルはPreverifyツールで先に認証処理をさせておく必要があり、実際の実行にはJava Application Descriptor(JAD)ファイルに記載されている内容を読み込んでから実行することになります。
|
J2ME Wireless Toolkitの起動と設定 |
設定とルールの説明が終わりましたので、それでは実際に開発を始めていきましょう。最初にJ2ME Wireless Toolkit(以下 Wireless Toolkit)を起動し、少し設定を行うことにします。
WindowsのスタートボタンからWireless Toolkitを起動し、[プログラム]→[J2ME Wireless Toolkit 1.0.1]→[KToolbar]を選択します。
![]() |
Wireless Toolkitが起動したならば、デフォルトのエミュレータは白黒携帯電話型(DefaultGrayPhone)になっていますので、カラー携帯電話型(DefaultColorPhone)に設定します。この設定は白黒かカラーかの違いなので設定してもしなくても構いません。
![]() |
| [手順] 1.Wireless Toolkitの[編集]メニューの[設定]を選択します
2.[エミュレータ設定]ウィンドウが表示されたならば、[デバイス選択]リストを「DefaultColorPhone」に変更して[了解]ボタンを押します
|
|
MIDletのProject作成 |
Wireless Toolkitはプロジェクト単位でコンパイル、実行などを行います。コードを書く前に開発用プロジェクトを作成することにします。
なお、プロジェクト名は「DrawTest」、MIDletのクラス名は「DrawTestMIDlet」とします。
これで、プロジェクト作成は完了です。
作成したプロジェクトディレクトリはWireless Toolkitのディレクトリの下にある「apps」の下に作成されます。今回はWireless Toolkitのディレクトリを「C:\J2MEWTK」にしていますので、「C:\J2MEWTK\apps」の下に「DrawTest」ディレクトリが作成されているはずです。
![]() |
Wireless Toolkitウィンドウにも表示されていると思いますが、ソースファイルは「DrawTest\src」ディレクトリに、画像などのリソースファイルは「DrawTest\res」ディレクトリに置く必要があります。
既存のプロジェクトを開く場合は[ファイル]メニューの[開く]を選択すれば開くことができます。
![]() |
今回はここまでです、次回はいよいよプログラミングの実際を行います。
| 連載内容 | |
| J2ME Wireless Toolkitで作る MIDPアプリケーション入門 |
|
| 前編 プロジェクトの作成まで理解しよう | |
| 後編 エミュレータ上で動くプログラムを作ってみよう | |
| 筆者プロフィール |
| スカイアーツ(http://www.skyarts.com/) スカイアーツはJavaに特化した技術者集団の会社で、現在は携帯電話、及びPDA 向けのJavaアプリケーション開発に注力している。また、アプレット、サーブレット、Java2MEなどの開発で培ったJavaスキルを多 くの企業のシステム開発に役立てるため、受託開発、コンサルティングを行っている。 |
ホワイトペーパー(TechTargetジャパン)
- Webの表示速度を遅くする「SSLハンドシェイク」とは (2010/2/9)
安全性を担保しようとWebページにSSLを適用すると、負荷の高い処理が実行される。速度と安全性は両立できるのか? - クラウド活用「雲活」のために押さえるべき39のポイント (2010/2/2)
活用するべきサービスか否か、クラウドの利点・問題点、クラウドプラットフォーム提供企業になるための条件、開発者がするべきことに分けて紹介 - 再利用性の高いクラス作成に重要な“アクセス制御” (2010/1/28)
Javaのアクセス修飾子public、private、protectedや、Eclipseで簡単に作れるアクセサメソッドgetter、setterについて解説 - DB設計の神ツール「ERMaster」なら、ここまでできる (2010/1/21)
直感的なUIに、カスタマイズ可能な、Excel出力のテーブル定義書、辞書機能など多機能なERモデリングの無料Eclipseプラグインです
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |




















