Javaアプリ事始め 第9回:
特殊機能を使おう

J-フォンのパケット通信対応51シリーズのJavaプログラミングを数回に渡って解説してきた。今回は,Javaアプリから携帯電話情報を取得する方法を見ていく。

【国内記事】 2002年5月8日更新

Javaアプリの特殊機能

 これまでJavaアプリの主要機能を解説してきましたが,あまり携帯電話そのものに特化した機能は多くなかったと思います。今回はJavaアプリの特殊機能として携帯電話に特化した機能や情報を取得する方法を紹介します。

 Javaアプリで使える特殊機能とは,主に携帯電話がJavaとは関係なく持っている機能を利用するものです。具体的には以下のものが利用できます。

バッテリー残量の取得
単純なAPIの呼び出しによって端末のバッテリー残量が率(%)で取得できます。

電波状況(電界強度)の取得
携帯電話のアンテナマークで普段表示されている状態が値として取得できます。単純なAPI呼び出しによって電波状況が率(%)で取得できます。

LCDバックライトの制御
LCDバックライトとは液晶画面の背後にあるライトのことです。単純なAPIの呼び出しによってON/OFFの制御ができます。またある周期で点滅の繰り返しをすることもできます。点滅の場合には,点灯時間と消灯時間と繰り返し回数を指定します。また現在のLCDバックライトの状態の取得もできます。

バイブレータの制御
バイブレータのON/OFFの制御が可能です。また現在のバイブレータの状態も取得できます。

キー情報の取得
8方向キーが使えるか調べ,使える場合にはその状態を取得できます。斜め入力の状況が容易に取得できます。これの機能は端末が8方向キーに対応していることが前提です。

位置情報の取得
端末があらかじめ取得している位置情報を参照することができます。値としては緯度,経度,場所の地名が取得できます。

特殊機能のエミュレーション

 Javaアプリエミュレータは,特殊機能のエミュレーション機能を持っています。例えばバイブレータをオンにするJavaアプリをエミュレータで実行すると,「J-SKY Application Emulator」ウィンドウ内の携帯電話の画像が一定時間微妙に上下左右します。またバックライトをオンにするJavaアプリを実行すると,画面背景が一定時間グレー表示されます。

 バッテリー残量と電波状況は,エミュレータの「Option」メニューにある「Device Control Dialog」内の設定用のスライダーで変更できます。アプリケーションを実行する前でも,このスライダーを左右させるとエミュレータ画面上部にあるアンテナマークや電池マークが変化します。この画面内では,位置情報で使う経度・緯度や,地名の指定もできます。これらの値や名称を設定することで,実際の端末の位置情報エミュレーションが可能です。


Device Control Dialog

特殊機能サンプル

 今回紹介するJavaアプリはこちらです。jadファイルなどをダウンロードしてください(ZIP圧縮されています)。


特殊機能サンプル

 このサンプルでは,取得した緯度・経度・位置の名称で構成される位置情報と,電界強度とバッテリー残量を表示します。位置情報は,「Device Control Dialog」で指定した値が取得できます。実機の場合には,本体機能であらかじめ取得済みの位置情報が取得できます。

 電界強度とバッテリー残量も同様に設定どおりの値が取得されていることを確認できます。この2つの値は,Device Control Dialogでスライダーを左右させると,それに合わせて動的に変化します。

 それ以外には,取得した現在時間を画面下部に表示しています。またバッテリー残量が50%を下回ると,バイブレーションします。Batteryスライダーを50%より小さく設定して動作を確認することもできます。また電界強度が50%を下回ると,バックライトが点滅します。こちらもIntensityスライダーを50%より小さく設定して動作を確認することができます。

 緯度・経度はそれぞれLatitudeとLongitude欄に値を指定します。この値は,それぞれ度と分と秒を,[度]×3600+[分]×60+[秒]の式で計算した結果を指定します。


Device Control Dialogと連動するエミュレータ

 ソースコードを以下に示します。APIの詳細に関しては,JavaアプリAPIリファレンス(JavaDoc)を参照してください。

SampleDc.java

SampleDc.jad

 今回はJavaアプリの特殊機能について解説しました。特殊機能で取得した情報をもとにして,アプリの動作に変化をつけるアプリなど面白そうですね。バイブレータやLCDバックライトをゲームなどで効果として使用するのも効果的です。

 次回はサウンド機能について解説する予定です。次回もお楽しみに。

執筆者紹介 コネクト 伊藤広明
株式会社コネクトは,携帯電話向け技術,特に携帯電話向けJavaに特化した開発会社です。ゲームなどエンタテイメント性の高いコンテンツ系ソフトウェアから,ビジネスエレクトロニックコマースに主眼をおいたアプリケーションに至るまで,幅広い分野の携帯電話向けJavaアプリケーション開発・サーバ開発にはじまり,クラスライブラリの開発,各種ツール類の研究開発,携帯電話向けJavaの開発ノウハウを活かしたコンサルティングも行っています。

関連記事
▼ Javaアプリ事始め 第1回:J-フォン Javaアプリがやってきた!
▼ Javaアプリ事始め 第2回:待ち受けアプリを作ろう
▼ Javaアプリ事始め 第3回:待ち受けアプリを作ろう その2
▼ Javaアプリ事始め 第4回:通信しよう
▼ Javaアプリ事始め 第5回:2Dグラフィックスしよう
▼ Javaアプリ事始め 第6回:2Dグラフィックスしよう その2
▼ Javaアプリ事始め 第7回:3Dグラフィックスしよう
▼ Javaアプリ事始め 第8回:3Dグラフィックスしよう その2(1/2)
▼ Jアプリ★ゲット,Javaアプリ作者向けキャンペーン
▼ J-フォン,パケット端末用JavaのSDKを配布
▼ J-フォンにも一般Javaアプリが登場──Jアプリ★ゲット
▼ J-SH51リンクリスト

関連リンク
▼ コネクト
▼ J-PHONE Developer Program
▼ Jアプリ★ゲット
▼ Jアプリ★ゲット Javaアプリ登録キャンペーン

[コネクト 伊藤広明,ITmedia]

Copyright © ITmedia, Inc. All Rights Reserved.



モバイルショップ

最新スペック搭載ゲームパソコン
高性能でゲームが快適なのは
ドスパラゲームパソコンガレリア!

最新CPU搭載パソコンはドスパラで!!
第3世代インテルCoreプロセッサー搭載PC ドスパラはスピード出荷でお届けします!!