如何在android项目中显示sensormanager类中的信息?

如何在android项目中显示sensormanager类中的信息?,android,android-activity,sensors,Android,Android Activity,Sensors,我的温度传感器有一个sensormanager,我使用了android存储库中的templat: public class SensorActivity extends Activity, implements SensorEventListener { private final SensorManager mSensorManager; private final Sensor mAccelerometer; public SensorActivity()

我的温度传感器有一个sensormanager,我使用了android存储库中的templat:

 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方法接收。这就是为什么您必须实现SensorEventListener并将您的类注册为listener。每当传感器读取的值发生变化时,就会调用它,因此您可以执行任何需要执行的操作来显示其中的数据,并且只要类注册为侦听器,它就会不断更新

在您的情况下,您可能希望使您的MainActivity(如果显示数据的是MainActivity)实现SensorEventListener接口,并遵循与您发布的示例中使用的模式类似的模式

测量值(以及其他一些重要信息)通过SensorEvent参数传递给您。有关如何从给定对象提取数据的更多详细信息,请参阅类的

正如上面链接的文档中提到的,测量的温度存储在值数组的第一个插槽中,因此您可以像这样提取它

public void onSensorChanged(final SensorEvent event) {
    final float temperature = event.values[0];
    // Now that you have the temperature value, you can do 
    // whatever you want with it 
    this.doSomethingWithTemperatureValue(temperature);
}