上篇博客,我们已经介绍了传感器的一般用法,今天我们就来介绍一下常用的传感器吧。常用的传感器有:
- 方向传感器 Orientation (现在几乎已经不用了,因为其实不存在真正的方向)
- 磁场传感器 Magnetic Field
- 温度传感器 Temperature
- 光传感器 Light
- 压力传感器 Pressure
1.方向传感器 Orientation:
用途:
方向传感器用于感应手机设备的摆放状态。比如手机顶部的朝向,手机目前的倾斜角度等:借助于方向传感器,可以开发指南针、水平仪。(注:现在我们一般不用方向传感器来做指南针)方向传感器返回的三个角度说明:
- 第一个:表示手机顶部朝向与正北方的夹角。(比如手机绕Z轴旋转时,该角度发生变化)
- 第二个:表示手机顶部或底部翘起的角度(比如手机绕X轴倾斜时,该角度值变化-180~180,手机顶部抬起变负值)
- 第三个:表示表示手机左侧或右侧翘起的角度(当手机绕Y轴倾斜时,该角度值发生变化范围-90~90,左侧抬起变负值)
2.磁场传感器 Magnetic Field:
- 用途:
用于读取手机设备外部的磁场强度。随着手机设备摆放状态的改变,周围磁场在手机的X,Y,Z三个方向上的影响会发生改变。
磁场传感器会返回三个数据: 分别代表周围磁场分解到X,Y,Z三个方向上的磁场分量。
这里就不详细介绍了,后面我们用指南针的实例一起来介绍磁场传感器的使用吧。
3.温度传感器 Temperature :
- 用途:
温度传感器用于获得手机设备所处环境的温度。
温度传感器会返回一个数据,该数据代表手机设备周围的温度,单位是摄氏度。
4.光传感器 Light:
- 用途:
用于获得手机设备所处环境的光的强度。
返回一个数据,代表手机设备周围的光的强度,该数据单位是勒克斯(lux)
5.压力传感器 Pressure:
- 用途:
用于获取手机设备所处环境的压力的大小。
返回一个数据,代表手机设备周围的压力的大小。
实例:
功能:这里利用几个文本框来显示不同的传感器的值。
sensorAcitivity:
package com.example.myapplication.activitys;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import com.example.myapplication.R;
import com.example.myapplication.baseactivity.BaseActivity;
public class SensorActivity extends BaseActivity implements SensorEventListener{
//2.必须实现接口
private TextView mTextviewOri;
private TextView mTextviewlight;
private TextView mTextviewcichang;
private TextView mTextviewtemp;
private TextView mTextviewpressure;
private SensorManager mSensorManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sensor);
mTextviewOri = (Tex