スマホアプリ(Androidアプリ)の 開発を進めると、端末の詳細な情報が知りたくなることが多々あると思います。
また、端末の機能をフルに活用するような少し凝ったアプリを作成しよう!と思うと、センサー周りの情報の取得方法や、そのセンサーがどのように反応しているのか?を知ることが重要になるのではないでしょうか?
そこで、そんな情報を根こそぎ確認できるアプリをソースとともに公開します。
Android端末の詳細情報・カメラ情報・センサー情報を取得するアプリ-StatusChecker
画面はこんな感じです。開発用ツールとして作成していますので、見た目は殺風景です。
Eclipseプロジェクトですが、ソース一式は、
StatusCheckerプロジェクト一式 になります。
ダウンロードはご自由にどうぞ。Eclipseにプロジェクトをインポートする際はいろいろとエラーが発生することがありますが、一番困るであろうエラーについて「http://baldwin.ivory.ne.jp/wp/2010/07/08/233/」にて対策が分かりやく説明されていましたので、リンクを張っておきます。参考にしてください。
簡単なアプリで、コードも難しくはないので、説明は割愛させていただきます。
(解説希望のコメントがつけば解説も考えます。)
※なお、コード中には、情報取得とは関係ないものも含まれています。
端末情報、センサー情報を取得する上で必要な基礎知識
コードの解説は割愛させていただきますが、端末情報、センサー情報を取得する上で肝となる点については記載しておきます。
・端末情報の取得に必要なクラス
android.os.Build
android.os.Build.VERSION
から情報を取得します。
取得できる情報は、リンク先のAPIマニュアルを見ていただけばわかるかと思います。
(Fieldsに定義さている値がそのまま取得できる情報に直結しています。)
・センサー情報の取得に必要なクラス
android.hardware.Sensor
android.hardware.SensorEvent
android.hardware.SensorEventListener
android.hardware.SensorManager
から情報を取得します。
ただし、端末情報と違ってセンサー情報は固定ではなく、端末の状態によって変化します。
そのため、センサーイベントを拾ってそこで、センサーの値を取得します。
また、対象とするセンサーはセンサーマネージャーに登録する必要があります。
取得できるセンサーについては、ハードに依存しますが、android.hardware.SensorManagerをみていただけば、どんなセンサーが使えるかがわかるかと思います。
(Constantsに定義さている定数がそのまま取得できるセンサーに直結しています。)