Как начать делать приложение, как клинометр в 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
Приложение также включает процедуру калибровки.