Android 如何使用安卓加速计?

Android 如何使用安卓加速计?,android,accelerometer,Android,Accelerometer,我正在尝试构建一个应用程序,用于读取手机上加速计的值,它只支持Android 2.1 如何使用与2.1兼容的代码读取加速度计?这在几段中不容易解释。你应该试着阅读: 描述 这些说明了如何访问传感器的框架: public class SensorActivity extends Activity implements SensorEventListener { private final SensorManager mSensorManager; private fin

我正在尝试构建一个应用程序,用于读取手机上加速计的值,它只支持Android 2.1


如何使用与2.1兼容的代码读取加速度计?

这在几段中不容易解释。你应该试着阅读:

  • 描述
这些说明了如何访问传感器的框架:

 public class SensorActivity extends Activity implements SensorEventListener {
     private final SensorManager mSensorManager;
     private final Sensor mAccelerometer;

     public SensorActivity() {
         mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
         mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
     }

     protected void onResume() {
         super.onResume();
         mSensorManager.registerListener(this, mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL);
     }

     protected void onPause() {
         super.onPause();
         mSensorManager.unregisterListener(this);
     }

     public void onAccuracyChanged(Sensor sensor, int accuracy) {
     }

     public void onSensorChanged(SensorEvent event) {
     }
 }
onSensorChanged
回调中,您可以通过查询传感器的值。

从以下内容开始:

public class yourActivity extends Activity implements SensorEventListener{
 private SensorManager sensorManager;
 double ax,ay,az;   // these are the acceleration in x,y and z axis
 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        sensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);
        sensorManager.registerListener(this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
   }
   @Override
   public void onAccuracyChanged(Sensor arg0, int arg1) {
   }

   @Override
   public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
            ax=event.values[0];
                    ay=event.values[1];
                    az=event.values[2];
            }
   }
}

加速度计应用程序的一个很好的例子


AndroGames上的服务器似乎已经不存在了,而AndDev链接是从2008年开始的=非常旧。其他的建议也不错。啊,我已经有一段时间没有发布这个答案了。感谢您提醒我注意这一点。我建议删除对AndDev网站的任何引用-它正在发送被Norton截获的高严重性网络攻击。谢谢你的理解。致以最诚挚的问候,@AlexBell我无法证实你的说法,但无论如何,这是一篇2008年的帖子,所以我删除了那些链接。谢谢你的及时回复。最好的问候,一个球类游戏项目使用加速计一个基本的教程来访问android加速计读数看看