현재, 버튼을 누르면 센서 작동이 시작되고, 타이머를 적용해서 일정한 간격으로 센서값을 얻어내는 코드를 구현중입니다.
그런데, 주기적으로 로그값이 찍히지 않아서 그냥 텍스트뷰에 띄우는 작업을 해보았는데, 그것도 되지 않습니다. 타이머 사용을 할 때, 잘못된 점이 있어 그런걸까요?
별다른 오류는 발견되지 않고, 아무런 출력값이 없습니다.
도움 주시면 감사하겠습니다.
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
accelerometer = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
accelerometerLis = new AccelerometerListener();
//
CountDownTimer CDT = new CountDownTimer(10 * 1000, 1000) {
public void onTick(long millisUntilFinished) {
sensorManager.registerListener(accelerometerLis, accelerometer, SensorManager.SENSOR_DELAY_UI);
}
public void onFinish() {
}
};
CDT.start();
CDT.cancel();
//
}
});
}
private class AccelerometerListener implements SensorEventListener {
@Override
public void onSensorChanged(SensorEvent event) {
double accX = event.values[0];
double accY = event.values[1];
double accZ = event.values[2];
double angleXZ = Math.atan2(accX, accZ) * 180/Math.PI;
double angleYZ = Math.atan2(accY, accZ) * 180/Math.PI;
String message = "각도" + angleXZ;
textView.setText(message);