全国咨询/投诉热线:400-618-9090

首页技术文章正文

Android+物联网培训之指南针

更新时间:2017-08-01 来源:黑马程序员Android+物联网培训学院 浏览量:

Android设备通过方向传感器可以开发指南针的功能,下面我们来学习指南针开发编写的相关API。
新建工程
【File】——>【new】——>【Android Application Project】命名为:13_指南针
编写代码
  在Activity中,我们首先需要调用系统传感器服务,代码如例1-1:
例1-1
manager =        (SensorManager) getSystemService(SENSOR_SERVICE);
Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_ORIENTATION);
复制代码
  注册服务,代码如例1-2:
manager.registerListener(myListener, sensor, SensorManager.SENSOR_DELAY_FASTEST);
复制代码
例1-2中的myListener是一个服务的监听器,用来监听传感器以及数据的变化,其代码如例1-3所示:
例1-3
public class MyListener implements  SensorEventListener {
    //当传感器的精度发生变化时调用这个方法
        @Override
        public void onAccuracyChanged(Sensor arg0, int arg1) {
        }
    //当传感器检测的数据发生变化时调用这个方法
        @Override
        public void onSensorChanged(SensorEvent arg0) {
        //0=North,90=East,180=South,270=West
         float value = arg0.values[0];
         System.out.println("手机的朝向:===="+value);
        }
}
复制代码
例1-3中通过arg0.values[0]读取手机Y轴与地磁北极的夹角,通过这个值可以判断手机的朝向。运行程序在真机上,效果如如1-1:
  
  当Activity销毁时,解除对应的服务,代码如例1-4:
例1-4
@Override
protected void onDestroy() {
        manager.unregisterListener(myListener);
        super.onDestroy();
}

本文版权归黑马程序员Android+物联网培训学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:黑马程序员Android+物联网培训学院
首发:http://android.ithaima.com

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

http://www.itcast.cn/subject/uizly/index.shtml?seozxuids

14天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

15天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

8天免费试学

基础班入门课程限时免费

申请试学名额

20天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

0天免费试学

基础班入门课程限时免费

申请试学名额

12天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

5天免费试学

基础班入门课程限时免费

申请试学名额

10天免费试学

基础班入门课程限时免费

申请试学名额
在线咨询 我要报名