传感器初涉之光照传感器的使用

来源:互联网 发布:黑马python百度云 编辑:程序博客网 时间:2024/05/22 16:57



题记:纸上得来终觉浅,觉知此事要躬行。

在Android开发中,传感器的开发基本思路一致,我们今天就从比较简单的光照传感器入手,一步步的学习传感器的使用方法。

在光照传感器开发的过程中用到的有SensorManager,SensorListener,Sensor这几个类。其实现的过程和企各自的作用将在下面解释。

这个案例是将光线传感器收集到的外界光照强度的值显示出来,布局文件比较简单,就一个TextView,此处不在展示。

首先声明我们将要用到的这几个对象
private TextView mTextView;
private SensorManager mManager;//传感器管理器
private SensorEventListener mListener;//传感器监听器
private Sensor mSensor;//传感器对象

然后实例化这些对象
mTextView=(TextView) findViewById(R.id.tv);
//初始化传感器对象
mManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
//获取传感器对象
mSensor=mManager.getDefaultSensor(Sensor.TYPE_LIGHT);
//注册传感器的监听事件
mListener=new SensorEventListener() {
//监听传感器数据的变化
@Override
public void onSensorChanged(SensorEvent event) {
//将传感器获取的数据展示出来
mTextView.setText(""+event.values[0]);
}
//监听传感器精度的变化
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
其中在实例化监听器的时候需要实现两个方法,SensorEventListener()是用来监听外界光线强度的数据的方法,onAccuracyChanged()是用来监听灵敏度变化的方法

然后将传感器和监听事件注册到一起
//注册传感器的监听事件(监听器对象,传感器对象,灵敏度)
mManager.registerListener(mListener, mSensor, SensorManager.SENSOR_DELAY_NORMAL);

最后不要忘记在活动结束的时候注销这个监听事件
@Override
protected void onStop() {
super.onStop();
//当程序退出的时候注销其监听事件
mManager.unregisterListener(mListener);
}

最终效果如图:光照传感器实时数据图

题记:纸上得来终觉浅,觉知此事要躬行。

在Android开发中,传感器的开发基本思路一致,我们今天就从比较简单的光照传感器入手,一步步的学习传感器的使用方法。

在光照传感器开发的过程中用到的有SensorManager,SensorListener,Sensor这几个类。其实现的过程和企各自的作用将在下面解释。

这个案例是将光线传感器收集到的外界光照强度的值显示出来,布局文件比较简单,就一个TextView,此处不在展示。

首先声明我们将要用到的这几个对象
private TextView mTextView;
private SensorManager mManager;//传感器管理器
private SensorEventListener mListener;//传感器监听器
private Sensor mSensor;//传感器对象

然后实例化这些对象
mTextView=(TextView) findViewById(R.id.tv);
//初始化传感器对象
mManager=(SensorManager) getSystemService(Context.SENSOR_SERVICE);
//获取传感器对象
mSensor=mManager.getDefaultSensor(Sensor.TYPE_LIGHT);
//注册传感器的监听事件
mListener=new SensorEventListener() {
//监听传感器数据的变化
@Override
public void onSensorChanged(SensorEvent event) {
//将传感器获取的数据展示出来
mTextView.setText(""+event.values[0]);
}
//监听传感器精度的变化
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
其中在实例化监听器的时候需要实现两个方法,SensorEventListener()是用来监听外界光线强度的数据的方法,onAccuracyChanged()是用来监听灵敏度变化的方法

然后将传感器和监听事件注册到一起
//注册传感器的监听事件(监听器对象,传感器对象,灵敏度)
mManager.registerListener(mListener, mSensor, SensorManager.SENSOR_DELAY_NORMAL);

最后不要忘记在活动结束的时候注销这个监听事件
@Override
protected void onStop() {
super.onStop();
//当程序退出的时候注销其监听事件
mManager.unregisterListener(mListener);
}
1 0
原创粉丝点击