안녕하세요 안드로이드 완전 초짜 입니다.
다름이 아니라 오드로이드 보드에서 가속도 센서를 이용해 보려고 하는데요.
"프로페셔널 안드로이드 애플리케이션 개발"
이 책에서 10장에서 알려주는데로 작성을 했는데 오드로이드 보드에서 센서를 이용하지 못하는 것 같습니다.
0.0mph 에서 전혀 변화가 없더군요.

책에 써있는데로만 따라하면 안되는 건가요?
제가 뭘 잘못 알고 있는건가요?
고수님들의 답변 부탁드립니다.

import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.content.Context;
import android.hardware.SensorListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.Handler;
import android.widget.TextView;
public class Speedometer extends Activity {
 /** Called when the activity is first created. */
 SensorManager sensorManager;
 TextView myTextView;
 float appliedAcceleration = 0;
 float currentAcceleration = 0;
 float velocity = 0;
 Date lastUpdate;
 private void updateVelocity() {
  Date timeNow = new Date(System.currentTimeMillis());
  long timeDelta = timeNow.getTime() - lastUpdate.getTime();
  lastUpdate.setTime(timeNow.getTime());
  float deltaVelocity = appliedAcceleration * (timeDelta / 1000);
  appliedAcceleration = currentAcceleration;
  velocity += deltaVelocity;
  double mph = (Math.round(velocity / 1.6 * 3.6));
  myTextView.setText(String.valueOf(mph) + "mph");
 }
 private final SensorListener sensorListener = new SensorListener() {
  double calibration = Double.NaN;
  public void onSensorChanged(int sensor, float[] values) {
   double x = values[SensorManager.DATA_X];
   double y = values[SensorManager.DATA_Y];
   double z = values[SensorManager.DATA_Z];
   double a = -1*Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2) + Math.pow(z, 2));
   if (calibration == Double.NaN)
    calibration = a;
   else {
    updateVelocity();
    currentAcceleration = (float)a;
   }
  }
  public void onAccuracyChanged(int sensor, int accuracy) {}
 };
 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");
   }
  });
 }
}