加速度センサーを使って歩数計を作ってみました。
他のセンサーを使って何か面白いものはできないか?実装されているセンサーは機種によってちがいます。自分のスマフォにどんなセンサーが実装されているかを知るためのアプリを作りました。
 Xperia
Aceのセンサーを表示しています。全部で46あります。本当に46のセンサーが使えるか?わかりません。もしかしたら実装されているかに関係ない全部のセンサーのリストかな?と思ったのですが、例えば照度センサーなどありません。そうすると全センサーのリストを表示していないようです。また、気圧センサーなどがあり本当?と思ってしまいます。
機能の実装は簡単でした。 MainActivity.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = findViewById(R.id.tvSensor);
SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
List list = manager.getSensorList(Sensor.TYPE_ALL);
String str;
Sensor sn;
int size = list.size();
tv.setText("Sensor size = " + size + "\n");;
for(int i = 0; i < size; i++){
sn = (Sensor)list.get(i);
int type = sn.getType();
str = String.format("%2d ", i + 1) + String.format("%2x ", type) + " " + sn.getName();
tv.append(str + "\n");
}
}
manager.getSensorList(Sensor.TYPE_ALL);で全センサーのリスト取得します。 sn = (Sensor)list.get(i);リストにあるセンサーを取得します。
テキストビューに連番、センサータイプ、センサーネームを出力します。 ソースファイル:DetectSensor.zip
|