【android】:android之传感器的使用

android使用传感器大致就几种,然后方法是用textview控件接住传感器获得的数据,然后用onSensorChanged事件去感测传感器数据的变化,进而获得数据值的更新

大致代码如下,xml文件就一个TextView即可,创建的类继承Activity,然后在onCreate函数里面创建相应的传感器,然后设置一个对于传感器的监听即可

代码如下,如果小伙伴发现不好使,请及时与我联系

public class MainActivity extends Activity {
    private SensorManager sensorManager; //注意
    private TextView text;            //注意要声明
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        text = (TextView) findViewById(R.id.textview);
        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); //获得Sensor_service
        Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);//选定为光传感器
        sensorManager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_NORMAL); //设置监听
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (sensorManager != null) {
                sensorManager.unregisterListener(listener);
        }
    }

    private SensorEventListener listener = new SensorEventListener() {
            @Override
            public void onSensorChanged(SensorEvent event) {
                // values数组中第一个下标的值就是当前的光照强度
                float value = event.values[0];
                text.setText("Current light level is " + value + " lx");
            }
            @Override       
            public void onAccuracyChanged(Sensor sensor, int accuracy) {

            }
    };

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();
        if (id == R.id.action_settings) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值