ホーム > デベロッパ > BREW FAQ

BREW FAQ : イベント

イベント ハンドラとは?

イベントハンドラとは、BREW 実行環境 ( BREW AEE ) からのさまざまなメッセージ ( BREWでは「イベント」と呼びます) を受信し処理する関数です。

BREW では、アプリの開始・中断・再開・終了、キー入力、文字入力、キー押下、キー押下解除、アプリ固有などのイベントがあります。

BREW アプリは、BREW AEE から通知される各種イベントを処理するモジュール群から構成されます。

イベントハンドラのプロトタイプは次のようになります。

続きを読む »

      

BREW には、どんなイベントがありますか?

BREW には、アプリの開始・中断・再開・終了、キー入力、文字入力、キー押下、キー押下解除、アプリ固有など、 40 種類以上のイベントが存在しています。

イベントを独自に定義することもできます。

以下が、BREW の主なイベントです。

イベントコード 説明
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_CHAR ユーザーが何かの文字キーを押しました。
EVT_USER ユーザー定義のイベントが発生しました。

個々のイベントについては、『BREW API リファレンス』をご覧ください。

      

イベントキューにあるイベントを取得するには?

イベントキューにあるイベントを取得する関数はありません。

IAPPLET_HandleEvent() がコールされた場合に限り、イベントは取得できます。

      

サスペンド / レジュームのとき、アプリのコンテキストはどうなりますか?

サスペンドやレジュームのとき、ヒープメモリにあるアプリが使用している情報の退避と復帰は自動的になされません。

リソースの解放と確保やタイマーやコールバックのキャンセルと登録についても、BREWは何もしてくれません。

EVT_APP_SUSPEND イベント ( サスペンド時 ) や EVT_APP_RESUME イベント ( レジューム時 ) に対するイベントハンドリングの処理としてプログラミングしなければいけません。

また、レジューム時には画面の再描画も必要です。

      

終了キー押下によるアプリ終了を回避できますか?

終了キーを押した場合、BREW アプリは「EVT_KEY」イベントではなく、「EVT_APP_STOP」イベントを受信します。

よって、終了キー押下によるアプリ終了を回避することはできません。

      

カメラのイベントハンドリングの注意事項は?

プレビュー モードとスナップショット モードとの切り替えを行う場合は、ICAMERA_Stop() によってカメラを一度停止させる必要があります。

一方コールバック関数内では、カメラが停止したことは通知されますが、なぜカメラが停止したのか (スナップショット モードに移行するためなのか、それとも本当にカメラを停止するためなのか) は通知されません。

この問題の解決法は BREW プログラミング入門 「BREW でカメラ」で詳しく解説していますので、そちらをご覧ください。

      

サスペンドするとき、ICamera インターフェースはどのように処理すればいいですか?

      

レジュームするとき、ICamera インターフェースはどのように処理すればいいですか?