Для одного из текущих проектов понадобилась поддержка акселерометра. Учитывая то, что еще месяц назад 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);
List sensors = 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;
}
}
}
}
читать далее…