Как начать делать приложение, как клинометр в Android

Я хочу получить и переместить стрелку на координаты, как пользователь вращает или перемещать устройство, как компас делает то же, что и это приложение уже делает. Вы можете увидеть, что я хочу сказать по этой ссылке https://play.google.com/store/apps/details?id=com.plaincode.clinometer&hl=en, но сейчас я не могу понять этот контекст. я не могу найти подсказку о том, как начать.. это их любой API, чтобы получить и заставить его работать, или мне нужно внедрить акселерометр на очень обширном уровне, чтобы сделать это. пожалуйста, направьте меня, если у вас есть какой-либо код или ссылка относительно этого.. спасибо заранее

2 ответа

Я искал это решение больше года назад, и для этого каким-то образом мне удалось сделать подобное подобным образом. и источник для того, что мне удалось сделать, - ссылка на источник

Вы должны начать создавать действие, реализующее SensorEventListener, включая два следующих метода:

      public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        // add your code
        // event.values[] contains the 3 accelerometer values
    }
}

@Override
public void onAccuracyChanged(Sensor sensor, int i) {
    // add your code
}

В качестве второго шага начните с внедрения акселерометров в Activity:

      private SensorManager mSensorManager;
private Sensor mRotationSensor;
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

Затем зарегистрируйте на нем слушателя датчика (вы можете сделать это в onResume):

      mSensorManager.registerListener(this, mRotationSensor, 16000);
// 16000 microseconds

и отмените регистрацию (в onPause):

      mSensorManager.unregisterListener(this);

Обратите внимание, что если вам нужно очень точное измерение углов и уклонов в трех измерениях, вам следует реализовать процедуру калибровки бортовых акселерометров, которая обычно требует небольшой компенсации усиления , смещения и угла .

Вы можете прочитать простое, но полное использование акселерометров на бесплатном клинометре BasicAirData с открытым исходным кодом: https://github.com/BasicAirData/Clinometer

Приложение также включает процедуру калибровки.

Другие вопросы по тегам