Работа с акселерометром в Android
Для одного из текущих проектов понадобилась поддержка акселерометра. Учитывая то, что еще месяц назад Android API я в глаза не видел, мне казалось что получение данных с акселерометра – это какой-то адский труд. Оказалось все намного проще.
Для работы с различными датчиками в Android используется класс Sensor
. Список датчиков можно получить через SensorManager
. Например таким вот образом при создании Activity
можно получить объект Sensor
, связанный с акселеромтером:
public class AccelerometerTest extends Activity { SensorManager mSensorManager; Sensor mAccelerometerSensor; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE); Listsensors = mSensorManager.getSensorList(Sensor.TYPE_ALL); if(sensors.size() > 0) { for (Sensor sensor : sensors) { switch(sensor.getType()) { case Sensor.TYPE_ACCELEROMETER: if(mAccelerometerSensor == null) mAccelerometerSensor = sensor; break; default: break; } } } }