第12章Android特色開発、センサー使用

1398 ワード

1###センサー紹介携帯電話に内蔵されているセンサーは、外部の信号を探知し、感知し、一定の法則で必要な情報に変換するマイクロ物理機器です.
Android携帯電話では、光照射センサー右機、加速度センサー、地磁気センサー、圧力センサー、温度センサーなど、多くのタイプのセンサーがサポートされています.
Androidシステムは10種類以上のセンサーのタイプをサポートしているが、携帯電話のセンサー設備は限られており、すべてのセンサー機能をサポートできる携帯電話はほとんどない.
12.2光照射センサー
12.2.1光照射センサーの使い方
SensorManagerはシステムのすべてのセンサのマネージャです.現物エリアSensorManagerの例
SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);

SensorManagerのgetDefaultSensor()は、任意のセンサタイプを得るために用いる.
Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
センサーEventListenerによりセンサー型番の傍受を実現する.彼は言い訳でonSensorChanged()とonAccuracyChanged()を定義した.
SensorEventListener listener = new SensorEventListener() {
  @Override
  public void onAccuracyChanged(Sensor sensor, int accuracy) {
  }
  @Override
  public void onSensorChanged(SensorEvent event) {
  }
};

センサ精度が変化すると、onAccuracyChanged()が呼び出される.センサの値が変化すると、onSensorChanged()が呼び出される.onSensorChanged()の説明SensorEventにはvaluse配列が含まれており、すべての情報がここに格納されている.
SensorEventListenerは、SensorManagerがregisterListener()メソッドを呼び出して登録する必要がある.registerListener()は、3つのパラメータ、SensorEventListener、Sensor、および更新レートを受け取る.3番目のパラメータは、センサ出力情報の更新速度を示すSENSOR_DELAY_UI、 SENSOR_DELAY_NORMAL、SENSOR_DELAY_GAMEとSENSOR_DELAY_FASTESTの4つの値はオプションで、更新速度は順次増加します.
プログラムが終了するか、センサの使用が完了すると、unregisterListener()を呼び出してリソースを解放する.