Presentation is loading. Please wait.

Presentation is loading. Please wait.

BREW を学ぶ 情報工学科1組 石原 第4 週目 Microsoft Visual Studio.NET 2003 を使って BREW アプリの作成手順を学ぶ.

Similar presentations


Presentation on theme: "BREW を学ぶ 情報工学科1組 石原 第4 週目 Microsoft Visual Studio.NET 2003 を使って BREW アプリの作成手順を学ぶ."— Presentation transcript:

1 BREW を学ぶ 情報工学科1組 石原 第4 週目 Microsoft Visual Studio.NET 2003 を使って BREW アプリの作成手順を学ぶ

2 "HelloWorld" プログラムを作る BREW エミュレータで実行する BREW アプリケーションの 実体は.dll ファイルです。これを "BREW モジュール " という。 BREW モジュールには、必ず MIF ファイルが必要で、 HelloWorld.dll モジュールには HelloWorld.mif というファイ ルが 必要になる。 この二つは必ずペアで扱う。 MIF ファイルは BREW モ ジュール に関するメタ情報を記述するためのもの。 画面に "Hello World" と表示する簡単な BREW アプリを作成 する。

3 BREW アプリケーションを開発に必要な 作業  各 BREW アプレットのクラス ID の作成  各 BREW アプレットの振る舞いの実装  BREW モジュールのメタ情報を記述した MIF ファイルの作成  BREW モジュール (DLL) の作成

4 MIF ファイルの作成 HelloWorld アプリケーションでは、 HelloWorld.dll と いう BREW モジュールに、 “ HelloWorld ” という名 前 の BREW アプレットを含めることにする。 HelloWorld アプレットのクラス ID は 0x1234 にす る。 これらの BREW モジュールの情報や、そこに含ま れ ているアプレットの情報は、 MIF ファイルに格納 する。 まず MIF ファイルの作成手順を見ていく。

5  BREW MIF エディタ を起動。  BREW モジュールに一つのアプレットを含め る設定を行う。まず [ アプレット ] タブの [ 新規 アプレット ] ボタンを押す。

6  [ClassID の生成 ] ダイアログが表示されるので、 [ 名前 ] に “ HelloWorld ” と入力し、 [ ローカル ] ラ ジオボタンを選択する。また [ClassID] に "1234" と入力。

7  HelloWorld.bid というファイル名で保存。 このファイルに HelloWorld アプレットの クラス ID が格納される。  MIF エディタに戻り、 [ アプレット ] タブの [ClassID] から 0x00001234 を選択する。これは HelloWorld アプレットを表すクラス ID 。  アプレットの名前や種類、アイコンを設定する。 [ 名前 ] には “ Hello World ” と入力し、 [ アプレット の種類 ] では “ ツール ” を選択。  HelloWorld.mif というファイル名で保存。

8 *.bid ファイルの中身  MIF ファイルを作成する途中で.bid ファイルを 作成。このファイルは、 BREW アプレットのク ラス ID を定義した C 言語のヘッダーファイル で、テキストエディタで開いてみると、次のよ うになっていることが分かる。 #define AEECLSID_HELLOWORLD 0x00001234  この.bid ファイルは、後で BREW アプレットの 実装を行うときに、ソースコードにインクルー ドすることになる。

9 BREW プロジェクト (DLL ファイル)の作 成  Microsoft Visual Studio.NET 2003 を起動 。  メニューの [ ファイル ] - [ 新規作成 ] - [ プロジェクト ] を選 択し、 [Visual C++ プロジェクト ] を選択

10  ウィザードの [ ステップ 1/2] では、 BREW アプリケー ションで使用する機能。以下のような機能がある。  今回は “ Hello World ” と表示するだけの単純なアプリケー ションでいずれの機能も使用しないので、何も選択せず に [Finish] ボタンをクリック。

11 BREW プロジェクトの内 容 BREW アプリケーション ウィザードが生成した ファイルを調べてみる。 Visual C++ の左側の [FileView] タブを見ると、三つのファイルが プロジェクトに追加されている。  AEEAppGen.c  AEEModGen.c  HelloWorld.c

12 * AEEAppGen.c と AEEModGen.c この二つのファイルは、 BREW アプリケーション ウィ ザードで 生成した複数の BREW プロジェクトから共有されるソー ス コードなので、不用意に編集してはいけない。 [FileView] で HelloWorld.c をダブルクリックして、この ファイルを開いてみる。

13 HelloWorld.c // // ユーザーがアプレットを起動要求したときに、呼び出されます。 // 開発者は指定されたクラス ID の BREW アプレットを作成して返すこ とで、 // BREW アプレットを起動します。 // int AEEClsCreateInstance( AEECLSID ClsId, // クラス ID IShell * pIShell, // シェル インターフェイス IModule * po, // モジュール インターフェイス void ** ppObj) // 作成したアプレットを返すポインタ { *ppObj = NULL; if (ClsId == AEECLSID_HELLOWORLD) { if(AEEApplet_New(sizeof(AEEApplet), ClsId, pIShell, po, (IApplet**)ppObj, (AEEHANDLER) HelloWorld_HandleEvent, NULL)) { return AEE_SUCCESS; } return EFAILED; }

14 // // HelloWorld アプレットのイベント ハンドラ // static boolean HelloWorld_HandleEvent( IApplet * pi, // アプレット構造体 AEEEvent eCode, // イベント コード uint16 wParam, // イベント パラメータ (16 ビット ) uint32 dwParam) // イベント パラメータ (32 ビット ) { switch (eCode) { case EVT_APP_START: // ここにコードを追加します。 HelloWorld_OnAppStart((AEEApplet*) pi); return TRUE; case EVT_APP_STOP: // ここにコードを追加します。 return TRUE; default: break; } return FALSE; }

15 BREW ウィザードが生成したコードは、 AEEClsCreateInstance() と HelloWorld_HandleEvent() という二つの関数。  AEEClsCreateInstance() は、ユーザーが BREW アプレット のアイコンを選択して起動したときに呼び出される関数。 開発者はこの関数内で BREW アプレットのデータ構造体 を作成して返す必要がある。  HelloWorld_HandleEvent() は、ユーザーが携帯電話のキー を押したり、アプリを終了させたりなど、さまざまな操 作を行ったときに呼び出される関数。

16 BREW アプレットの構 造  BREW アプレットは、 “ アプレット構造体 ” と “ イベント ハンドラ ” のペアで構成される。  アプレット構造体とは、 BREW アプレットがデータを 格納するための構造体で、そのアプレットでグローバル に使用する変数などを格納しておく。 BREW ウィザー ドが生成したコードでは、デフォルトで AEEApplet 構造 体が使用されている。  イベント ハンドラとは、 BREW 実行環境からのさまざ まな通知を受け取る関数で、ユーザーがキーを押したと きなどに呼び出される。 BREW ウィザードが生成した コードでは、デフォルトで HelloWorld_HandleEvent() 関 数が使用されている。

17 画面への描画 // // アプレットが開始したときに呼び出される。 // static void HelloWorld_OnAppStart(AEEApplet* app) { AECHAR text[] = {'H','e','l','l','o',' ','W','o', 'r', 'l', 'd', '\0'}; // 画面ビットマップに文字列を表示する IDISPLAY_DrawText(app->m_pIDisplay, AEE_FONT_BOLD, // 太字のフォント text, // 表示する文字列 -1, // -1 = 文字列をすべて表示する 0, // 無視される NULL, // クリッピングしない IDF_ALIGN_CENTER | IDF_ALIGN_MIDDLE); // 左右中央揃え、上下中央揃 え // 更新された画面ビットマップを表示する IDISPLAY_Update (app->m_pIDisplay); }

18 BREW エミュレータ用にコンパイル する すべてのファイルを確認。 Helloworld.bid と HelloWorld.mif は 他のファイルと同じ フォルダ内に入れておく。 コンパイルを行うには、 メニューから [ ビルド ] - [ ソリューションのビルド ] を選択。 ソースコードに誤りがなければ、正常にビルドが行われ、 アウトプット ウィンドウに次のようなメッセージが表示される。 HelloWorld.dll - エラー 0 警告 0 HelloWorld プロジェクト フォルダに、 HelloWorld.dll というファイルが作成される。

19 BREW エミュレータで実行する BREW エミュレータで動作させるためには、 HelloWorld.dll ファイルと HelloWorld.mif ファイルが必要。 この二つのファイルを次のような場所にコピー。  C:\Applet\HelloWorld.mif  C:\Applet\HelloWorld\HelloWorld.dll BREW エミュレータを起動。デフォルトでは BREW SDK の Examples フォルダにある BREW アプレットがエミュレータ画面 に表示されるので、エミュレータの読み取るフォルダを C:\Applet に変更する必要がある。 メニューから [ ファイル ] - [ アプレットディレクトリの変更 ] を選択 し、 [ フォルダの参照 ] ダイアログで C:\Applet フォルダを選択 して [OK] を押す。

20 最初のアイコンを選択した状態で画面に “ Hello World ” というタイト ルが 表示されていれば、 BREW エミュレータが MIF ファイルを認識して いる 証拠。この段階ではアプリケーション本体である.dll は実行されてい ない。 タイトルの "Hello World" というテキストは、 MIF ファイルの [ アプ レット ] タブの [ 名前 ] 項目に入力したものが表示される。 アイコンを選択した状態で Enter を押して、画面中央に太字で “ Hello World ” と表示されれば作成されたことになる。

21 今後の予定 BREW エミュレータの基本ツールを把握しておく。 また次回までに、 BREW API の基本的な使い方 についてサンプルプログラムを使い、学んでいく。 また、参考書を見て知識を深め、次回以降の オリジナルのアプリを作成するための構想を立て る。

22 参考資料 株式会社 ソフィア・クレイドル HP http://www.s-cradle.com/developer/index.html#brew


Download ppt "BREW を学ぶ 情報工学科1組 石原 第4 週目 Microsoft Visual Studio.NET 2003 を使って BREW アプリの作成手順を学ぶ."

Similar presentations


Ads by Google