Loading
|
@IT > Master of IP Network > Mobile Connection > ezplusアプリを作ってみよう |
ezplusアプリを作ってみよう 服部隆志 http://www.sinsen.org/ http://www.ngy1.1st.ne.jp/~takashi/sinsen_index.html 2001/8/24
8月の初めにKDDIの運営するサイト「EZweb on the street」の技術情報のページで、「KJX作成ツール」が公開されました。このKJX(Kddi Java eXtension)は、KDDI向け携帯Java実行環境「ezplus」の実行ファイル形式です。ezplus対応端末は、HDML(Handheld Device Markup Language)で書かれたサイトからこのKJXファイルをダウンロードして、実行することができます。 EZweb on the streetでは、すでにKDDI独自のプロファイル(KDDIP)の仕様が公開されていますが、このKJXのファイル形式が不明であったため、一般の開発者がezplus対応アプリケーションを作成することはできませんでした。しかし、KJX作成ツールが公開されたことにより、一般の開発者でもezplus向けのアプリケーションを作成できるようになります。
ここでは、KJX作成ツールを使っての開発、実機でのHelloWorldプログラム実行までをご紹介します。
現在ezplusアプリを開発・公開するには以下のような環境が必要となります。
Java 2 Standard Edition(JDK 1.3)とJava 2 Micro Edition Wireless Toolkit(J2MEWTK)はあらかじめインストールしておいてください。 また、HDMLファイルが使えるサーバとCGIが使えるサーバは同じサーバでなくても構いません。お使いのサーバでHDMLファイルが利用可能かどうかは、サーバを提供しているプロバイダのWebページを探すか、サーバー管理者にお尋ねください。MIME設定の知識がある人は.htaccessファイルを使い設定することもできます。 KDDIが採用しているMIDP(Mobile Information Device Profile)では、アプリケーションの情報を記録したJAD(Java Application Descriptor)ファイルと実行クラスやリソースファイルをまとめたJARファイルが必要となります。また、ezplusでは、これら2つのファイルに独自のヘッダを追加したKJXというファイルに変換しなければなりません。KJX作成ツールには、簡単なMIDP開発環境と、この変換を行うツールが含まれています。 ●インストール EZweb on the streetのezplusに関するページからKJX作成ツール(KJX_tool_Ver1_0.exe:214Kbytes)をダウンロードします。実行すると「KJX_tool_kit_Ver1_0」というフォルダが作成され、実行ファイルなどが展開されています。 以下、KJX_tool_kit_Ver1_0フォルダを「ezplus」と名前を変え、Cドライブのルートに置いた(c:\ezplus)と想定して解説していきます。 ●KJX作成ツールの実行 c:\ezplus\Tools\Dir2にCmdTool.jarというファイルがありますが、これがKJX作成ツールの本体です。JDK 1.3がインストールされている環境では、このファイルをダブルクリックして実行すると図1のようなウィンドウが立ち上がります。立ち上がらない場合は、同フォルダにある「CmdTool.bat」を実行するか、JDK 1.3が正常にインストールされていることを確認してください。
●KJX作成ツールの初期設定 メニューの「tool > default env」を実行すると、図2のようなウィンドウが開きます。すべてのプロジェクトで共通の環境を設定してください。 KJX作成ツールを「c:\ezplus」へコピーし、JDK1.3が「c:\jdk1.3」へ、J2ME Wireless Toolkitが「c:\J2MEWTK」にインストールされている場合は、以下のように設定します。
executeは一切設定する必要がなく、MIDletはJADファイルのデフォルト内容を、commonはプロジェクト作成のルートを設定するものです。MIDlet、commonについては任意で設定してください。
KJX作成ツールの設定が終了したら、早速サンプルプログラムを作成してみましょう。作成するのは、お決まりの「HelloWorld」です。 ●新規プロジェクトの作成 メニューの「file > new project」を選択すると、Project NameとProject Detailを入力するウィンドウが開きます。Project NameをHelloWorldに、Project Detailはプロジェクトの説明なので任意に(TESTなど)設定します。 OKを押すと、先ほど設定した初期設定のウィンドウと同じようなウィンドウが出てきます。これはプロジェクト単位の設定で、必要であれば設定します。今回のHelloWorldの場合は、特に設定の必要はありません。 なお、プロジェクト単位の設定は「project > edit env」でいつでも編集することができます。 ●ソースの記述 プロジェクト「HelloWorld」を作成すると、デフォルトでc:\ezplus\Tools\Dir2\project以下にプロジェクト名のフォルダが作成されます。さらにその中を開くと「bin、classes、res、src、tempclasses」というフォルダが作成されていますので、srcフォルダにJavaファイル(*.java)、resフォルダにリソースファイルを入れます。 今回は、リスト1のHelloWorld.javaをメモ帳などを使って作成し、srcフォルダへ入れます。
●ビルド ソースの記述・配置が終わったらCmdToolへ戻り、メニューバーの下にある[build](ビルド)ボタンを押してビルドします。ビルドでは、以下のことを自動でやってくれます。
これでKJXファイルを手に入れることができました。しかし、実際にダウンロードさせるためには、EZwebの仕様からダウンロードさせるための用意が必要となります。
KJX作成ツールを使い、KJX形式のアプリケーションが作成できたら、それをダウンロードさせるための準備をします。 EZweb on the streetの技術情報に、ダウンロードCGIのページがありますので、そこにある「サンプルプログラム(Perl)」をダウンロードします。 ●KJXファイルにチェックサムを付加する ダウンロードするファイルの正当性をチェックするため、作成したKJXファイルにチェックサムを付加します。チェックサムを付加するツールをお持ちでない場合は、以下のJavaアプリケーションをダウンロードして使ってください。チェックサムを付加しないと、アプリケーションを実行できないので注意してください。なお、チェックサムの仕様については、ダウンロードCGIのページに詳細が書かれていますので参照してください。
●ダウンロード用CGIの用意 先にダウンロードしたダウンロードCGIをそのまま使います。ただし、Perlへのパスは、お使いのサーバに合わせて設定してください。また、CGIの配置場所によっては、HDMLなどで使用するURLに変更が必要となることに注意してください。 ●HDMLによるダウンロードサイトの作成 ここではHDMLについての説明は省略します。詳しい情報を知りたい方は、EZwebのサイトや、「連載 HDMLでEZweb対応のページを作る」をご覧ください。 使用するサーバーがHDMLに対応していない場合は.htaccessファイルによるMIME設定をすることで対応できますが、設定が複雑で危険をともなう場合もありますので、サーバに関する知識のない方は他の方法を取ることをお勧めします。 今回のHelloWorldをダウンロードさせるには、リスト2のようなHDMLが必要となります。
EZwebのサイトでダウンロードしたHDMLファイルとほぼ同じですが、ceタグのvalue属性を以下のように指定してください。
これで「チェックサム付加済みのKJXファイル」「ダウンロード用HDMLファイル」「ダウンロードCGI」が用意できました。あとは、これをHDML対応サーバへアップするだけです。KJXファイルはバイナリ、HDMLとCGIはアスキーモードでアップロードしてください。 どうでしょう。ダウンロードしたものは動きましたでしょうか? なお、HDMLファイルを更新したはずなのに実機では内容が更新されていない場合があります。これはキャッシュを読みに行っているためで、端末側の履歴をクリアすることで問題は解決できます。
●HDMLファイルが開けない場合 使用しているサーバがHDMLに対応しているか確認してください。対応していない場合は.htaccessファイルを編集するか、対応しているサーバで試してください。 ●ダウンロードできない場合 HDMLのceタグに間違いがないか確認してください。また、チェックサムが付加してあることを確認してください。 ●一部の機能が使えない ezplusでは、ダウンロード元のサーバによってセキュリティレベルが設定されており、通常のWebサーバを利用する場合には使用できない機能があります(Cメールの連続送受信モード、データフォルダにあるファイルの読み込み、個人情報の入手など)。 ●データストレージ(RecordStore)が使えない JADに「 ●PC上で実行できるエミュレータはない? 残念ながらezplusに対応したエミュレータは現在のところありません。しかし、KDDIPのAPIを使用していないプログラムであれば、MIDP対応のエミュレータである程度動作させることができます。また、KJX作成ツールに含まれる開発環境にはエミュレータの設定らしき部分がありますので、今後KDDIから公式のエミュレータが公開される可能性もあります。 ●C452CAでCanvas#getHeight()の値が実際とは異なる。 C452CAでのCanvas#getHeight()の値は120ですが、標準の状態では120×108までしか表示されていません。しかし、アプリケーション起動中にezplusキーを押すことで画面の構成を変え、120×120まで使うことができるようになります。ezplusキーを押すことで変化する画面構成は以下の3種類です。
今回紹介した開発・公開方法は、KDDIの公式ツールを使ってはいるものの、少々複雑な部分があり、Java初心者が開発するには適しているとはいえません。しかし、世界標準規格であるMIDPを使った開発にいち早く取り組めることは、十分に魅力的で有益なことだと思います。もちろんezplusにしかできないこともいくつかあり、それらをうまく使ったアプリケーションを作成することもとても面白そうです。 また、現在ezplus対応の公式コンテンツはまだ数が少なく、iアプリからの移植が大半を占めています。しかし、一般の開発者が開発可能となったことで、今後フリーのアプリケーションが増え、Web上での情報交換が活発になり、より高度な新しいアプリケーションが作成されることに期待したいと思います。
|
|
|
Copyright © ITmedia, Inc. All Rights Reserved.
|