Я пытаюсь разработать собственный код в Codename One для считывания данных датчика акселерометра. Я посмотрел, как это делается в коде Android Java, реализовал его в Codename One, скомпилировал без ошибок, но, похоже, он даже не проходит инициализацию класса датчика ниже. Метод sensor.startReading(), кажется, никогда не вызывается. Правильно ли я реализовал собственный код считывания акселерометра?
Вот как я называю свой метод класса считывания датчика:
Sensor sensor = (Sensor)NativeLookup.create(Sensor.class);
if (sensor != null && sensor.isSupported()) {
sensor.startReading();
}
Вот как я реализую считывание датчика:
package com.pk.sensors;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.hardware.SensorEventListener;
import android.hardware.SensorEvent;
import android.content.Context;
public class SensorImpl extends Activity implements SensorEventListener {
private SensorManager mSensorManager;
private Sensor mAccelerometer;
private float accelX = 0f;
private float accelY = 0f;
private float accelZ = 0f;
public void startReading() {
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
public void onSensorChanged(SensorEvent event) {
this.accelX = event.values[0];
this.accelY = event.values[1];
this.accelZ = event.values[2];
}
public String getAcceleration() {
return String.valueOf(this.accelX) + " " +
String.valueOf(this.accelY) + " " +
String.valueOf(this.accelZ);
}
public boolean isSupported() {
return true;
}
protected void onResume() {
super.onResume();
mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
}
protected void onPause() {
super.onPause();
mSensorManager.unregisterListener(this);
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
Это руководство, из которого я реализовал считывание акселератора: http://www.techrepublic.com/blog/software-engineer/a-quick-tutorial-on-coding-androids-accelerometer/