J2ME Wireless Toolkitで作る
MIDPプログラミング入門(前編)―プロジェクトの作成まで理解しよう―
スカイアーツ
米川英樹
2001/3/15
今回の内容
|
開発環境の準備 MIDPアプリケーションのルール J2ME Wireless Toolkitの起動と設定 MIDletのプロジェクトを作成 |
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スキルを多 くの企業のシステム開発に役立てるため、受託開発、コンサルティングを行っている。 |
- 実運用の障害対応時間比較に見る、ログ管理基盤の効果 (2017/5/9)
ログ基盤の構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。今回は、実案件を事例とし、ログ管理基盤の有用性を、障害対応時間比較も交えて紹介 - Chatwork、LINE、Netflixが進めるリアクティブシステムとは何か (2017/4/27)
「リアクティブ」に関連する幾つかの用語について解説し、リアクティブシステムを実現するためのライブラリを紹介します - Fluentd+Elasticsearch+Kibanaで作るログ基盤の概要と構築方法 (2017/4/6)
ログ基盤を実現するFluentd+Elasticsearch+Kibanaについて、構築方法や利用方法、実際の案件で使ったときの事例などを紹介する連載。初回は、ログ基盤の構築、利用方法について - プログラミングとビルド、Androidアプリ開発、Javaの基礎知識 (2017/4/3)
初心者が、Java言語を使ったAndroidのスマホアプリ開発を通じてプログラミングとは何かを学ぶ連載。初回は、プログラミングとビルド、Androidアプリ開発、Javaに関する基礎知識を解説する。
|
|