收藏 分销(赏)

基于Android平台的计步器的设计与实现.doc

上传人:a199****6536 文档编号:2469162 上传时间:2024-05-30 格式:DOC 页数:45 大小:2.36MB
下载 相关 举报
基于Android平台的计步器的设计与实现.doc_第1页
第1页 / 共45页
基于Android平台的计步器的设计与实现.doc_第2页
第2页 / 共45页
基于Android平台的计步器的设计与实现.doc_第3页
第3页 / 共45页
基于Android平台的计步器的设计与实现.doc_第4页
第4页 / 共45页
基于Android平台的计步器的设计与实现.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、(完整word)基于Android平台的计步器的设计与实现南 阳 理 工 学 院本科生毕业设计(论文)学院(系): 软件学院 专 业: 软件工程 学 生: 张三 指导教师: 张三 完成日期 2016 年 04 月南阳理工学院本科生毕业设计(论文)基于Android平台的爱运动计步器的设计与实现Design and Implementation of the Loving Sports Pedometer Based on Android Platform总 计:毕业设计(论文) 33页表 格: 1个图 片: 1个南 阳 理 工 学 院 本 科 毕 业 设 计(论文)基于Android平台的爱运

2、动计步器的设计与实现Design and Implementation of the Loving Sports Pedometer Based on Android Platform学 院(系): 软件学院 专 业: 软件工程 学 生 姓 名: 张三 学 号: 111 指导教师(职称): 张三 讲师 评 阅 教 师: 张三 完 成 日 期: 2016年04月30日 南阳理工学院Nanyang Institute of Technology基于Android平台的爱运动计步器的设计与实现软件工程 张三摘 要 随着人们生活水平和生活质量的提高,人们越来越关注自己的身体健康。而跑步成为人们最受欢迎

3、的运动方式,运动软件可以在人们锻炼身体的时候提供极大的帮助。本文针对运动轨迹和计步,设计一款基于Android平台的运动软件。本系统通过使用百度鹰眼、重力传感器和数据库技术,实现了运动轨迹追踪、计步、查看运动记录等功能。本系统界面友好,操作简单,可以稳定运行。本款运动软件适合空闲时间不足的人群,方便人们随时锻炼身体,并查看自己的运动情况。关键词 运动软件;运动轨迹;Android;百度鹰眼Design and Implementation of the Loving Sports Pedometer Based on Android PlatformSoftware Engineering M

4、ajorzhangsanAbstract: With the improvement of peoples living standards and quality of life, people pay more and more attention to their health. Running has become one of the most popular ways of exercise, and sports software can provide great convenience for the people to exercise。 The thesis design

5、s a sports software based on Android platform for the sports trace and the step counting。 The system uses baidu hawkeye, gravity sensors and database technology realizing the trajectory tracking, step counting, viewing athletic records and other functions。 The system provides a friendly user interfa

6、ce, simple operation and can be stable operation。 The sports software is suitable for people having less time and it is also convenient for people to exercise at any time and viewing athletic records。Key words: sports software; sports trace; Android; baidu hawkeye目 录1 绪论11。1 软件开发背景11.2 论文研究的目的和意义11。

7、3 论文主要研究内容11。4 论文组织结构12 相关技术介绍22.1 Android系统的组成22。1。1 应用程序层22.1.2 应用程序框架层22.1。3 系统运行库层22.1.4 Linux内核层32。2 Activity的生命周期32.3 Android平台的搭建42.3。1 JDK的安装42。3.2 Eclipse的安装52。3。3 Android SDK 的安装52。3.4 ADT的安装52.3.5 创建DVD53 需求分析53。1 可行性分析63。1.1 经济可行性分析63。1。2 技术可行性分析63。1。3 操作可行分析63.2 功能需求分析63.3 非功能性需求分析73.3.

8、1 易用性73。3。2 可靠性83。3.3 安全性83.3。4 运行环境83.4 面向对象分析83。4.1 设置信息用例分析83.4.2 运动记录用例分析83.4.3 计步信息用例分析93.4。4 系统用例分析94 系统设计104.1 概要设计104.2 详细设计114。2。1 系统总体设计114.2.2 计步模块详细设计114。2.3 轨迹追踪模块详细设计124。2.4 音乐播放模块详细设计134。2。5 闹铃模块详细设计134。2。6 平台分享模块详细设计144。2。7 天气预报模块详细设计154.2.8 更换主题模块详细设计154。2。9 运动记录模块详细设计164。3 数据库设计164

9、。3。1 数据库分析164。3。2 数据库概念设计及表结构185 系统实现195。1 计步模块实现195。2 轨迹追踪模块实现205.3 音乐播放模块实现225.4 闹铃模块实现225.5 天气预报模块实现235。6 平台分享模块实现245。7 更换主题模块实现255.8 运动记录模块实现266 测试286。1 计步模块测试286。2 轨迹追踪模块测试296。3 运动记录模块测试30结束语31参考文献32致谢331 绪论1.1 软件开发背景随着人们生活水平和生活质量的提高,人们在日常通讯、娱乐的过程中越来越多的使用手机,但是随着手机的不断更新,人们也对手机的要求越来越高,也越来越关注手机的高层

10、服务和各种应用。现如今随着手机市场的发展,手机也出现了各种不同的操作系统,而最流行的则是Android操作系统,它是一个开放源码,并且是以Linux为基础的操作系统,它具有开放性的特点,开发者可以在Android平台上使用最流行的Java语言来定制自己的操作系统,正是这些特点使Android成为使用最多,最受欢迎的手机平台。现阶段人们由于生活节奏快,越来越多的人们注重身体的健康问题,而跑步成为健身最简单的方法,健身软件也将逐渐成为手机上的必备软件。因此,本文将设计一款符合大众健身需求的手机应用软件.1.2 论文研究的目的和意义Android是一种基于Linux的自由及开放源代码的操作系统,主要

11、使用于移动设备,如智能手机和平板电脑,在众多手机智能平台上被广泛应用1.而Android系统最大的优势在于其开源性,这也造就了其无穷的发展潜力,开放的平台可以让任何移动终端厂商加入到到Android联盟中,也因为其开放性吸引了很多的开发者。因此,本文设计了一款基于Android平台的运动软件。在长时间的发展过程中,Android促进了互联网产业的迅速成形,手机软件开发产业也应运而生,越来越多的人们开始关注此行业的发展,存在着庞大的用户群,因此Android在今后的发展中也将愈来愈重要,所以,我们要通过相应的技术来了解Android,了解开发Android人的先进理念以及思想,从而更加深入手机软

12、件行业,更加能适应时代的需要2.1.3 论文主要研究内容本论文所设计的运动软件是针对广大运动用户所设计的,目的是为了方便运动用户锻炼身体,让用户在锻炼身体的过程中能够享受运动所带来的乐趣,同时还能够查看自己的运动过程及运动量。本软件的一大亮点在于百度鹰眼技术,能够在用户运动的过程中借助GPS、传感器信息,实现室内外高精度的连续轨迹追踪,并且支持查看历史轨迹。传感器的使用是本软件的另一个亮点,本软件使用了加速度传感器来实现计步功能.1.4 论文组织结构本文分为六个章节,主要介绍如下:第一章是前言,主要介绍基于安卓平台的爱运动计步器的计步器的研究背景、研究的主要内容研究的目的和意义,让读者能够初步

13、了解到本款软件的设计意义和本文的大体结构.第二章是相关技术介绍,通过对爱运动计步器开发所用到的安卓平台进行系统开发技术简介,使读者能够更加深入的了解安卓的一些基本知识。第三章是需求分析,本章将对软件进行可行性分析,具体将从四个方面对系统进行分析,分别是可行性分析、功能性需求分析、非功能性需求分析和面向对象分析.第四章是系统设计,将从概要设计、详细设计和数据库设计来完成系统的基本轮廓,在详细设计中会先介绍系统的总体设计,然后介绍软件的各个功能模块,分别是计步模块、轨迹追踪模块、天气预报模块、音乐播放模块、闹铃模块、更换主题模块、平台分享模块、运动记录模块,在数据库分析中则是针对数据库和数据表进行

14、分析,从而完成整个系统的设计。第五章是系统实现,本章为了让用户熟悉软件的操作将对系统实现的每个模块就行详细的介绍,同时,将展示出系统的核心代码和运行截图,让用户更能直观的了解软件的运行。第六章是测试章节,为了发现软件中的错误,需要进行一系列测试,从而满足用户的需求,测试的功能有计步模块、轨迹追踪模块、运动记录模块。2 相关技术介绍 2.1 Android系统的组成Android系统的底层建立在Linux系统之上,该平台由应用程序层、应用程序框架层、系统运行库层和Linux内核四层组成,它采用层次化架构的方式进行构建,这种架构方式使得层与层之间相互分离,并明确各自的分工3.下面分别对这四部分进行

15、简单的介绍。2.1.1 应用程序层应用程序层的全部应用程序都是由Java语言编写的,Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端、SMS短信消息程序、日历、地图、浏览器,联系人管理程序等4.2.1.2 应用程序框架层Android应用程序框架层提供了大量的API供开发者使用,帮助开发者开发出更灵活、更实用、更具效率的应用程序。Android应用程序除了作为应用程序开发的基础,也是软件复用的重要手段,任何一个程序在遵守框架的预定下,都可以发布它的功能模块,然后其他应用程序就可以使用这个功能模块5。2.1.3 系统运行库层1.程序层Android包含一套被不同组

16、件使用的C/C+库的集合,一般来说,Android应用开发者不能直接调用这套C/C+库集,但可以通过它上面的应用程序框架来调用这些库6。2.Android运行时Android运行时有两部分组成:Android核心库集和ART,其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而ART则是用户安装APP时进行预编译,将原本在程序运行时的编译动作提前到应用安装时,这样可以提升APP的运行效率7。Android系统架构图如图2-1所示.图21 Android系统架构图2.1.4 Linux内核层Android的核心系统服务依赖于Linux2。6内核,如安全机制、内存管理、进程管理、网络、硬

17、件驱动,Linux内核也同时作为系统硬件和软件叠层之间的抽象层8。2.2 Activity的生命周期随着不同应用的运行,每个Activity都有可能从活动状态转入到非活动状态,也有可能从非活动状态转入活动状态,归纳起来,Activity大致会经历如下4种状态9。1。运行状态:当前Activity位于前台,用户可见,可以获得焦点。2.暂停状态:其他Activity位于前台,该Activity依然可见,只是不能获得焦点。3。停止状态:该Activity不可见,失去焦点.4.销毁状态:该Activity结束,或Activity所在的进程被结束.在Activity的生命周期中,如下方法被系统回调10。

18、具体如图2-2所示。1。onCreate():创建Activity时被回调,该方法只会被调用一次.2.onStart():启动Activity时被回调。3。onRestart():重新启动Activity时被回调。4。onResume():恢复Activity时被回调.在onStart()方法后一定会回调onResume()。5.onPause():暂停Activity时被回调.6.onStop():停止Activity时被回调。7.onDestroy():销毁Activity时被回调,该方法只会被回调一次.图2-2 Activity的生命周期图2.3 Android平台的搭建2.3.1 JD

19、K的安装下载JDK安装包并安装JDK,按照JDK的安装提示一步一步安装,直到安装完成,这时,需要在我的电脑中配置环境变量,在这些完成之后,还需要检查环境变量配置是否成功,打开cmd窗口,输入javac,如果输出帮助信息即为配置正确,同时想要查看JDK的版本信息也可以输入javaversion进行查看。2.3.2 Eclipse的安装1.首先需要打开官网http:/www.eclipse.org/,并在官网中找到Eclipse并下载到本地。2.将下载到本地的eclipse解压并安装,在安装生成的文件夹中找到启动程序eclipse.exe并打开即可使用。2.3.3 Android SDK 的安装1

20、.在Android Developers中下载最新的Android SDK文件,下载完成之后可以解压到任意路径。2。解压Android SDK文件,里面存在SDK Manager.exe和AVD Manager。exe两个应用程序,先运行SDK Manager。exe进行SDK下载。3.选择最新的Android版本,然后点击Install packages,并勾选Accept All开始下载并安装所选包.4。安装完成之后,如果你选择的包在Android SDK管理界面上会显示Installed,则表示安装成功。2.3.4 ADT的安装1.打开Eclipse IDE,点击菜单栏中的Help,选中

21、Install New Software选项,之后点击Add按钮,在弹出的对话框中输入相对应的信息,在地址栏中输入http:/dlssl。google。com/android/eclipse并确认.2.稍等片刻,展开Developer Tools将显示许多文件,选择Developer Tools里的所有文件,然后按提示继续下一步,这里需要耐心等待一会儿.3。完成之后,打开菜单中的ADT管理器,然后选择自己开发所需要的平台,选择完成之后,点击安装,然后在系统弹出的安装界面选择接受全部,这样就不会不断提示安装了,最后,等待安装完成即可。2.3.5 创建DVD打开安卓虚拟设备管理器,即 AVD Ma

22、nager。点击图中的New按钮新建安卓模拟器设备11。在下一界面设置安卓模拟器的详细设备参数,包括内存大小等。所有设置完成后,点击OK按钮保存设置并关闭设置窗体.然后就能够启动新建的Android模拟器了,点击选中新建的的虚拟器,然后在新窗体中启动此模拟器。3 需求分析在软件设计中,需求分析是很重要的一个环节, 它是在系统调查的基础之上,对应用的必要性和可能性进行系统的分析和研究,而它的目的在于,在最短的时间内决定能否用最小的代价解决问题。本节将软件的功能和需求进行分析,具体将从四个方面对系统进行分析,分别是可行性分析、功能性需求分析、非功能性需求分析和面向对象分析。3.1 可行性分析3.1

23、.1 经济可行性分析随着人们生活水平和生活质量的提高,人们由于上班时间较多,身体缺乏锻炼,但是人们的健康运动意识却逐渐增强。由于平常上班时间较多,并没有太长的时间来锻炼,他们会用一些休闲时间进行锻炼,但是由于运动时间零散不利于计算自己的运动量,也就无法知道自己的健身效果。所以,在这时,拥有一款运动软件就显得非常必要了。目前市场上的计步器或多或少都会花费一些金钱,但是在Android手机上设计的这款运动软件却不需花费任何费用,只需拥有一部Android手机即可。人们在运动的过程中只需打开软件即可轻松获取用户的运动信息,并且不受时间和地点的限制,可以充分利用人们的空闲时间帮助锻炼。3.1.2 技术

24、可行性分析本款软件开发只需一台安装有Windows系统的电脑,在电脑上安装开发工具JavaSDk、AndroidSDK、ADT和Eclipse即可,因此硬件条件并不高12.本款软件编写主要采用Java语言,Java语言具有以下的优点:1。面向对象:Java是一个纯的面向对象程序设计语言,面向对象技术处理发杂的应用程序会变得非常简单,远非其他方法所能比拟,同时还能节省许多代码13。2.跨平台性:Java在主流操作系统中实现了虚拟机,而每个系统的虚拟机编译出的。class文件都是统一的,这个.class文件能在任意一个安装了Java虚拟机的系统平台上运行,所以Java具有跨平台性。3。安全:从程序

25、本身上来说,Java这种语言是安全的;从代码安全性来说,Java比较容易反编译,代码置于服务器中不能被客户直接访问;从应用程序安全性来说,Java提供了jca之类的安全框架,能给应用程序提供安全保障14。4.简单易用:书写Java的源代码并不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后对编辑好的源文件进行编译,编译完成后即可直接运行,在之后通过调试就可以得到结果15. 3.1.3 操作可行分析本软件在设计中充分考虑了用户的使用习惯,为了让用户使用舒适,在软件设计的过程中,把功能模块设计成菜单样式,这样,用户可以快速的在所有功能之间切换,具有很强的灵活性.现在,市场上许多软件

26、存在广告,插件给用户带来许多困扰,本款软件不会包含任何插件和广告,将给用户最舒适的体验。3.2 功能需求分析本款软件主要包含八个功能模块,分别为:运动轨迹追踪、查看天气预报、播放本地音乐、闹钟、更换主题、计步、平台分享、运动记录。1.运动轨迹追踪:轨迹追踪是通过百度鹰眼技术技术来实现的,指的是通过GPS定位和网络(WiFi和基站)定位,获取用户当前的位置。百度鹰眼为开发者提供了一个可视化的数据管理后台,开发者在开发的过程中可以设定轨迹刷新的请求时间,之后用户在运动的过程中,运动轨迹将会在地图上以一条带颜色的线条精准的展现出来,可以方便的查看运动的范围和地点。2.查看天气预报:天气预报不需要手动

27、设置用户的所在地,可以自动定位运动者所在的城市,并能够查看本城市今天以及以后三天的基本天气信息,包括天气情况、气温温度、能否出行、是否适合运动等信息,同时,提供了下拉刷新功能,让用户能够时刻获得最新天气信息。3。播放本地音乐:音乐播放器能够自动加载手机上所存储的音乐,有着开始、暂停上下曲切换功能按键,并能实现后台播放,不会影响用户观察界面,让用户在运动过程中还能享受音乐。4.闹钟:本软件设置闹钟功能,可以让用户设置一个闹钟,用来提醒用户起床,也可以设置成运动时间闹钟,避免在用户在运动过程中遗忘一些其他重要事情,当然,用户也能开启和关闭闹钟.5.更换主题:用户在使用本软件时,不喜欢默认的主题,那

28、么本软件还提供了除默认之外的其他九种主题,可以让用户在这些主题中根据自己的爱好,重新更换其他的主题。6。计步:用户设置好个人信息,在运动的过程中,开始计步,通过手机上的传感器可以得到用户的步数,然后通过用户设置的身高、体重和步长来测出用户运动的距离和消耗的热量,运动的步数、距离和消耗的热量这些运动数据都是在随着用户运动的状态而不断刷新的。7.平台分享:用户不仅可以自己运动,还可以呼喊自己的朋友一起来运动。在用户对自己某一天的运动满意时,可以将自己的运动数据通过QQ、贴吧、微博等第三方社交软件分享出去,呼吁大家一起运动。8.运动记录:运动记录包含两个部分,一部分是计步查询,另一部分则是历史轨迹查

29、询。在计步查询中可以查看用户最近一周的运动数据,包括每天的步数、距离和消耗的热量,在历史轨迹查询中可以查看任何一天有记录的运动轨迹。运动记录可以让用户通过对比,知道自己的运动量相比于以前是否减少。3.3 非功能性需求分析3.3.1 易用性该软件的开发采用Android软件应用风格,并且采用了Android原生组件,UI也经过精心设计,界面简单易懂,易于操作,符合大部分用户需求。用户在使用时,只需用手指在屏幕上点击、滑动即可实现功能的使用和切换.3.3.2 可靠性该软件的使用并不受时间、地点的限制,用户可以在任何时间使用本款软件。当系统故障或断电情况下,用户不必担心数据的丢失,只需再次启用软件,

30、就能够正常使用,不会影响用户体验。3.3.3 安全性用户在使用本款软件时,完全不必担心信息的泄密,在开发完成时使用了软件加密来防止软件的破解,而且本款软件也不会再运行的过程中收集用户的信息,因此,用户可以放心使用。3.3.4 运行环境本软件适用于4.0版本以上的Android系统,对于以后的开发还具有很大的空间,而且软件运行速度快,给用户提供流畅感,在用户使用时,也不必担心数据流量和电量的消耗,这些都将在用户可接受范围内。3.4 面向对象分析面向对象采用了用例来描述系统的需求,通过用户使用阮籍你的过程,来体现系统所拥有的功能,用户与系统之间的交互既体现了系统所拥有的功能。3.4.1 设置信息用

31、例分析用户想要使用计步功能需在菜单个人信息中输入自己的一些信息,用户信息包含身高、体重、性别、昵称、目标步数这几项,用户设置信息用例图如图3-1所示.图3-1 用户设置信息用例图3.4.2 运动记录用例分析用户运动的过程中,所产生的运动数据会不断储存在数据库中,运动记录信息包含了历史轨迹、步数、距离和消耗的热量这4项,运动记录信息用例图如图3-2所示.图32 用户运动记录用例图3.4.3 计步信息用例分析当用户开始运动时,计步功能就实现了,计步信息包括了计算步数、计算距离和计算消耗的热量,计算步数将不断更新用户运动步数,然后通过用户个人信息的身高、体重、步长计算出距离和热量,计步信息用例图如图

32、3-3所示。图33 计步用例图3.4.4 系统用例分析用户在进入软件时首先需要设置个人信息,然后在之后运动时才能产生运动数据,如计步和运动轨迹等,系统将这些数据保存在数据库中,在运动过后,用户还能查看以往的运动记录,在用户使用完后,也可以进行退出软件操作。系统的总用例图如图3-4所示。图34 总用例图4 系统设计4.1 概要设计在设计一款软件的时候,通常会把它分为几个模块,再分为几个几个小模块,这样写出来的结构更为清晰,也更为方便管理。爱运动软件按照功能划分可为八大模块,轨迹追踪模块包含轨迹追踪;天气预报模块包含城市天气预报;音乐播放模块包含播放本地所存储的全部音乐;闹钟模块包含定时闹钟;更换

33、主题模块包含设置主题;计步模块包含设置目标步数和计步;平台分享模块包括一键分享;运动记录模块包括步数统计、热量统计、距离统计、轨迹查询。功能模块图如图4-1所示。图4-1 软件功能模块图4.2 详细设计4.2.1 系统总体设计用户进入系统主界面,可以在计步器中先设置自己今天的目标步数,然后选择是否开始计步,如果想要开始计步还要输入自己的个人信息,如果不开始计步,则可以通过侧滑打开左侧菜单栏选择其他的功能,如轨迹追踪、查看天气预报、本地音乐音乐播放、闹钟设置、更换主题、平台分享、查看运动记录。系统总流程图如图42所示。图42 系统总流程图4.2.2 计步模块详细设计在开始计步之前,用户首先要输入

34、自己个人信息,包括身高、体重、步长等信息,还需要输入自己的目标步数,当这些信息输入完成之后,用户就可以点击主界面的开始按钮进行计步功能,否则,无法开始计步。通过传感器来实现计步功能,同时,可以根据用户的身高、体重等个人信息计算得出用户运动的距离以及消耗的热量.计步模块流程图如图4-3所示。图43 计步模块流程图4.2.3 轨迹追踪模块详细设计轨迹追踪显示的是百度鹰眼的地图界面,当用户准备开始运动时,点击开始按钮,百度鹰眼就会随着运动者的运动生成相对应的运动轨迹,并且以一条带颜色的线条来显示出来.当用户在运动完之后,只需点击停止按钮,就会停止轨迹追踪,并保存运动轨迹,方便以后查询.轨迹模块流程图

35、如图4-4所示。 图44 轨迹模块流程图4.2.4 音乐播放模块详细设计用户可以在音乐播放器中播放本地所存储的全部音乐,音乐播放器具备播放、暂停、上下切换歌曲、显示进度条、后台播放等功能。用户可以在音乐列表中选择自己喜欢的音乐,点击即可播放,同时还能切换到后台播放模式。音乐播放模块流程图如图45所示。图45 音乐播放模块流程图4.2.5 闹铃模块详细设计本系统提供了闹钟功能,在脑中界面会给显示一个虚拟时钟、闹钟的设定时间以及闹钟的开关按钮。用户可以根据自己的习惯来更改闹钟,也可以在运动的过程中来提醒自己,当设定的闹钟时间到之后,闹钟就会循环播放一个存储在本地的音频文件来提醒用户,当然,如果用户

36、不想使用闹钟,也可以通过开关按钮来关闭闹钟,关闭之后,就不会有闹钟提醒用户。闹钟模块流程图如图46所示。图4-6 闹钟模块流程图4.2.6 平台分享模块详细设计用户可以通过QQ、贴吧、微博和微信等其他第三方社交软件把自己一天的运动信息分享给朋友,选择哪个分享方式,就会跳转到哪个软件上面。平台分享模块流程图如图4-7所示。图4-7 平台分享模块流程图4.2.7 天气预报模块详细设计用户通过系统提供的天气预报功能能够查看用户所在地的天气状况、温度、旅行等信息,免去用户输入城市的繁琐项。当用户查看完后,点击返回按钮就能返回到主界面。天气预报模块流程图如图48所示。图48 天气预报模块流程图4.2.8

37、 更换主题模块详细设计在更换主题界面存有一些主题图片,用户可以在这些主题中选择一款自己喜欢的来更换默认主题。更换主题模块流程图如图4-9所示。图49 更换主题流程图4.2.9 运动记录模块详细设计查看运动记录分为两种,一种是历史轨迹查询,另一种是步数、距离查询.如果想查看历史轨迹,点击历史轨迹按钮就能查看用户最近一天的历史轨迹,如果想要查看其他日期的历史轨迹,只需在右上角点击日期按钮,然后选择想要查看的日期,就能查看当天的运动轨迹;如果想要查看步数、距离,只需从主界面进入左侧菜单栏选项,选择左边运动记录按钮,就能查看这一周每天的步数、距离和热量。运动记录模块的流程图如图410所示。图410 运

38、动记录模块流程图4.3 数据库设计针对用户的使用情况和应用的具体信息,设计相对应的数据库。本节主要是对服务器的数据库设计,主要从两个方面来分析,分别是数据库分析和数据库概念设计及表结构。4.3.1 数据库分析1.用户的信息表包括数据项:昵称、身高、体重、性别和步长。用户实体-属性图如图4-11所示.图4-11 用户实体属性图2。运动记录信息表包括数据项有两部分,一部分为轨迹查询,另一部分为计步查询。轨迹查询表包括数据项:历史轨迹坐标;计步查询表包括数据项:步数、距离、热量消耗,运动记录实体-属性图如图4-12所示。图4-12 运动记录实体-属性图3.天气状况表包含数据项有:温度、天气、出行、运

39、动。天气状况实体属性图如图4-13所示.图4-13 天气状况实体属性图4。 实体包括用户个人信息、天气状况和运动记录。用户的运动信息是通过运动记录显示出来的,所以用户、天气状况和运动记录之间的关系是一对多的关系;用户查看天气状况也是一对多的关系。数据库总ER图如图4-14所示。图414 数据库E-R图4.3.2 数据库概念设计及表结构用户表包含的数据项有:昵称name、身高height、体重weight、性别sex和步长steplong,如表41所示。表4-1 用户表字段名字段类型字段描述备注nameString昵称不为空heightString身高不为空weightInt体重不为空sexIn

40、t性别不为空steplongInt步长不为空运动记录表包含的数据项有:步数step、距离distance、消耗的热量calorie,历史轨迹坐标queryHistoryTrack,如表4-2所示。表42 运动记录表字段名字段类型字段描述备注stepInt步数不为空distanceInt距离不为空calorieFloat消耗的热量不为空queryHistoryTrackDouble历史轨迹坐标不为空天气状况表包含的数据项有:温度temperature、天气weather、出行trap、运动sport,如表4-3所示。表43 天气状况表字段名字段类型字段描述备注temperatureString温

41、度不为空weatherString天气不为空trapString出行不为空sportString运动不为空5 系统实现5.1 计步模块实现用户进入软件界面,可以看到一个计步器,计步模块的设计是通过定义一个ProgressBar来显示当前计步器的那个圆形滚动条,通过传感器在ProgressBar上累计步数,然后在中间设置一个TextView,用来显示用户的运动步数;再定义三个Button按钮,一个是目标步数按钮,当用户点击目标按钮时,通过事先设置好的监听出现一个Dialog消息提示框,需要输入目标步数,之后输入目标步数选择确定设置成功;一个是开始计步按钮,如果用户没有输入个人信息,在设置完今日目

42、标步数后,点击主界面的开始计步按钮就会弹出Toast,提醒用户设置个人信息,当用户输入完用户信息之后即可开始计步;一个是开始计步按钮,用户再输入用户信息后,点击按钮即可开始计步;另一个是我的轨迹按钮,可以实现轨迹追踪。同时在界面的下方,再次设置两个TextView,可以将消耗的热量和运动的距离显示出来。具体代码如下。flhprogressBar.setProgressBackgroundColor(0xFF7F8AA5);/设置自定义ProgressBar背景颜色;flhprogressBar。setMarkerProgress(1f);/设置进度flhupdatemView();/更新视图s

43、etflhMaxStep.setText(”今日目标:” + flhtoday_step_max);/设置今日最大目标final Intent flhmintent = new Intent(flhMainActivity.this, flhStepService.class);/设置后台跳转flhstartflhStep.setOnClickListener(new View.OnClickListener() /开始计步按钮监听Overridepublic void onClick(View v) if (flhisflhStart) /如果可以开始flhstartStep.setflhT

44、ext(开始计步);/设置按钮 TextflhIsStart = false;/是否开始标记flhsaveStepinfo();/保存信息stopService(intent);/停止后台服务 else if (isflhflhAchieve()) /如果达到目标flhstartStep。setText(开始计步);/ Toast提示您已达到今日目标Toast。makeText(MainActivity。this, 你已达到今日目标Toast.LENGTH_SHORT)。show(); else if (flhtoday_step_max = 0) /如果没有设置目标步数,会提示设置目标步数T

45、oast.makeText(MainActivity.this, ”请设置今日目标数,Toast.LENGTH_SHORT).show(); else if (canStart = sp。getBoolean(”issave”, false) startStep.setText(”停止计步”);isStart = true;sThread = new StepThread();sThread。start();startService(intent); else Toast。makeText(MainActivity.this, ”设置信息后才能开始计步哦,Toast.LENGTH_LONG).show();

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 研究报告 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服