P133 加速度センサーで玉ころがしアプリ

Android開発に関するメモランダム

カテゴリー: はじめてのAndroidプログラミング 改訂版  閲覧数:397 配信日:2018-06-13 10:56


P140 センサーの値をデバッグ出力する


センサーの値が更新された時に呼ばれる「onSensorChangedメソッド」を実装
onSensorChanged(SensorEvent event)メソッド

▼L:\Android\AndroidStudioProject\FirstTimeAndroid\06\AccBall\app\src\main\java\work\w4c\android0\accball\MainActivity.java
package work.w4c.android0.accball;

import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.SurfaceHolder;

public class MainActivity extends AppCompatActivity
       implements SensorEventListener, SurfaceHolder.Callback {
   SensorManager mSensorManager;
   Sensor mAccSensor;


   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
       mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
       mAccSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
   }

   @Override
   public void onSensorChanged(SensorEvent event) {
       if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) { //SensorクラスのgetTypeメソッドを使って、送られてきた値が加速度センサーのものかどうかをチェックしている
           //加速度センサーであれば、event.values配列からx軸、y軸、z軸それぞれの値を取得し、Logクラスのdメソッドでデバッグログを出力している
           Log.d("MainActivity",
                   "x=" + String.valueOf(event.values[0]) +
                           "y=" + String.valueOf(event.values[1]) +
                           "z=" + String.valueOf(event.values[2]));
       }
   }

   @Override
   public void onAccuracyChanged(Sensor sensor, int accuracy) {

   }

   @Override
   protected void onResume() {
       super.onResume();
       mSensorManager.registerListener(this,mAccSensor,SensorManager.SENSOR_DELAY_GAME);
   }

   @Override
   protected void onPause() {
       super.onPause();
       mSensorManager.unregisterListener(this);
   }


   @Override
   public void surfaceCreated(SurfaceHolder holder) {

   }

   @Override
   public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {

   }

   @Override
   public void surfaceDestroyed(SurfaceHolder holder) {

   }
}


週間人気ページランキング / 11-17 → 11-23
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/11/24 1:01 更新
指定期間人気ページランキング / 1970-1-1 → 2024-11-23
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2024/11/24 1:01 更新