• Android开发之重力传感器


    重力传感器与方向传感器的开发步骤类似,只要理清了期中的x,y,z的值之后就可以根据他们的变化来进行编程了,推荐学习Android应用开发入门教程

    首先来看一副图

    假设当地的重力加速度值为g
    当手机正面朝上的时候,z的值为q,反面朝上的时候,z的值为-g
    当手机右侧面朝上的时候,x的值为g,右侧面朝上的时候,x的值为-g
    当手机上侧面朝上的时候,y的值为g,右侧面朝上的时候,y的值为-g
    了解了重力传感器中X,Y,Z的含义之后下面我们就开始学习如何使用
    首先我们创建一个传感器管理器和一个传感器监听器,管理器用来管理传感器以及创建各种各样的传感器,监听器用来监视传感器的变化并且进行相应的操作
    private SensorManager sensorManager;
    private MySensorEventListener mySensorEventListener;
    mySensorEventListener= new MySensorEventListener();//这个监听器当然是我们自己定义的,在重力感     应器感应到手机位置有变化的时候,我们可以采取相应的操作,这里紧紧是将x,y,z的值打印出来
    private final class MySensorEventListener implements  SensorEventListener{

    @Override
    //可以得到传感器实时测量出来的变化值
    public void onSensorChanged(SensorEvent event) {
    //重力传感器
    if(event.sensor.getType()==Sensor.TYPE_ACCELEROMETER){
    float x = event.values[SensorManager.DATA_X];
    float y = event.values[SensorManager.DATA_Y];
    float z = event.values[SensorManager.DATA_Z];
    //tv_accelerometer是界面上的一个TextView标签,不再赘述
    tv_orientation.setText("Orientation:"+x+","+y+","+z);
    }
    }

    我们在onResume方法中创建重力传感器,并向系统注册监听器
    protected void onResume() {
    Sensor sensor_accelerometer=sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
    sensorManager.registerListener(mySensorEventListener,sensor_accelerometer,   SensorManager.SENSOR_DELAY_UI);

    super.onResume();
    }
    最后我们在onPause()中注销所有传感器的监听,释放重力感应器资源!
    protected void onPause() {
    /注销所有传感器的监听
    sensorManager.unregisterListener(mySensorEventListener);
    super.onPause();
    }

    以上就是有关重力传感器的内容,想学习更多Android应用开发相关知识,请登录e良师益友网

  • 相关阅读:
    iOS开发_当一个控件被添加到父控件中会调用
    iOS_判断应用在前台还是后台
    iOS开发_ SDWebImage先下载图片保存起来,需要时再调用
    WARNING ITMS90901: "Missing fullscreen support for the latest iPad mini display.
    iOS开发_显示带HTML标签的富文本
    iOS开发_WKWebView隐藏滚动条
    iOS_获取应用当前定位授权状态
    iOS开发_判断字符串是否为空的处理
    UIAlertController和UIActivityViewController在ipad中的兼容性问题
    npm run serve报错提示js堆内存不足
  • 原文地址:https://www.cnblogs.com/xiaoxiao1/p/4080943.html
Copyright © 2020-2023  润新知