[发明专利]一种基于Android平台的运动数据统计系统和方法有效

专利信息
申请号: 201710407199.3 申请日: 2017-06-02
公开(公告)号: CN108984562B 公开(公告)日: 2022-03-08
发明(设计)人: 彭䶮;吴兆强 申请(专利权)人: 四川理工学院
主分类号: G06F16/29 分类号: G06F16/29;G06F16/22;G06F16/248;G06F16/25;G06F9/448;H04W4/02;H04W4/14;H04L67/025;H04L67/52;H04L9/40;G01C22/00
代理公司: 北京立成智业专利代理事务所(普通合伙) 11310 代理人: 张江涵
地址: 643000 四*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明实施例提出了一种基于Android平台的运动数据统计系统和方法,其中系统包括:轨迹绘制模块,用于根据计步结果调用高德地图绘制出用户的运动轨迹;计步模块,用于根据三轴加速度计获取的数据进行计步;运动能耗计算模块,用于计算运动能耗、运动距离、实时运动速度、平均运动速度。
搜索关键词: 一种 基于 android 平台 运动 数据 统计 系统 方法
【主权项】:
1.一种基于Android平台的运动数据统计系统,其特征在于,包括:轨迹绘制模块,用于根据计步结果调用高德地图绘制出用户的运动轨迹;所述轨迹绘制模块执行以下步骤:初始化步骤:步骤21、利用Android Studio,在Terminal中输入>keytool‑list‑keystore keystore.jks,以获取sha1值;步骤22、利用获取的Sha1值在高德地图控制台添加key值以获取高德地图开发的API key参数;步骤23、在系统中添加并加载以下依赖包:地图jar包:Android_Map_V2.0.4.jar定位jar包:MapApiLocation.jar搜索jar包:MapApiSearch.jar;三个jar包(即地图jar包、定位jar包及搜索jar包),将jar包作为项目的依赖包使用,需要在gradle文件中设置依赖语句:步骤24、将获取的API key参数配置到系统的AndroidManifest.xml文件中并进行配置;运动轨迹绘制步骤:步骤31、初始化高德地图设置,并开启定位;判断定位是否成功,如果否则步骤结束;步骤32、调用回调函数onLocationChanged()返回AMapLocation对象,使用AMapLocation对象的getXXX()方法获取到定位参数,所述定位参数包括:经纬度、地址信息、错误码;步骤32、利用连续两次定位的经纬度生成移动轨迹,包括:mAMap.addPolyline(mPolylineOptions).add(mLatLngList.get(k‑1),mLatLngList.get(k)).color(Color.BLACK));其中,mAMap为高德地图的MapView对象,用来显示地图界面;color()方法用来设置线段颜色;add()方法用来在地图上绘制两点之间的线段,接收参数为LatLng对象;代码中mLatLngList为存储LatLng型数据的集合,mLatLngList.get(k‑1)表示起始点,mLatLngList.get(k)表示结束点;addPolyline()方法用来将Polyline对象添加到地图上,接收参数为PolylineOptions对象,PolylineOptions对象可设置线段的宽度、颜色等信息;在每次绘制线段之后调用postInvalidate()方法刷新地图以显示出绘制的运动轨迹;步骤33、当用户结束运动时,调用stopLocation()方法结束定位,同时停止运动轨迹的绘制;并将绘制的全部运动轨迹进行存储;所述系统还包括个人中心,所述个人中心连接所述轨迹绘制模块以接收并存储所述轨迹绘制模块的数据,其中所述个人中心包括:注册模块、登录模块、数据交互模块:所述注册模块执行以下操作:发送验证码操作、注册操作:其中送验证码操作包括:接收APP发送的验证码获取请求,使用随机数函数生成一个六位数验证码,生成的验证码在反馈给客户端APP做本地保存的同时,调用短信发送程序给用户发送一条验证码短信;其中注册操作包括:注册操作采用Spring中注解方式完成数据的请求与响应,代码具体包括:@RequestMapping(value=″/api/register/users″,method=RequestMethod.POST)public ResponseEntityregisterMember(@RequestBody User user){ResponseEntityresponseEntity=userService.register(user);return responseEntity;}其中,Resp为响应体的bean类,User为用于解析请求体json数据的bean类,“value”即接口;Register()函数即为注册流程处理函数,其首先验证手机号;如果传递过来的手机号为空,则返回自定义错误码600,提示内容为“手机号缺失”;如果发现在数据库中存在此手机号,则说明此手机号已注册过不可再注册,返回错误码401,提示内容为“此手机号已注册”;如果手机号不为空也并未被注册过,则将用户信息保存到数据库中,保存成功后设置返回码为200,通知客户端已注册;其中登录模块的代码如下:@RequestMapping(value=″/api/login″,method=RequestMethod.POST)public@ResponseEntity Resp userLogin(@RequestBody User user){return userService.userLogin(user);}其中,userLogin()函数即为登录流程处理函数,传入参数RequestBody携带Json数据;登录程序会将APP传递过来的user name和password依次放到数据库中进行查询;如果user name不存在则返回错误码400,提示信息设置为“账号不存在”;如果user name存在而password不正确,同样返回错误码400,而提示信息则设置为“密码错误”;如果两者均正确则设置返回码为200,提示用户登录成功;其中数据交互模块包括:API接口、其中API接口用于实现与web server交互的功能以使APP用这些接口访问远端服务器;接口使用的通讯协议为http1.1,数据请求方式为GET与POST,Request host定义为“http://www.freeruning.com:8080”,response数据格式为Json,对应的bean文件为“Resp.java”,基本格式定义如下:其中API接口包括:个人资料获取接口、个人资料修改接口、个人数据管理接口其中个人中心接口的个人资料获取流程的代码如下:@RequestMapping(value=″/api/user/{user_id}/get″,method=RequestMethod.GET)public ResponseEntitygetUserInfo(@PathVariable String user_id){return userService.getUserInfo(user_id);}其中个人资料的获取接口为“/api/user/{user_id}/get”,请求方式为GET;具体数据获取函数为getUser Info(),该函数传入参数为String型数据user_id;其中个人资料获取程序首先连接数据库,然后查询user_info table;如果该表中存在传入的user_id,则将该user_id下的所有信息取出,反馈给用户,如果该表中不存在传入的user_id,则返回错误码400,提示信息设置为“该账户信息不存在”;其中个人资料修改接口的代码如下:@RequestMapping(value=″/api/user/{user_id}/up″,method=RequestMethod.POST)public ResponseEntityuserUpInfo(@PathVariable String user_id,@RequestBody JSONObject upInfo){return userService.userUpInfo(user_id,upInfo);}其中,个人资料修改接口为“/api/user/{user_id}/up”,请求方式为POST;RequestBody携带数据为Json数据;实现函数为userUpInfo(),传入参数为user_id和upInfo,user_id数据类型为String,upInfo数据类型为JSONObject;其中个人资料修改接口在接收到客户端发送来的POST请求后,首先将Request Body中的Json数据使用JSONObject工具类进行解析;解析后的数据传递到userBean类中,然后将userBean作为参数传递到数据库保存函数save(),完成数据保存工作;最后个人资料修改程序返回ResponseEntity类,告诉客户端APP数据修改成功;其中个人数据管理接口包括:个人数据上传接口、个人数据下载接口:个人数据上传流程的代码如下:@RequestMapping(value=″/api/user/data/{user_id}/up/{flag}″,method=RequestMethod.POST)public ResponseEntityupdata(@RequestBody JSONObject jsonData,@PathVariable String user_id,@PathVariable String flag){return userService.updata(jsonData,user_id,flag);}个人数据上传接口为“/api/user/data/{user_id}/up/{flag}”;其中,字段“flag”为数据类型判断字段,数据上传实现函数为updata(),传入参数为“jsonData”,“user_id”及“flag”,;其中个人数据上传程序在接收到客户端URL之后,首先对URL进行分析,从中提取出“user_id”及“flag”参数;“user_id”是唯一标识用户信息的字段,“flag”参数用来确定上传数据的类型;若“flag”为“0”,则代表上传天气信息;若“flag”为“1”,则代表上传生理参数;若“flag”为“2”,则代表上传运动数据;若“flag”为“3”,则代表上传所有数据;若“flag”的值不符合以上四种情况,则返回错误码400,表示请求错误;在确定好上传数据的类型之后,通过相应的bean解析对应Request Body中Json数据,然后调用dbDao类的save()函数,将解析好的数据存入对应table中;最后,返回ResponseEntiy类,通知客户端APP数据已存储成功;其中个人数据下载接口的代码如下:@RequestMapping(Value=″/api/user/data/{user_id}/down/{flag}″,method=RequestMethod.GET)public ResponseEntitydownData(@PathVariable String user_id,@PathVariable String flag){return userService.downData(user_id,flag);}个人数据下载接口为“/api/user/data/{user_id}/down/{flag}”,实现函数为downData(),传入参数为“user_id”及“flag”;其中个人数据下载接口在获取到客户端GET请求之后,首先使用“flag”参数判断所要查询的数据类型,然后通过“user_id”查找出该用户相关数据,并将数据以map形式传入Resp bean中;最后返回ResponseEntity类,将数据传送到客户端。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川理工学院,未经四川理工学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201710407199.3/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top