Browsing articles in "デバイス"

TelephonyManagerを使って端末の情報を取得する

10月 20, 2010   //   by kkato   //   デバイス  //  3 Comments

Android SDKでは電話番号やSIMのシリアルナンバーなどの情報をTelephonyManagerクラスを用いることで取得することができます。

端末の情報を取得することになるのでパーミッションの設定も必要になります。設定する必要があるパーミッションとともに、どのような情報が取得できるかを続きで説明します。

Read more >>

Androidのセンサーを利用する

10月 12, 2010   //   by @mhidaka   //   デバイス  //  No Comments

Androidでセンサーの値を取得する方法です。以前に紹介したセンサを使ってAndroid端末の傾きを知るとほぼ同じ手順です。今回紹介する照度センサーの動作は、傾きセンサーより単純なため、サンプルに向いた簡単な実装を紹介します。

センサ一覧(センサクラスの定数)

定数 説明
TYPE_ACCELEROMETER 加速度センサ
TYPE_ALL 全部のセンサを指定
TYPE_GYROSCOPE ジャイロスコープ
TYPE_LIGHT 照度センサ
TYPE_MAGNETIC_FIELD 地磁気センサ
TYPE_ORIENTATION 傾きセンサ(非推奨定数)
TYPE_PRESSURE 加圧センサ
TYPE_PROXIMITY 接近センサ
TYPE_TEMPERATURE 温度センサ

一覧で紹介したセンサーのうち

  • Sensor.TYPE_PROXIMITY (近接センサー)
  • Sensor.TYPE_LIGHT (環境光センサー)
  • Sensor.TYPE_TEMPERATURE (温度センサー)

などは今回のサンプルコードの一部を変えることで同様に扱えます。ぜひ試してみてください。

Read more >>

キーイベントを取得する

10月 10, 2010   //   by kseto   //   デバイス  //  2 Comments

Androidでは上下左右キーや検索キーなどのキーを操作するとキーイベントと呼ばれる
イベントが発生します。Androidでキーを使ったアプリケーションを開発したい場合は
このキーイベントを取得し、その内容を判別することで任意の処理を行うようにします。

今日はこのキーイベントを取得する方法について説明したいと思います。

※サンプルコードで検出対象としているキーをバックキーから検索キーに変更しました。
また、記事の加筆修正を行いました。(2011/03/30)

詳しくは続きからご覧ください。

Read more >>

WiFiの情報を取得する

10月 3, 2010   //   by kseto   //   デバイス  //  1 Comment

今日はAndroidでWiFiの情報を取得する方法をご紹介します。
WifiInfoクラスを使うことで以下に示すようなWiFiの情報を取得することができます。

  • SSID
  • BSSID
  • IPアドレス
  • MACアドレス
  • ネットワークID
  • リンクスピード

具体的な実現方法については続きをご覧下さい。

Read more >>

Androidのシステム情報を取得する

9月 28, 2010   //   by @mhidaka   //   デバイス  //  No Comments

Android端末から機種名やバージョンなどビルド情報を取得する方法を紹介します。
Android.os.Buildを使うと、機器固有の情報を取り扱うことができます。

Android.os.Buildから取得できる文字列、情報

取得できるビルド情報 説明
BOARD ボード(基盤)名称
BOOTLOADER ブートローダのバージョン番号(Android 1.6未対応)
BRAND ブランド名(たとえばキャリア、メーカー名など)
CPU_ABI ネイティブコードの命令セット(armeabi-v7aなどCPU-ABI順)
CPU_ABI2 ネイティブコードの第2命令セット(Android 1.6未対応)
DEVICE デバイス名
DISPLAY ユーザへ表示するビルドID
FINGERPRINT 一意にビルドを識別することができる識別子
HARDWARE ハードウェア名(Android1.6未対応)
HOST ホスト名
ID 変更番号もしくは一意なラベル
MANUFACTURER 製造者名
MODEL 最終的にユーザへ表示するモデル名
PRODUCT 製品名
RADIO 無線ファームウェアのバージョン(Android1.6未対応)
TAGS release-keys、test-keysなど。ビルドのタグ名
TIME システム時刻
TYPE ビルドタイプ。userやengなど
UNKNOWN 情報不明時の識別子(不明を示す文字列"unknown"など。Android1.6未対応)
USER ユーザ情報
VERSION.CODENAME 開発コードネーム。リリース時は"REL"
VERSION.INCREMENTAL ソースコード管理番号(チェンジセットの変更回数など)
VERSION.RELEASE ユーザーに表示するバージョン番号
VERSION.SDK 非推奨 SDK_INT利用のこと。
VERSION.SDK_INT フレームワークのバージョン情報

Build.UNKNOWNは不明な場合を定義しています。大抵、”unknown”など不明を示す文字列が入っています。
この場合は、ほかのビルド情報に格納されている情報が”unknown”と一致していれば不明または未提供の情報と判断できます。
取得できる情報は、Androidのバージョンによって異なっており、最新のAndroid2.2をベースに考えるとAndroid 1.6では、

  • ブートローダーのバージョン: Build.BOOTLOADER
  • CPU第2命令セット: Build.CPU_ABI2
  • ハードウェア情報: Build.HARDWARE
  • ラジオ(無線)ファームウェアバージョン: Build.RADIO
  • 情報不明時の識別子: Build.UNKNOWN

が取得できません。
以下、サンプルコードと主な開発環境(NexusOne、JN-DK01、エミュレータ)で取得できるBuild情報です。
Read more >>

音量を設定する

9月 18, 2010   //   by kseto   //   デバイス  //  2 Comments

Androidで音量を調整するにはAudioManagerを利用します。
AudioManagerを利用することで以下の音量を調整することができます。

  • 着信音量(STREAM_RING)
  • 通知音量(STREAM_NOTIFICATION)
  • アラーム音量(STREAM_ALARM)
  • 音楽音量(STREAM_MUSIC)
  • システム音量(STREAM_SYSTEM)
  • ボイス音量(STREAM_VOICE_CALL)

今回は上に示した画面のように、シークバーのつまみで
着信音量をコントロールするアプリを作成してみたいと思います。

続きは以下からどうぞ。

Read more >>

センサを使ってAndroid端末の傾きを知る

6月 29, 2010   //   by @mhidaka   //   デバイス, ユーザインターフェース  //  3 Comments

Androidではたくさんのセンサ・デバイスが搭載されています。
機種によって、センサの種類は異なりますが、今回は最もよく使われるセンサの一つ、傾き(方向)センサの使い方を解説します。

Androidのセンサは以下の通り、SensorクラスのConstantとして定めています。

センサ一覧(センサクラスの定数)

定数 説明
TYPE_ACCELEROMETER 加速度センサ
TYPE_ALL 全部のセンサを指定
TYPE_GYROSCOPE ジャイロスコープ
TYPE_LIGHT 照度センサ
TYPE_MAGNETIC_FIELD 地磁気センサ
TYPE_ORIENTATION 傾きセンサ(非推奨定数)
TYPE_PRESSURE 加圧センサ
TYPE_PROXIMITY 接近センサ
TYPE_TEMPERATURE 温度センサ


TYPE_ORIENTATIONが非推奨となっており、今後のバージョンアップを考えると、いままでと同じ使い勝手で傾きを求めることは遠慮した方がよさそうです。

傾き導出方法(従来)

もちろん非推奨ではありますが、今まで通りの方法でも、傾き(方向)を求めることが出来ます。
以下は、従来方式のサンプルです。

List<Sensor> sensors = SensorManager.getSensorList(Sensor.TYPE_ORIENTATION);
Sensor sensor = sensors.get(0);
SensorManager.registerListener(this,sensor,SensorManager.SENSOR_DELAY_NORMAL);
…
public void onSensorChanged(SensorEvent event) {
  if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
     (処理など)... event.values[0];
  }
}

Android 2.2推奨の傾き取得方法

続きではAndroid2.2で推奨されているgetOrientationメソッドをつかった傾きセンサ値の取得方法を説明します。
Read more >>

カメラの使用方法(2)

6月 19, 2010   //   by kseto   //   デバイス  //  1 Comment

今回はカメラの使用方法の後編になります。
前回はカメラをオープンして、SurfaceViewにカメラのプレビュー画面を表示するところまで紹介しました。
今回はプレビュー画面の内容を撮影し、SDカードに保存するという処理まで説明したいと思います。

詳細は続きからどうぞ。

Read more >>

カメラの使用方法(1)

6月 12, 2010   //   by kseto   //   アプリケーション, デバイス  //  3 Comments

今回はカメラの使い方について説明します。
とりあえず今回はSurfaceViewにカメラから得られる画像のプレビュー画面を表示するところまで紹介して、
撮影処理は次回ご紹介します。

作業手順として以下のようになります。

  • マニフェストファイルにカメラのパーミッションを追加する
  • レイアウトファイルにSurfaceViewを追加する
  • プレビュー画面の実装

詳しくは続きからどうぞ。

Read more >>

AndroidでGPSセンサを利用する方法

6月 9, 2010   //   by kkato   //   デバイス  //  2 Comments

たいていのAndroid端末にはGPSセンサが搭載されており、位置情報を取得することが可能です。また、ネットワーク(3G/WiFi)を利用して位置情報を取得することも可能です。

HT-03A、Xperia、Desire、Nexus OneにもGPSが搭載されていますよね。
今回はAndroidでGPSセンサを利用する方法を説明します。

ポイントは以下の通りです。

  • マニフェストファイル(AndroidManifest.xml)にGPSのパーミッションを追加する
  • ロケーションマネージャ(LocationManager)、ロケーションプロバイダ(LocationProvider)の取得
  • 位置情報リスナーの実装

それでは順に説明していきます。

Read more >>

ページ:«1234»

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です