W-ZERO3用アプリ開発に挑戦するページ

今日は2006/1/12。そろそろこのページも整理しないと訳解らんな(^^;

今日は2005/12/7。あと2日で遂にWILLCOMの無敵ケータイ「W-ZERO3」の予約が始まります。端末の発表はもちろん、なんと発売日の発表までもがニュースサイトでトップニュースとして扱われた事から判るように、W-ZERO3の「祭り」度の高さは大変なものです。某大型量販店の予約可能台数が100台限定になっている事などから、当初は入手が困難になると予想されます。

それはさておき、ここではW-ZERO3用のソフトウェアを開発するための情報を随時まとめていきます。

J2ME Wireless Toolkit 2.2用W-ZERO3エミュレータスキン
予備知識
タダでネイティブアプリを作る
タダでJavaアプリを作る
金を出して.NET Compact Framework用アプリを作る
金を出して最新の開発環境を揃える

戻る


■J2ME Wireless Toolkit用W-ZERO3エミュレータスキン(2006/1/12更新)

2006/1/12

「J2ME Wireless Toolkit 2.2」用のW-ZERO3エミュレータスキンをアップデートしました。昨日のバージョンはレイアウトも見た目も中途半端だったので、実機の雰囲気を再現できるようにちょっとだけ頑張ってみました。W-ZERO3の縦画面の表示を再現していますが、本物と同じレイアウトだと非常に表示サイズが大きくなるので、SXGA(1280x1024)以上用とXGA(1024x768)用を準備しました。

ダウンロード
(w-zero3_closed_skin_for_wtk22_20050112.ZIP/1,052,662バイト)

使い方:Wireless Toolkitを終了して下さい。ダウンロードして解凍して\WTK22\wtklib\devicesに置いて下さい。Wireless Toolkitを起動して下さい。デバイスとして「W-ZERO3 Closed (for 1280x1024)」と「W-ZERO3 Closed (for 1024x768)」が選択できるようになります。

ボタンの割り当て等はとりあえず最低限です。OKボタンやIEボタンはJavaから検知できるのかなぁ。もし出来るようなら連絡頂ければスキンも対応します。まだ自分でもあまり使い込んでいないのでそれ以外にも不具合などあったら直します。掲示板とか無いので日記(最新の日付でOK)にコメントくだせ~。


「W-ZERO3 Closed (for 1024x768)」の画面


「W-ZERO3 Closed (for 1280x1024)」の画面

ページトップへ

2006/1/11

「J2ME Wireless Toolkit 2.2」用のW-ZERO3スキンを作りました。標準のスキンではVGAのサイズのアプリは作成できませんが、コレを使えば作成できるようになります。ペンによる入力もおっけ~です。フルキーボードの設定は数が多くて面倒なので、とりあえず縦画面用のみ作りました。実際のレイアウトをそのまま再現したら、1024x768の解像度では表示しきれなくなってしまいました。それを気にして縦に潰し気味に作成したんだけど追いつかず...(^^;。気が向いたら1024x768に収まる配置に変更するかもしれません。

ダウンロード

使い方:ダウンロードして解凍して\WTK22\wtklib\devicesに置いて下さい。以上。デバイスとして「W-ZERO3(CLOSED)」が選択できるようになります。

ページトップへ


■予備知識(2005/12/7更新)

1)OSはマイクロソフトのWindows Mobile 2005 for PocketPCである。

Windows Mobile 2005は、Micsofoftが開発しているPDAや携帯電話のためのOSです。Windows Mobile 2003の後継となります。Palm OSやSymbian OS、Linuxが競合製品です。以前のバージョンが様々な呼称で呼ばれていたため系譜が不明瞭ですが、「Windows CEの最新版」と思っておけば間違いありません。Windows CEはPC用WindowsとAPIにかなりの部分で互換性があり、MFCなど旧来のクラスライブラリも提供されていますので、過去のPCでの開発経験がそのまま生きます。

2)Windows Mobileには.NET Compact Frameworkが搭載される。

.NET Frameworkは、誤解を恐れずに説明すれば「Microsoft版Java」です。.NET Compact FrameworkはPC版.NET Frameworkのサブセットで、やはりPCでの開発経験はそのまま生かすことが可能です。JavaでJavaVMに相当する「CRL」がOSやCPUの差異を吸収してくれるので、各CPU別に実行ファイルを生成する必要が無い、OSのバージョンアップにおいて互換性が失われる可能性が低い、といったメリットがあります。パフォーマンスはネイティブコードに劣りますが、PC用Windowsアプリも.NETへの移行が始まっていますので、Windows Mobileにおいても徐々に標準となるでしょう。

3)W-ZERO3に搭載されるJavaVMはWX310シリーズ+αの機能である。

W-ZERO3にはJavaVMが搭載されています。ただし、このJavaVMはミドルエンドのWX310シリーズとほぼ同じ仕様のものです。具体的には、J2ME(JavaME)1.0のCLDCのMIDP2.0です。機能的にはドコモのiアプリやボーダフォンのVアプリと同レベルにあります。リッチなGUIを構築したり、高度な通信機能を使用することはできないので、本格的なアプリケーション開発には向きません。ただし、WX310シリーズはもちろんMIDP2.0を採用するドコモのM1000やボーダフォンの多くの端末と共通のアプリが開発できるというメリットがあります。MicrosoftのOSながらJavaVMが搭載された事を喜びましょう。

ページトップへ


■タダでネイティブアプリを作る(2005/12/7更新)

Microsoftから「eMbedded Visual C++ 4.0」というフルセットの統合開発環境が提供されています。残念ながら最新の開発環境とはいえませんが「無料」で使用することができます。開発環境の世代としては、Visual Studio 97(Visual C++ 6.0)に相当し、Windows Mobile 2003までのネイティブコードアプリ(Win32APIやMFCを用いたアプリ)を開発できます。使い勝手はVisual Studio 97そのものです。過去に使用したことがあればすぐに馴染めるはずです。

ただし、問題が2つあります。

1つ目は、Windows Mobile 2005と2003の互換性が「あまり高くない」という情報があることです。Windows98とWindowsXPの関係のようなもので、基本的には上位互換ですが、Windows Mobile 2003で動いていたアプリがそのまま2005で動くとは限らないということです。もっとも、これから新規に開発するアプリについては随時実機でテストされるはすなので、問題は少ないと思われます。

2つめは、eMbedded Visual C++ 4.0はWindows Mobile 2003までの対応なので、Windows Mobile 2005で追加された新しい機能を使用したアプリが作成できない事です。とは言うものの、既にWindows Mobile 2003の時点まで何度ものメジャーバージョンアップを果たしてきたOSであるため、致命的な制限にはならないはずです。普通にアプリを開発するには十分でしょう。

注意:12/7時点では本当にeMbedded Visual C++ 4.0で作ったアプリがW-ZERO3で動くかどうか確認していません!確認していませんが、とりあえず私は作り始めました(笑

eMbedded Visual C++ 4.0 JA
http://www.microsoft.com/downloads/details.aspx?displaylang=ja&FamilyID=1DACDB3D-50D1-41B2-A107-FA75AE960856

eMbedded Visual C++ 4.0 SP4(日本語版)
http://www.microsoft.com/downloads/details.aspx?familyid=4A4ED1F4-91D3-4DBE-986E-A812984318E5&displaylang=ja

Windows Mobile 2003 software for Pocket PC 日本語版 ソフトウェア開発キット(SDK)
http://www.microsoft.com/downloads/details.aspx?familyid=9996B314-0364-4623-9EDE-0B5FBB133652&displaylang=ja

ActiveSync 3.8 日本語版
http://www.microsoft.com/japan/windowsmobile/downloads/activesync38.asp

これらをダウンロードして、上から順にインストールすれば準備は完了です。

ページトップへ


■タダでJavaアプリを作る(2006/1/11更新)

独自仕様のJavaVMを提供するドコモはもちろん、MIDPを採用するボーダフォンも拡張機能や独自フォーマットの音楽ファイルに対応するためにオリジナルの開発環境を提供しています。一方、WILLCOMのJavaVMはgif、png、jpegの各種画像ファイルとGM Level1のSMFファイル(.midファイル)に対応しているため、標準のMIDP2.0用開発環境がそのまま使用可能です。

Java 2 SDK, Standard Edition, v 1.4.2_10 (J2SE)
http://java.sun.com/j2se/1.4.2/ja/download.html

J2ME Wireless Toolkit 2.2
http://java.sun.com/products/sjwtoolkit/ja_download-2_2.html

これらをダウンロードして、上から順にインストールすれば準備は完了です。ちなみに、W-ZERO3の画面サイズに対応するエミュレータのスキンは標準では付いていません。スキンの作り方はドキュメントに記述がありますが、割と面倒です。とりあえず縦画面用のみ作ってみたのでアップしました。ページのトップからダウンロードして勝手に使って下さい。

■開発メモ

・アプリの休止・再開イベントが発生しない

W-ZERO3のJavaVMでは、通話やタスク切換えによる休止・再開時にMIDlet.pauseApp()やMIDlet.startApp()が呼ばれないようです。画面表示状態やメディア再生状態はアプリがなにもしなくても正常に引き継がれますが、ボタン押しっぱなしでタスクが切り替わるとボタン開放イベントが発生しないのでキーリピートの実装方法によってはボタンが押しっぱなしだと誤認する可能性があります。

ページトップへ


■金を出して.NET Compact Framework用アプリを作る(2005/12/7更新)

Microsoftの開発環境「Visual Studio .net 2003」で、.NET Compact Framework用のアプリを開発することが可能です。Windows Mobile 2003が正式なサポート対象になるようですが、.NET Compact Frameworkの実行環境はWindows Mobile 2003と2005の間でも高い互換性を保っているはずなのでトラブルは少ないでしょう。既にVisual Studio .net 2003が手元にある場合には、もっとも確実な選択肢といえます。ちなみに、eMbedded Visual C++がWindows Mobile 2003までカバーしているので、Visual Studio .net 2003はネイティブアプリの開発には対応していません。

ページトップへ


■金を出して最新の開発環境を揃える(2005/12/7更新)

今月発売される最新の開発環境「Visual Studio 2005」では、今まで無料だったeMbedded Visual C++が統合されます。.NET Compact Framework用のアプリはもちろん、最新のAPIを駆使したネイティブアプリの開発が可能になります。Windows Mobile 2005が正式サポートされる最初の開発環境です。ただし、最安価のExpress版ではMobileの開発はサポートしていません。Standard版以上が必要になります。最新の「eMbedded Visual C++」が無償提供されなくなってしまったのは残念ですが、Standard版であれば趣味の範囲でも手が届く価格帯の製品になると予想されます。

ページトップへ


戻る