传感器-光感和指南针

来源:互联网 发布:慈禧为什么杀光绪 知乎 编辑:程序博客网 时间:2024/04/29 21:50
//光感器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 java.util.List;public class MainActivity extends AppCompatActivity {    private SensorManager manager;    private MySensorEventListener mySensorEventListener;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        manager = (SensorManager) getSystemService(SENSOR_SERVICE);        /**         * 查看所有传感器         */        List<Sensor> sensorList = manager.getSensorList(Sensor.TYPE_ALL);        for (Sensor s:sensorList){            System.out.println(s.getName());        }        Sensor defaultSensor = manager.getDefaultSensor(Sensor.TYPE_LIGHT);        mySensorEventListener = new MySensorEventListener();        //注册传感器 参数1:监听 2.要坚挺的传感器对象 3.决定采用的敏感度  正常        manager.registerListener(mySensorEventListener,defaultSensor,SensorManager.SENSOR_DELAY_NORMAL);    }    class MySensorEventListener implements SensorEventListener{        //传感器数据变化调用的方法        @Override        public void onSensorChanged(SensorEvent sensorEvent) {            float value = sensorEvent.values[0];            System.out.println("光线改变值:"+value);        }        //传感器精度发生改变调用        @Override        public void onAccuracyChanged(Sensor sensor, int i) {        }    }    @Override    protected void onDestroy() {        super.onDestroy();        //释放资源        manager.unregisterListener(mySensorEventListener);        mySensorEventListener=null;    }}//指南针传感器 
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;public class MainActivity extends AppCompatActivity {    private SensorManager manager;    private MySensorEventlistener mySensorEventlistener;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //得到系统管理者        manager = (SensorManager) getSystemService(SENSOR_SERVICE);        //得到指南针传感器        Sensor defaultSensor = manager.getDefaultSensor(Sensor.TYPE_ORIENTATION);        mySensorEventlistener = new MySensorEventlistener();        //注册        manager.registerListener(mySensorEventlistener,defaultSensor,SensorManager.SENSOR_DELAY_NORMAL);    }    public class MySensorEventlistener implements SensorEventListener{        @Override        public void onSensorChanged(SensorEvent sensorEvent) {            int value = (int) sensorEvent.values[0];            if(value>0 && value<90){                System.out.println("东北");            }            if(value>90 && value<180){                System.out.println("东南");            }            if(value>180 && value<270){                System.out.println("西南");            }            if(value>270 && value<360){                System.out.println("西北");            }            if(value==0){                System.out.println("");            }            if(value==90){                System.out.println("");            }            if(value==180){                System.out.println("");            }            if(value==270){                System.out.println("西");            }        }        @Override        public void onAccuracyChanged(Sensor sensor, int i) {        }    }    //释放    @Override    protected void onDestroy() {        super.onDestroy();        manager.unregisterListener(mySensorEventlistener);        mySensorEventlistener=null;    }}

原创粉丝点击