IT/안드로이드2012. 1. 16. 16:53


Handler handler = new Handler();

@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);

myTextView = (TextView)findViewById(R.id.myTextView);
lastUpdate = new Date(System.currentTimeMillis());

sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
sensorManager.registerListener(sensorListener, SensorManager.SENSOR_ACCELEROMETER, SensorManager.SENSOR_DELAY_FASTEST);

Timer updateTimer = new Timer("velocityUpdate");
updateTimer.scheduleAtFixedRate(new TimerTask() {
public void run() {
updateGUI();
}
}, 0, 1000);
}

private void updateGUI() {
final double mph = (Math.round(100*velocity / 1.6 * 3.6))/100;

handler.post(new Runnable() {
public void run() {
myTextView.setText(String.valueOf(mph) + "mph");
}
});
}

참고로 가속도는 앞-뒤, 좌-우, 위-아래 세 방향 축을 따라 측정할 수 있는데, 센서 관리자에서는 장치가 평평한 표면 위에서 세로 방향으로 위쪽을 바라보고 있을 때를 정지상태로 간주하게 됩니다.




"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
Posted by 프리스케이터