BREW プログラミング入門(5)
|
|
※このプロトタイプの説明は、「BREW APIリファレンス」のAEEHANDLER の項目、または、IAPPLET_HandleEvent の項目にあります。
pApplet 引数にはIApplet*やAEEApplet*、あるいは、独自のアプレット構造体のポインタを受け取ることになります。この引数に実際に何が渡されるかは、AEEClsCreateInstance() 関数内で、アプレット構造体として何を作成したかに依存します。このことについては本連載の第3回で解説しましたので、理解が不十分な方は復習しておきましょう。
次に、evt引数ですが、これは通知されたイベントの種類を表す定数です。これを“イベントコード”と呼びます。例えば、「ユーザーが携帯電話のキーを押しましたよー」というイベントであれば、EVT_KEYというイベントコードが渡されます。BREWで定義されているイベントコードについては、後ほど詳しく説明します。
wParamとdwParam引数は、“イベントパラメータ”といって、イベントに付随するさまざまな情報を格納している引数で、その意味はイベントコードにより異なります。例えば、「ユーザーが携帯電話のキーを押しましたよー」というイベントであれば、wParamに押したキーの種類を表す定数が渡されます。
イベントハンドラでは長時間の処理をしてはいけない
イベントハンドラを記述するときに注意しなければならないのは、「イベントハンドラでは、長時間に渡る処理をしてはいけない」ということです。一つのイベントに対して、長い処理を行いますと、BREW実行環境は、アプレットを強制的に終了させてしまいます。これは、携帯電話の機能が麻痺しないように保護するためです。
実際にどれくらいの処理時間までが許可されるかは端末により異なりますが、だいたい1秒以内に処理すべきだといわれているようです。
それでは、ファイルシステムの読み書きやネットワーク通信などの、時間のかかる処理はどのように行ったらよいでしょうか。いくつか方法があります。
[A] タイマーやユーザー定義のイベントを利用して、時間のかかる処理を細切れにして処理する。
[B] 非同期関数を使用する。
これらは高度な話題ですので、本連載では扱わないことにします。
BREWで定義されているイベント
BREWのイベントの一覧を調べてみましょう。「BREW APIリファレンス」を開いて、左側の目次から、[データ型]-[イベントコード] を選択します。イベントコードの表が表示されます。
イベントコードを調べる別の方法としては、BREW SDKをインストールしたフォルダのinc\AEE.hファイルを開いて"AEE Events"という部分を検索してみましょう。イベントコードの一覧が記述されています(このようにヘッダーファイルを調べてみることは、BREW SDKをよく理解する上で役に立ちます。ドキュメントに記述がない情報が書かれていることもあります)。
以下に、主なイベントを抜き出してみました。
イベントコード | 説明 |
EVT_APP_START | BREWアプレットが起動されました。何か初期化をしたいならしてください〜。 |
EVT_APP_STOP | ユーザーがBREWアプレットを終了するように言っています。終了処理が必要ならしてください〜。 |
EVT_APP_SUSPEND | BREWアプレットを中断しますよ〜。中断の準備をしてください〜。 |
EVT_APP_RESUME | 中断したBREWアプレットを再開しますよ〜。再開の準備をしてください〜。 |
EVT_KEY | ユーザーが何かのキーを押しましたよ〜。 |
EVT_KEY_PRESS | ユーザーが何かのキーを押下しましたよ〜。 |
EVT_KEY_RELEASE | ユーザーが何かのキーを離しましたよ〜。 |
アプレットの開始イベント
アプレットが開始しますと、イベントコードEVT_APP_STARTが通知されます。アプレットの初期化処理を行いたい場合、ここで行うことができます。
イベント パラメータですが、「BREW APIリファレンス」には、「wParam=0、dwParam = const char* (引数)」と書かれていますが、これは誤りです。
実際には、EVT_APP_STARTイベントのwParamには0が渡され、dwParamにはAEEAppStart*が渡されます。AEEAppStartは次のような構造体です。
|
この構造体は、別のBREWアプレットから起動されるときに重要になるものです。アプリ間連携を行うのでなければ、使うことはないでしょう。
アプレットの終了イベント
アプレットが終了しますと、イベントコードEVT_APP_STOPが通知されます。アプレットの終了処理を行いたい場合、ここで行うことができます。イベントパラメータについては、「BREW APIリファレンス」に以下のように書かれています。
|
dwParamは、イベントを受け取ったハンドラが、BREW実行環境に値を返すためのものです。このポインタにFALSEを返すことで、EVT_APP_STOPイベントを受け取っても、「た、頼む、終了しないでくれぇ」と懇願することができますが、通常はこのパラメータは使用しません。
[倉谷智尋, ITmedia]
Copyright © ITmedia, Inc. All Rights Reserved.
前のページ | 1/2 | 次のページ
最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!
最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!