传感器:手机常用传感器有方向传感器、重力传感器、光线传感器等。

上北0度 右东90度 下南180度 左西 270度

MainActivity

Sensor.TYPE_ORIENTATION  方向传感器

Sensor.TYPE_ACCELEROMETER  重力

Sensor.TYPE_LIGHT  光线

Sensor.TYPE_MAGNETIC_FIELD  磁场

Sensor.TYPE_PROXIMITY 距离

Sensor.TYPE_TEMPERATURE 温度

采样率

SensorManager.SENSOR_DELAY_FASTEST 最快 不推荐,耗电最大,算法不好会影响ui性能

SensorManager.SENSOR_DELAY_GAME  实时性较高的游戏使用该级别

SensorManager.SENSOR_DELAY_NORMAL 标准延迟,过低对赛车有跳帧现象

SensorManager.SENSOR_DELAY_UI  用户界面,游戏不推荐,相对省电

注册监听

package cn.itcast.sensor;import android.app.Activity;
import android.content.Context;
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 MainActivity extends Activity {private ImageView imageView;private SensorManager manager;private SensorListener listener = new SensorListener();@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);imageView = (ImageView) this.findViewById(R.id.imageView);imageView.setKeepScreenOn(true);manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);}@Overrideprotected void onResume() {Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_ORIENTATION);//方向传感器 其他一样manager.registerListener(listener, sensor, SensorManager.SENSOR_DELAY_GAME);//第3个参数为采样率super.onResume();}@Overrideprotected void onPause() { //一旦离开前台则取消 因为传感器很耗电manager.unregisterListener(listener);super.onPause();}private final class SensorListener implements SensorEventListener{private float predegree = 0;
//测量到数据后调用此方法public void onSensorChanged(SensorEvent event) {float degree = event.values[0];//存放了方向值 90RotateAnimation animation = new RotateAnimation(predegree, -degree, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);animation.setDuration(200);imageView.startAnimation(animation);predegree = -degree;}public void onAccuracyChanged(Sensor sensor, int accuracy) {}}}

main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="center">
<ImageView  android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/zn"android:id="@+id/imageView"/>
</LinearLayout>

25-方向传感器实现指南针相关推荐

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

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

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

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

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

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

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

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

  5. 传感器--方向传感器制作指南针

    我们根据地磁传感器和加速度传感器来进行当前手机旋转的方向 同时使用一个imageView来展示我们当前的方向的展示,并让其根据手机旋转的角度来旋转指向正确的方向 public class MainAc ...

  6. Android基于方向传感器实现指南针功能

    这里做了一个指南针,主要用到了Android里的加速度传感器和地磁传感器 Github源码 1.数据初始化 private USensor(Context context) {if (sorMgr = ...

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

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

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

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

  9. 百度地图开发(七)方向传感器指向方向--指南针

    效果图: 用到的小图,自行下载: 原理就是利用方向传感判断机头方向传值给定位: 方向传感代码: import android.content.Context; import android.hardw ...

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

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

最新文章

  1. 【怎样写代码】确保对象的唯一性 -- 单例模式(二):解决方案
  2. 以太网迎新增长 专家眼中的车载以太网及AVB技术
  3. Apache的压缩与缓存-----网页优化
  4. mac安装opencv
  5. pythonb超分辨成像_深度原理与框架-图像超分辨重构-tensorlayer
  6. mysql字符集修改保存_mysql更改已有数据表的字符集,保留原有数据内容
  7. oracle中有没有=,在oracle中有没有方式来实现这样的统计啊?
  8. 2013搜狐移动互联战略
  9. 关于修改DSDT出现的常见问题
  10. Android11 如何将系统默认设置中文
  11. VS2010 SP1 编译QT4.8.0 x64版本
  12. 金仓数据库 KingbaseGIS使用手册(2. 简介)
  13. 【云图】如何制作AMF生态鱼缸实体店分布图
  14. itext7生成pdf页脚页码
  15. 基于 SpringBoot 和 webSocket 的匿名聊天室
  16. 实验记录 | 6/29
  17. 2020 idea 查看内存消耗_查看运行时某个java对象占用JVM大小及通过idea查看java的内存占用情况...
  18. win10/win1桌面图标锁定,防止桌面图标移动
  19. 佟年计算机大赛,《亲爱的,热爱的》热播,吴白见到佟年第一眼,这眼神亮了!...
  20. mysql users 命令大全_mysql 命令大全

热门文章

  1. arcengin交互式动图制作
  2. CentOS7上Glusterfs的安装及使用(gluster/heketi)
  3. 北斗组网大功告成!你的手机真的能连上北斗吗
  4. 深度好文之Servlet技术详解(九)
  5. bit和byte以及千字节关系
  6. Python3爬取英雄联盟英雄皮肤大图
  7. 十二时辰篇:这该死的 996
  8. idea evaluation license has expired 解决办法
  9. RAC 学习笔记RAC 学习笔记(1)-技术介绍
  10. 网络设计部分知识点总结