这已经是12天没有写博客了,原因是这两个星期,一直在解决计步器。结论是:自己电脑上已经可以运用Android传感器(加速度传感器)来实现记步功能,Android自带的GPS不能在手机上实现定位,百度地图的API可以实现。总的来说,GPS肯定是比传感器更加精准,但是由于知识水平限制,只能实现加速度传感器来实现记步功能,GPS只是能实现定位,而且极其的不精准,就算用百度地图API也是要上网时才会比较精准,但是现实计步器不可能时时有网,最后还是决定暂时用传感器实现记步功能吧。下来详细说说这几个具体情况吧。

先来说加速度传感器实现记步大概步骤

首先获取SensorManager(系统所有传感器的管理器)的实例,SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);

其次获取Sensor实例,Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);//用此方法得到加速器类型

然后注册sensorManager,sensorManager.registerListener(listener, sensor, SensorManager);

最后要对传感器输出的信号进行监听,需要SensorEventListener,以及它所实现的onSensorChanged()方法

这就是大概的就是实现传感器的大概步骤,下一章节给出具体的代码。

然后是Android的GPS的主要步骤

找出自己的位置,主要是通过Android的LocationManager这个类来实现的

首先是获取LocationManager的实例,LocationManager locationManager =(LocationManager)gerSystemService(Context.LOCATION_SERVICE);

Android中一般有三种位置提供器可供选择,GPS_PROVIDER,NETWORK_PROVIDER和PASSIVE_PROVIDER。GPS_PROVIDER定不了位置,搜索不到卫星,NETWORK_PROVIDER用网络也不能定位,我看网上说是因为谷歌停止了基站。

其次是获得本地位置Location, Location location =locationManager.getLastKnownLocation(LcationManager.NETWORK_PROVIDER);

//首先是定位,如果不能定位则取到上一次定位,如果是第一次运行这个程序,那么第一次定位是空的,上面也解释了不能定位,所以location一直为空。location中包含了经度、纬度、海拔等一系列的位置信息。

最后LocationManager还提供了一个requestLocationUpdates()方法,只要传入一个LocationListener的实例,locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 5000, 10, new LocationListener())

{}

最后是百度地图API,我会在后面几张说明

Android-计步器的学习心得相关推荐

  1. 车载多媒体Android开发平台学习心得

    Android平台工具学习 一.Android平台 Eclipse+ ADT+SDK 1.1.准备工作 进行开发前的安装配置: ①Java:先安装java,配置JDK环境变量: ②Eclipse:使用 ...

  2. 【转】android的startActivityForResult学习心得

    http://blog.csdn.net/yanzi1225627/article/details/7800529 从昨晚到现在终于调试通了一个startActivityForResult的例子,网上 ...

  3. 记录第一次开发android的学习心得

    文章目录 前言 一.自定义View 1.编写自定义view的样式 2.在activity对应的页面引用 3.编写自定义view java文件 二.mvp框架 1.contract 2.activity ...

  4. android中级培训,Android 中级学习心得

    不知不觉一个月又过去了,中级部分已经学习完毕,给大家讲讲学习心得,希望对新人有所帮助,中级部分主要是一些控件的设置,以及实现一些控件的功能. Android通知系统,Tostask 比较常用:进度条p ...

  5. Android应用性能优化——学习心得

    Android应用性能优化--学习心得 Android应用性能优化这门课分为内存优化.视图优化.电量优化.Bitmap优化.其他优化等五大部分,下面这对这五大部分的学习能容做一下总结: 一. 内存优化 ...

  6. 黑马程序员——c语言学习心得——函数传递二维数组

    黑马程序员--c语言学习心得--函数传递二维数组 -------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 一.定义指针的时候一定要初始化.    变量 ...

  7. C++学习心得和进阶路线总结

    C++学习心得和进阶路线总结 借用王国维老先生的话,C++学习也可以分为四个阶段 C++缺点之一,是相对许多语言复杂,而且难学难精.许多人说学习C语言只需一本K&R<C程序设计语言> ...

  8. xss漏洞学习心得(泪目)

    XSS学习心得大杂烩 背景 xss的定义 xss漏洞的分类 xss绕过技巧payload 常见的有: 绕过payload 背景 领导给了我一些资产让我去测试,发现其中藏有不少的xss漏洞,含泪做一个总 ...

  9. apicloud菜鸟教程_干货教程 | APICloud新手学习心得分享

    最近很多爱学习的开发者,在后台给柚子君留言询问:如何在APICloud平台创建app?如何添加模块?自定义loader编译好之后在studio里面怎么同步等问题. 柚子君就借此机会给大家分享一个对 j ...

  10. 计算机编译原理有必要学吗,计算机程序编译原理学习心得

    计算机程序编译原理学习心得 <编译原理>是计算机专业的一门重要课程,正如教材:第一章的引论所述,"编译程序是现代计算机系统的基本组成部分之一"."一个编译程序 ...

最新文章

  1. POJO、VO、PO、FormBean区别:
  2. matlab在电气工程中的数值分析
  3. JQuery解析JSON数据
  4. 设计模式(结构型模式)——桥接模式(Bridge)
  5. python右对齐输出如果结果超过30个字符_Python3 输出字符串左对齐、右对齐、居中对齐...
  6. (学习日记)关于a1,a2,a3,...,an共n个元素依次入栈其可能出栈的排列数的计算(catalan数)...
  7. Meta AI 发布 data2vec!统一模态的新里程碑!
  8. 图片人脸检测——Dlib版(四)
  9. HTML网页使用CDN的jquery.qrcode.min.js生成页面二维码(直接可以复制使用)
  10. C#对象初始化的探讨
  11. linux IP DNS 配置
  12. 提取rosbag中的图像话题存为本地图像
  13. 修改设置Tomcat内存
  14. @property、@staticmethod、@classmethod装饰器
  15. python整数类型没有取值范围限制_python综述(一),复习
  16. 苹果摄像头黑屏_品牌借势:苹果12发布会,王守义十三香领衔,杜蕾斯再出手...
  17. 浏览器标准模式和怪异模式之间的区别是什么?
  18. php微信公众号开发难吗,PHP微信公众号开发的两种模式
  19. 写给女儿高中编程课老师的一封信
  20. 七、傻妞对接公众号教程

热门文章

  1. VA01销售订单批导问题解决
  2. python 学术文献下载_PyHubWeekly | 第二十六期:一款开源免费的学术论文下载工具...
  3. 红队笔记之反溯源技术在攻防过程中的应用
  4. 567网盘 飞猫网盘 星耀网盘 kufile expfile rardisk RoseFile 雪球网盘 77file 迅牛网盘 ownfile 1988网盘 520网盘解析演示
  5. react-native集成阿里云金融实人认证获取当前viewController
  6. AttributeError: ‘NoneType‘ object has no attribute ‘find_all‘
  7. 想转行人工智能?机会来了!!!
  8. PMP与ACP有什么区别?
  9. 360搜索引擎数据抓取
  10. 如何通过区块链钱包解决「数据确权」难题