锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Android中的传感器之---磁场传感器

时间:2023-10-14 11:07:02 21磁场传感器磁边传感器

磁场传感器和加速度传感器一样(我说的是数据)

Android磁场传感器,Magnetic Field。。读取磁场的变化可以通过传感器开发指南针、罗盘等磁场应用程序。传感器读取的数据是三个方向的磁场值,其数据单位是uT,即微特斯拉。

public class MagneticFieldActivity extends AppCompatActivity implements SensorEventListener {      private SensorManager sensorManager;     private Sensor sensor;     private TextView mMagneticField;      @Override     protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_magnetic_field);         mMagneticField=findViewById(R.id.tv_magnetic_field);         sensorManager= (SensorManager) getSystemService(Context.SENSOR_SERVICE);         sensor=sensorManager.getDefaultSensor(Sensor.TYPE_MAGNETIC_FIELD);     }      @Override     protected void onResume() {         super.onResume();         if (sensorManager!=null){             sensorManager.registerListener(this,sensor,SensorManager.SENSOR_DELAY_UI);         }     }      @Override     protected void onPause() {         super.onPause();         sensorManager.unregisterListener(this,sensor);     }      @Override     public void onSensorChanged(SensorEvent event) {         // 传感器返回的数据         float x=event.values[0];         float y=event.values[1];         float z=event.values[2];         StringBuffer buffer = new StringBuffer();         buffer.append("X方向磁场为:").append(String.format("%.2f", x)).append("\n");         buffer.append("Y方向磁场为:").append(String.format("%.2f", y)).append("\n");         buffer.append("Z方向的磁场为:").append(String.format("%.2f", z)).append("\n");         mMagneticField.setText(buffer);     }      @Override     public void onAccuracyChanged(Sensor sensor, int accuracy) {      } }

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章