Androidのアプリで画面をタッチしている時、タッチして動かしている時の加速度センサの値を取得したいのですが、onTouchの中でセンサの値取得って出来るのでしょうか?
もしよろしければサンプルコード等教えていただけると幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答1件
0
ベストアンサー
下記のようにし、onTouchの中でx,y,zの値を使用すればうまくいきそうですね。
Java
1 2public class Hoge extends Activity implements SensorEventListener { 3private x; 4private y; 5private z; 6private SensorManager manager; 7@Override 8public void onCreate(Bundle savedInstanceState) { 9super.onCreate(savedInstanceState); 10setContentView(R.layout.main); 11manager = (SensorManager)getSystemService(SENSOR_SERVICE); 12} 13 14@Override 15protected void onStop() { 16super.onStop(); 17// Listenerの登録解除 18manager.unregisterListener(this); 19} 20 21@Override 22protected void onResume() { 23super.onResume(); 24// Listenerの登録 25List<Sensor> sensors = manager.getSensorList(Sensor.TYPE_ACCELEROMETER); 26if(sensors.size() > 0) { 27Sensor s = sensors.get(0); 28manager.registerListener(this, s, SensorManager.SENSOR_DELAY_UI); 29} 30} 31@Override 32public void onAccuracyChanged(Sensor sensor, int accuracy) {} 33 34@Override 35public void onSensorChanged(SensorEvent event) { 36if(event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { 37x = event.values[SensorManager.DATA_X]; 38y = event.values[SensorManager.DATA_Y]; 39z = event.values[SensorManager.DATA_Z]; 40} 41} 42}
投稿2015/11/09 12:37
総合スコア18155
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/12 05:48
2015/11/12 05:54