简介

现在每部Android手机里边都会内置有许多传感器,如光照传感器、加速度传感器、地磁传感器、压力传感器、温度传感器等,它们能够监测到各种发生在手机撒花姑娘的物理事件。当然Android系统只是负责将这些传感器所输出的信息传递给我们,然后我们可以利用这些信息去开发一些好玩的应用。

图片神马的在网上搜个指南针图片就好了,方便学习

main.xml

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical"

android:gravity="center"

>

android:id="@+id/compass_imageView"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/compass" />

MainActivity.java

import android.app.Activity;

import android.hardware.Sensor;

import android.hardware.SensorEvent;

import android.hardware.SensorEventListener;

import android.hardware.SensorManager;

import android.os.Bundle;

import android.view.animation.Animation;

import android.view.animation.RotateAnimation;

import android.widget.ImageView;

/**

* 电子罗盘 方向传感器

*/

public class ComPassActivity extends Activity implements SensorEventListener {

private ImageView imageView;

private float currentDegree = 0f;

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.compass);

imageView = (ImageView) findViewById(R.id.compass_imageView);

// 传感器管理器

SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE);

// 注册传感器(Sensor.TYPE_ORIENTATION(方向传感器);SENSOR_DELAY_FASTEST(0毫秒延迟);

// SENSOR_DELAY_GAME(20,000毫秒延迟)、SENSOR_DELAY_UI(60,000毫秒延迟))

sm.registerListener(ComPassActivity.this,

sm.getDefaultSensor(Sensor.TYPE_ORIENTATION),

SensorManager.SENSOR_DELAY_FASTEST);

}

//传感器报告新的值(方向改变)

public void onSensorChanged(SensorEvent event) {

if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {

float degree = event.values[0];

/*

RotateAnimation类:旋转变化动画类

参数说明:

fromDegrees:旋转的开始角度。

toDegrees:旋转的结束角度。

pivotXType:X轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。

pivotXValue:X坐标的伸缩值。

pivotYType:Y轴的伸缩模式,可以取值为ABSOLUTE、RELATIVE_TO_SELF、RELATIVE_TO_PARENT。

pivotYValue:Y坐标的伸缩值

*/

RotateAnimation ra = new RotateAnimation(currentDegree, -degree,

Animation.RELATIVE_TO_SELF, 0.5f,

Animation.RELATIVE_TO_SELF, 0.5f);

//旋转过程持续时间

ra.setDuration(200);

//罗盘图片使用旋转动画

imageView.startAnimation(ra);

currentDegree = -degree;

}

}

//传感器精度的改变

public void onAccuracyChanged(Sensor sensor, int accuracy) {

}

}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对编程圈的支持。如果你想了解更多相关内容请查看下面相关链接

android电子指南针,Android实现电子罗盘(指南针)方向传感器的应用相关推荐

  1. Android -- 传感器使用示例, 用方向传感器做指南针

    1. 传感器类型:方向.加速度(重力).光线.磁场.距离(临近性).温度等. 方向传感器:   Sensor.TYPE_ORIENTATION 加速度(重力)传感器: Sensor.TYPE_ACCE ...

  2. Android 电子罗盘 --指南针(方向传感器的应用)

    ,图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还是加上吧,方便学习 main.xml <?xml version="1.0" encoding=& ...

  3. Android 电子罗盘--指南针(方向传感器的应用)

    转载自: http://blog.csdn.net/onlyonecoder/article/details/8475653 图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还 ...

  4. Android 利用方向传感器实现 指南针

    step1:新建一个项目Compass,并将一张指南针图片导入到res/drawable-hdpi目录中 step2:设计应用的UI界面,main.xml <?xml version=" ...

  5. Android 利用方向传感器实现 指南针

    step1:新建一个项目Compass,并将一张指南针图片导入到res/drawable-hdpi目录中 step2:设计应用的UI界面,main.xml <?xml version=" ...

  6. Android学习-指南针(方向传感器)

    Android学习-指南针 效果图(背景图片网上随便找的): 1.编写布局文件activity_main.xml文件 主要放一个东南西北方向图片,一个指针图片用来指明方向 <?xml versi ...

  7. Android方向传感器实践——自己动手做指南针

    传感器(Sensor)系统可以让智能手机的功能更加丰富多彩,在Android系统中支持多种传感器.Android的Sensor系统涉及了Android的各个层次. Android系统支持多种传感器,有 ...

  8. Android方向传感器学习之指南针示例

    刚刚跟着视频学习了关于Android中传感器的操作示例,利用方向传感器做了一个很简单的指南针应用...平时工作项目中很少有用到传感器功能,所以很多都不知道,现在自学些,当作慢慢入门吧... 首先贴出软 ...

  9. android学习笔记---57_采用方向传感器实现指南针,android设备传感器介绍,以及使用方法

    Java技术qq交流群:JavaDream:251572072 ------------------------------------------------------ 传感器类型:方向.加速度( ...

  10. android 方向传感器Sensor或指南针罗盘研究

    目前获取方向角度的方法有两种: 1.目前谷歌建议使用SensorManager中Sensor.TYPE_ACCELEROMETER和Sensor.TYPE_MAGNETIC_FIELD SensorM ...

最新文章

  1. 拼数pascal程序
  2. 优酷智能档的设计、实现和应用
  3. 程序员成长之路 java面试指导(作者说的极好要看) 静下心看
  4. 网络上总结python中的面试题
  5. centos7 修改为任意网卡名_centos7首次启动需要配置的内容
  6. 如何制作poster以及下载poster模板
  7. 项目管理 计算机仿真,刘宝林老师【项目管理】《挑战埃及》沙盘课程内容分享...
  8. sendcloud php 群发,PHP精华内容之SendCloud发送邮件
  9. FlashDB移植与应用
  10. CSS3 动画专栏:@keyframes与animation的恋曲
  11. 即使你毕业非名校,也能找到月入10k的工作
  12. 高德地图绘制标记点,点击弹出弹框进入第三方地图软件
  13. 我认为接口存在的意义
  14. mysql 正则 查询 手机号,移动手机号码段 正则
  15. 制作一个惊艳所有人的计算器
  16. 一文玩转 Java 日志数据脱敏,就是如此简单!
  17. 安卓 build.prop 进行修改提高性能
  18. SQLServr 2008 R2安装教程 附带百度云下载地址
  19. 谷歌员工分享的关于李开复先生的小故事
  20. CSS outline(轮廓线)

热门文章

  1. 灰度测试或 AB 测试
  2. rar怎么用计算机打开,解答电脑rar文件怎么打开
  3. F5 BIG-IP 17.0.0
  4. 修改网站背景图html代码,HTML中更换或添加网站背景图片的代码怎么写?(示例)...
  5. C# 方法练习-制作简易飞行棋游戏
  6. uni-App 商品详情轮播图
  7. 抖音seo,抖音搜索排名系统,抖音seo源码开发。
  8. matlab get(gcf,'postion ')相关解释
  9. 关于WORD提示“Word无法创建工作文件,请检查临时环境变量”问题的解决办法
  10. 高歌——【先声夺银】四种能力判断你的炒白银水平