android方向传感器 指南针,Android如何实现电子罗盘(指南针)方向传感器的应用
Android如何实现电子罗盘(指南针)方向传感器的应用
发布时间:2021-04-16 10:12:13
来源:亿速云
阅读:71
作者:小新
这篇文章给大家分享的是有关Android如何实现电子罗盘(指南针)方向传感器的应用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
简介
现在每部Android手机里边都会内置有许多传感器,如光照传感器、加速度传感器、地磁传感器、压力传感器、温度传感器等,它们能够监测到各种发生在手机撒花姑娘的物理事件。当然Android系统只是负责将这些传感器所输出的信息传递给我们,然后我们可以利用这些信息去开发一些好玩的应用。
图片神马的在网上搜个指南针图片就好了,方便学习
main.xml<?xml version="1.0" encoding="utf-8"?>
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.javaimport 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方向传感器 指南针,Android如何实现电子罗盘(指南针)方向传感器的应用相关推荐
- Android 电子罗盘 --指南针(方向传感器的应用)
,图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还是加上吧,方便学习 main.xml <?xml version="1.0" encoding=& ...
- Android 电子罗盘--指南针(方向传感器的应用)
转载自: http://blog.csdn.net/onlyonecoder/article/details/8475653 图片神马的在网上搜个指南针图片就好了,本来没有注释,发上来之后感觉不行,还 ...
- Android传感器的使用开发、简易指南针
原文链接地址:http://blog.csdn.net/aiynmimi/article/details/48660505 简介 现在每部Android手机里边都会内置有许多传感器,如光照传感器.加速 ...
- android 获取加速度传感器值,Android开发获取传感器数据的方法示例【加速度传感器,磁场传感器,光线传感器,方向传感器】...
本文实例讲述了Android开发获取传感器数据的方法.分享给大家供大家参考,具体如下: package mobile.android.sensor; import java.util.List; im ...
- 【Android游戏开发十八】解放手指,利用传感器开发游戏!(本文讲解在SurfaceView中用重力传感器控制圆球的各方向移动)
本站文章均为 李华明Himi 原创,转载务必在明显处注明:(作者新浪微博: @李华明Himi ) 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/andr ...
- 我的Android进阶之旅------Android利用Sensor(传感器)实现水平仪功能的小例
这里介绍的水平仪,指的是比较传统的气泡水平仪,在一个透明圆盘内充满液体,液体中留有一个气泡,当一端翘起时,该气泡就会浮向翘起的一端. 利用方向传感器返回的第一个参数,实现了一个指南针小应用. ...
- 【Android游戏开发十八】解放手指,利用传感器开发游戏!
本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/344.html 前 ...
- android 传感器ceshi,Android代码-传感器-测试手机支持那几种传感
Android代码----传感器-----测试手机支持那几种传感 一个小小Demo检测手机支持那几种传感: 具体代码如下: [Java代码]DemoSensorActivity.java packag ...
- android 传感器 应用,Android移动设备中传感器的应用
摘要:本文介绍了Android平台应用的传感器技术的基础知识. 在移动技术中,传感器是被测量信号输入的首要技术,也是传感器系统中的元件组成部分,它包括载体和电路连接的敏感元件和转换元件,但是传感器系统 ...
- 手机加速度传感器在Android横竖屏切换中的应用
文章目录 如何判断手机的横竖屏 使用加速度计实现 接口使用 使用加速度计和磁力计获取手机倾斜角度 加速度传感器在Android横竖屏切换中的应用 如何判断手机的横竖屏 这个问题依赖与手机上的传感器 一 ...
最新文章
- 【Python基础】盘点 Python 10 大常用数据结构(下篇)
- dea工具debug断点红色变成灰色
- 《构架之美》阅读笔记六
- [51nod1847][算法马拉松23(飞越愚人节)F]奇怪的数学题
- 从数据角度探索在新加坡的非法毒品
- Libbpf-tools: Tracing工具
- java环境安装菜鸟教程,Java基础教程---JDK的安装和环境变量的配置
- Helen人脸数据集生成人脸分割
- 计算机主机后面辐射大,电脑背面辐射最大吗
- Calib 工具说明
- 0055-在OpenCV环境下合成高动态范围图像(HDR)
- 无线串口服务器规模,无线串口服务器讲述.doc
- 互联网产品经理是做什么的
- ARM模拟器-skyeye(天目)的安装和使用!
- Action Unit到底是什么?
- BUUCTF MISC刷题笔记(一)
- HDU 1253 胜利大逃亡
- js圆周运动动画_JavaScript动画实例:沿圆周运动的圆圈
- 是否似曾相识?每个开发人员都犯过的15个错误
- Git工具调优--GitFlow
热门文章
- MongoDB-day1:MongoDB安装使用、python操作、虚拟环境、windows下pip豆瓣源配置
- (瑞萨,norti系统,partner-jet2) 实时系统下DMAC使用的注意事项
- 记一次前端实习生面试
- PDF文件中电子签名(安全性、有效性、合法性)验证指南
- SpringSecurity 密码加密
- Kotlin协程createCoroutine和startCoroutine原理
- 理解风险偏好risk appetite vs. 风险容忍度risk tolerance
- 数据库驱动和数据库连接(MySQL)
- 不同框架模型的对比试验
- cartographer探秘第三章之对比实验