|
|
 |
第103回:待受アプリとは
|
 |
 |
 |
大和 哲 1968年生まれ東京都出身。88年8月、Oh!X(日本ソフトバンク)にて「我ら電脳遊戯民」を執筆。以来、パソコン誌にて初歩のプログラミング、HTML、CGI、インターネットプロトコルなどの解説記事、インターネット関連のQ&A、ゲーム分析記事などを書く。兼業テクニカルライター。ホームページはこちら。 (イラスト : 高橋哲史) |
|
待受時間も無駄なく
電話には、通話やブラウジング、メール表示などをしないとき、ただ「単に電話の呼び出しなどを待っている」という状態があります。いわゆる待ち受け時間です。
これまで、多くの携帯電話では、この待ち受け時間中においては文字で時間が表示される、あるいは待受画像が表示される程度の機能しかありませんでした。
待受アプリは、待ち受け状態の携帯電話に常駐させておくことができるプログラムです。ディスプレイ上では常にJavaアプリがあるかのように動作して画像を表示したり、あるいは様々な作業を裏で行なうことができるようになります。
J-フォンのJavaアプリ対応端末やauのezplus対応端末、それにNTTドコモの504iシリーズでこのタイプのアプリケーションが利用できます。
待受アプリの仕組み
例として、504iシリーズ向けの待受iアプリがどのように構成され、動いているのかを見ていきましょう。
待受アプリをサポートしていない503iや503iSシリーズでは、アプリケーションを継続的に実行させておくにはフルパワーで実行しつづける必要がありました。つまり、携帯電話上のJava仮想計算機が常にメモリを読んでプログラムを実行しているという状態です。しかし、仮想計算機が常にフルスピードで動いているということは、ただでさえ限られている携帯電話のCPUパワーが占有されることに加え、電池も消耗してしまいます。
そこで、504i以降のiモード携帯電話では、一時的にアプリケーションを止めてしまう仕組みを備えています。
モードが切り替わる504iシリーズ

|
パナソニック製のiモード端末「ムーバ P504i」
|
もともと、iアプリのプログラムの作りは、「イベントハンドラ」と言って、つまりキーが押されたり、タイマーが一定の時間を指した場合などに「イベント」というものが発生し、それに対応したルーチンが動くという構造になっていて、503iシリーズでもこれは同じでしたが、イベントが発生していない場合もJava仮想計算機がプログラム自体を実行しています。
504iシリーズでは、プログラムのモードを、503iシリーズと同様にプログラムがフルパワーで動いている「活性化状態」、キーイベント・ソフトキーイベントが通知されない「非活性化状態」、活動を休止している「休眠状態」と3タイプに切り替えることができるようにしています。また、一定時間が経過したり、メール着信や受話、ユーザーがアプリを使おうとしているなど、それぞれの状態を変更するようなイベントを受けることができるようなイベントハンドラが、アプリとOSの双方に新たに備えられました。
504iでは、待受アプリとして登録されると携帯電話のメモリ上に常駐するようになっています。そして、この3つのモードに対応して活性化状態から非活性化状態、さらに休眠状態へとモードを切り替えます。もし休眠状態で何かイベントが発生した場合は、まずシステムがそれを確認し、必要であれば待受アプリにイベントを渡して非活性化状態までアプリケーションを起こすことができるようになっています。
イベントは様々な使い方ができる
実際のプログラムの例としては、たとえば、待受アプリで画面に時計を描くアプリケーションの仕組みを見てみましょう。
従来のiアプリでは、iアプリが実行されるとずっとJava計算機が動いていましたが、待受アプリの場合、セットされた時点で待受アプリは休眠状態になって寝てしまいます。そして、1分後や5分後など時間が経過したというイベントが発生すると、システムはアプリケーションに「時間がたったぞ」というイベントを渡してアプリを非活性化状態まで起こします。アプリはそこで現在の時刻にあわせて画面の時計を書き換えます。これにより一定時間ごとに時計は書き換わり、時計アプリは正しく時刻を指すのです。
電話の着信やメールの着信などのイベントも、Javaアプリに通知することもできるので、電話の着信時に「電話だよ」という音声を再生したり、メール受信時に「メールだよ」と文字を表示させるようにプログラムを組むことも可能です。これらのイベントの処理作業が一通り終わると、待受アプリは休眠状態となります。
このように待受アプリでは必要なときだけプログラムを動かして、それ以外の場合は眠らせるということができるため、電池を長持ちさせることができるというわけです。
他にもイベントが発生するような事象を組み合わせた時計やエージェントのようなプログラムは504iシリーズで利用することができます。非活性化状態時は通信もできますので、たとえば一定間隔ごとに情報が表示される日本文字放送の「動く!道路情報2」のようなアプリもこの仕組みを利用することで作られています。
逆に、頻繁に画面を動かすようなものは計算機に休みがありませんので待受アプリにしても意味がありません。たとえば、アニメーションを待受アプリで常に動かすというようなことは残念ながらできない、ということになります。
|
日本文字放送の「動く!道路情報2」
|
・ 日本文字放送、504i向けに交通情報を表示するiアプリ
(大和 哲)
2002/08/06 13:06
|
|
|
|
|