Androidの加速度センサーの使い方


Androidのセンサーが色々あるのでそれぞれの使い方のお勉強まずは、

加速度センサー

まず、前提としてAndroidの加速度センサーは、3軸加速度センサーなのでX軸、Y軸、Z軸の3軸方向への加速度を捉える事が出来ます。

X、Y、Z軸はそれぞれ以下の内容になっています。

  • X軸:端末の右側から受ける加速度
  • Y軸:端末の上側から受ける加速度
  • Z軸:端末のディスプレイ側から受ける加速度

それでは、加速度センサーの使い方をコードを元に勉強していきたいと思います。

センサーを使う為には、まずは、「SensorManager」のインスタンスを生成します。

次に、センサーのイベントリスナーの設定です。

イベントリスナーの設定には、「SensorManager」クラスの「registerListener」メソッドを使用します。

この時に、対象のセンサーが存在しているかどうかは、「SensorManager」クラスの「getDefaultSensor」メソッドまたは、「SensorManager」クラスの、「getSensorList」メソッドの戻り値を利用して確認します。

イベントリスナーをセットしただけでは、アプリケーションを落としてもセンサーがずっと動作し続けるので、

「SensorManager」クラスの、「unregisterListener」でイベントリスナーを解除します。

これで、加速度センサーからの値を取得する準備ができたので値の取得処理です。

これは、「SensorEventListener」をimplementsして「onAccuracyChanged」「onSensorChanged」の2つのメソッドを実装します。

onAccuracyChanged センサーの精度の更新に対するメソッド
onSensorChanged センサーの取得値の更新に対するメソッド

なので、今回は、「onSensorChanged」メソッドを実装します。

これで、加速度センサーからの値が取得できている事が確認出来たかと思います。

実際に使用する為には、もう少し計算式を使用して誤差を省かないとそのままの値では、手による細かな振動なども入ってしまったりするので注意が必要です。

サンプルプログラム



関連する記事:

Facebookでコメント

コメント

  1. コメント 0

  1. トラックバック 0

*

return top