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

上传人:无*** 文档编号:107373523 上传时间:2022-06-14 格式:DOC 页数:28 大小:288.50KB
收藏 版权申诉 举报 下载
基于Android平台的计步器的设计与实现_第1页
第1页 / 共28页
基于Android平台的计步器的设计与实现_第2页
第2页 / 共28页
基于Android平台的计步器的设计与实现_第3页
第3页 / 共28页
资源描述:

《基于Android平台的计步器的设计与实现》由会员分享,可在线阅读,更多相关《基于Android平台的计步器的设计与实现(28页珍藏版)》请在装配图网上搜索。

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

2、mentation of the Loving Sports Pedometer Based on Android Platform学 院: 软件学院 专 业: 软件工程 学 生 姓 名: 张三 学 号: 111 指导教师: 张三 讲师 评 阅 教 师: 张三 完 成 日 期: 2016年04月30日 XX理工学院Nanyang Institute of Technology基于Android平台的爱运动计步器的设计与实现软件工程 张三摘 要 随着人们生活水平和生活质量的提高,人们越来越关注自己的身体健康。而跑步成为人们最受欢迎的运动方式,运动软件可以在人们锻炼身体的时候提供极大的帮助。本文针

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

4、provement 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 designs a sports software based on Android

5、 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 interface,simple operation and can be stable o

6、peration.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.3 论文主要研究内容11.4 论文组织结构12 相关技术介绍22.1 Android系

7、统的组成2 应用程序层2 应用程序框架层2 系统运行库层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的安装5 创建DVD53 需求分析53.1 可行性分析6 经济可行性分析6 技术可行性分析6 操作可行分析63.2 功能需求分析63.3 非功能性需求分析7 易用性7 可靠性8 安全性8 运行环境83.4 面向对象分析8 设置信息用例分析8 运动记录用例分析8 计步信息用例分析9 系统用例分析94 系统设计104.1

8、概要设计104.2 详细设计11 系统总体设计11 计步模块详细设计11 轨迹追踪模块详细设计12 音乐播放模块详细设计13 闹铃模块详细设计13 平台分享模块详细设计14 天气预报模块详细设计15 更换主题模块详细设计15 运动记录模块详细设计164.3 数据库设计16 数据库分析16 数据库概念设计及表结构185 系统实现195.1 计步模块实现195.2 轨迹追踪模块实现205.3 音乐播放模块实现225.4 闹铃模块实现225.5 天气预报模块实现235.6 平台分享模块实现245.7 更换主题模块实现255.8 运动记录模块实现266 测试286.1 计步模块测试286.2 轨迹追踪

9、模块测试296.3 运动记录模块测试30结束语31参考文献32致谢331 绪论1.1 软件开发背景随着人们生活水平和生活质量的提高,人们在日常通讯、娱乐的过程中越来越多的使用手机,但是随着手机的不断更新,人们也对手机的要求越来越高,也越来越关注手机的高层服务和各种应用。现如今随着手机市场的发展,手机也出现了各种不同的操作系统,而最流行的则是Android操作系统,它是一个开放源码,并且是以Linux为基础的操作系统,它具有开放性的特点,开发者可以在Android平台上使用最流行的Java语言来定制自己的操作系统,正是这些特点使Android成为使用最多,最受欢迎的手机平台。现阶段人们由于生活节

10、奏快,越来越多的人们注重身体的健康问题,而跑步成为健身最简单的方法,健身软件也将逐渐成为手机上的必备软件。因此,本文将设计一款符合大众健身需求的手机应用软件。1.2 论文研究的目的和意义Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,在众多手机智能平台上被广泛应用1。而Android系统最大的优势在于其开源性,这也造就了其无穷的发展潜力,开放的平台可以让任何移动终端厂商加入到到Android联盟中,也因为其开放性吸引了很多的开发者。因此,本文设计了一款基于Android平台的运动软件。在长时间的发展过程中,Android促进了互联网产业

11、的迅速成形,手机软件开发产业也应运而生,越来越多的人们开始关注此行业的发展,存在着庞大的用户群,因此Android在今后的发展中也将愈来愈重要,所以,我们要通过相应的技术来了解Android,了解开发Android人的先进理念以及思想,从而更加深入手机软件行业,更加能适应时代的需要2。1.3 论文主要研究内容本论文所设计的运动软件是针对广大运动用户所设计的,目的是为了方便运动用户锻炼身体,让用户在锻炼身体的过程中能够享受运动所带来的乐趣,同时还能够查看自己的运动过程及运动量。本软件的一大亮点在于百度鹰眼技术,能够在用户运动的过程中借助GPS、传感器信息,实现室内外高精度的连续轨迹追踪,并且支持

12、查看历史轨迹。传感器的使用是本软件的另一个亮点,本软件使用了加速度传感器来实现计步功能。1.4 论文组织结构本文分为六个章节,主要介绍如下:第一章是前言,主要介绍基于安卓平台的爱运动计步器的计步器的研究背景、研究的主要内容研究的目的和意义,让读者能够初步了解到本款软件的设计意义和本文的大体结构。第二章是相关技术介绍,通过对爱运动计步器开发所用到的安卓平台进行系统开发技术简介,使读者能够更加深入的了解安卓的一些基本知识。第三章是需求分析,本章将对软件进行可行性分析,具体将从四个方面对系统进行分析,分别是可行性分析、功能性需求分析、非功能性需求分析和面向对象分析。第四章是系统设计,将从概要设计、详

13、细设计和数据库设计来完成系统的基本轮廓,在详细设计中会先介绍系统的总体设计,然后介绍软件的各个功能模块,分别是计步模块、轨迹追踪模块、天气预报模块、音乐播放模块、闹铃模块、更换主题模块、平台分享模块、运动记录模块,在数据库分析中则是针对数据库和数据表进行分析,从而完成整个系统的设计。第五章是系统实现,本章为了让用户熟悉软件的操作将对系统实现的每个模块就行详细的介绍,同时,将展示出系统的核心代码和运行截图,让用户更能直观的了解软件的运行。第六章是测试章节,为了发现软件中的错误,需要进行一系列测试,从而满足用户的需求,测试的功能有计步模块、轨迹追踪模块、运动记录模块。2 相关技术介绍2.1 And

14、roid系统的组成Android系统的底层建立在Linux系统之上,该平台由应用程序层、应用程序框架层、系统运行库层和Linux内核四层组成,它采用层次化架构的方式进行构建,这种架构方式使得层与层之间相互分离,并明确各自的分工3。下面分别对这四部分进行简单的介绍。2.1.1 应用程序层应用程序层的全部应用程序都是由Java语言编写的,Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端、SMS短信消息程序、日历、地图、浏览器,联系人管理程序等4。2.1.2 应用程序框架层Android应用程序框架层提供了大量的API供开发者使用,帮助开发者开发出更灵活、更实用、更具

15、效率的应用程序。Android应用程序除了作为应用程序开发的基础,也是软件复用的重要手段,任何一个程序在遵守框架的预定下,都可以发布它的功能模块,然后其他应用程序就可以使用这个功能模块5。2.1.3 系统运行库层1.程序层Android包含一套被不同组件使用的C/C+库的集合,一般来说,Android应用开发者不能直接调用这套C/C+库集,但可以通过它上面的应用程序框架来调用这些库6。2.Android运行时Android运行时有两部分组成:Android核心库集和ART,其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而ART则是用户安装APP时进行预编译,将原本在程序运行时的编

16、译动作提前到应用安装时,这样可以提升APP的运行效率7。Android系统架构图如图2-1所示。图2-1 Android系统架构图2.1.4 Linux内核层Android的核心系统服务依赖于Linux2.6内核,如安全机制、内存管理、进程管理、网络、硬件驱动,Linux内核也同时作为系统硬件和软件叠层之间的抽象层8。2.2 Activity的生命周期随着不同应用的运行,每个Activity都有可能从活动状态转入到非活动状态,也有可能从非活动状态转入活动状态,归纳起来,Activity大致会经历如下4种状态9。1.运行状态:当前Activity位于前台,用户可见,可以获得焦点。2.暂停状态:其

17、他Activity位于前台,该Activity依然可见,只是不能获得焦点。3.停止状态:该Activity不可见,失去焦点。4.销毁状态:该Activity结束,或Activity所在的进程被结束。在Activity的生命周期中,如下方法被系统回调10。具体如图2-2所示。1.onCreate:创建Activity时被回调,该方法只会被调用一次。2.onStart:启动Activity时被回调。3.onRestart:重新启动Activity时被回调。4.onResume:恢复Activity时被回调。在onStart方法后一定会回调onResume。5.onPause:暂停Activity时

18、被回调。6.onStop:停止Activity时被回调。7.onDestroy:销毁Activity时被回调,该方法只会被回调一次。图2-2 Activity的生命周期图2.3 Android平台的搭建2.3.1 JDK的安装下载JDK安装包并安装JDK,按照JDK的安装提示一步一步安装,直到安装完成,这时,需要在我的电脑中配置环境变量,在这些完成之后,还需要检查环境变量配置是否成功,打开cmd窗口,输入javac,如果输出帮助信息即为配置正确,同时想要查看JDK的版本信息也可以输入java-version进行查看。2.3.2 Eclipse的安装1.首先需要打开官网,并在官网中找到Eclip

19、se并下载到本地。2.将下载到本地的eclipse解压并安装,在安装生成的文件夹中找到启动程序eclipse.exe并打开即可使用。2.3.3 Android SDK 的安装1.在Android Developers中下载最新的Android SDK文件,下载完成之后可以解压到任意路径。2.解压Android SDK文件,里面存在SDK Manager.exe和AVD Manager.exe两个应用程序,先运行SDK Manager.exe进行SDK下载。3.选择最新的Android版本,然后点击Install packages,并勾选Accept All开始下载并安装所选包。4.安装完成之后

20、,如果你选择的包在Android SDK管理界面上会显示Installed,则表示安装成功。2.3.4 ADT的安装1.打开Eclipse IDE,点击菜单栏中的Help,选中Install New Software选项,之后点击Add按钮,在弹出的对话框中输入相对应的信息,在地址栏中输入并确认。2.稍等片刻,展开Developer Tools将显示许多文件,选择Developer Tools里的所有文件,然后按提示继续下一步,这里需要耐心等待一会儿。3.完成之后,打开菜单中的ADT管理器,然后选择自己开发所需要的平台,选择完成之后,点击安装,然后在系统弹出的安装界面选择接受全部,这样就不会不

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

22、行分析,分别是可行性分析、功能性需求分析、非功能性需求分析和面向对象分析。3.1 可行性分析3.1.1 经济可行性分析随着人们生活水平和生活质量的提高,人们由于上班时间较多,身体缺乏锻炼,但是人们的健康运动意识却逐渐增强。由于平常上班时间较多,并没有太长的时间来锻炼,他们会用一些休闲时间进行锻炼,但是由于运动时间零散不利于计算自己的运动量,也就无法知道自己的健身效果。所以,在这时,拥有一款运动软件就显得非常必要了。目前市场上的计步器或多或少都会花费一些金钱,但是在Android手机上设计的这款运动软件却不需花费任何费用,只需拥有一部Android手机即可。人们在运动的过程中只需打开软件即可轻松

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

24、s文件能在任意一个安装了Java虚拟机的系统平台上运行,所以Java具有跨平台性。3.安全:从程序本身上来说,Java这种语言是安全的;从代码安全性来说,Java比较容易反编译,代码置于服务器中不能被客户直接访问;从应用程序安全性来说,Java提供了jca之类的安全框架,能给应用程序提供安全保障14。4.简单易用:书写Java的源代码并不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后对编辑好的源文件进行编译,编译完成后即可直接运行,在之后通过调试就可以得到结果15。3.1.3 操作可行分析本软件在设计中充分考虑了用户的使用习惯,为了让用户使用舒适,在软件设计的过程中,把功能模

25、块设计成菜单样式,这样,用户可以快速的在所有功能之间切换,具有很强的灵活性。现在,市场上许多软件存在广告,插件给用户带来许多困扰,本款软件不会包含任何插件和广告,将给用户最舒适的体验。3.2 功能需求分析本款软件主要包含八个功能模块,分别为:运动轨迹追踪、查看天气预报、播放本地音乐、闹钟、更换主题、计步、平台分享、运动记录。1.运动轨迹追踪:轨迹追踪是通过百度鹰眼技术技术来实现的,指的是通过GPS定位和网络Wi-Fi和基站定位,获取用户当前的位置。百度鹰眼为开发者提供了一个可视化的数据管理后台,开发者在开发的过程中可以设定轨迹刷新的请求时间,之后用户在运动的过程中,运动轨迹将会在地图上以一条带

26、颜色的线条精准的展现出来,可以方便的查看运动的范围和地点。2.查看天气预报:天气预报不需要手动设置用户的所在地,可以自动定位运动者所在的城市,并能够查看本城市今天以及以后三天的基本天气信息,包括天气情况、气温温度、能否出行、是否适合运动等信息,同时,提供了下拉刷新功能,让用户能够时刻获得最新天气信息。3.播放本地音乐:音乐播放器能够自动加载手机上所存储的音乐,有着开始、暂停上下曲切换功能按键,并能实现后台播放,不会影响用户观察界面,让用户在运动过程中还能享受音乐。4.闹钟:本软件设置闹钟功能,可以让用户设置一个闹钟,用来提醒用户起床,也可以设置成运动时间闹钟,避免在用户在运动过程中遗忘一些其他

27、重要事情,当然,用户也能开启和关闭闹钟。5.更换主题:用户在使用本软件时,不喜欢默认的主题,那么本软件还提供了除默认之外的其他九种主题,可以让用户在这些主题中根据自己的爱好,重新更换其他的主题。6.计步:用户设置好个人信息,在运动的过程中,开始计步,通过手机上的传感器可以得到用户的步数,然后通过用户设置的身高、体重和步长来测出用户运动的距离和消耗的热量,运动的步数、距离和消耗的热量这些运动数据都是在随着用户运动的状态而不断刷新的。7.平台分享:用户不仅可以自己运动,还可以呼喊自己的朋友一起来运动。在用户对自己某一天的运动满意时,可以将自己的运动数据通过QQ、贴吧、微博等第三方社交软件分享出去,

28、呼吁大家一起运动。8.运动记录:运动记录包含两个部分,一部分是计步查询,另一部分则是历史轨迹查询。在计步查询中可以查看用户最近一周的运动数据,包括每天的步数、距离和消耗的热量,在历史轨迹查询中可以查看任何一天有记录的运动轨迹。运动记录可以让用户通过对比,知道自己的运动量相比于以前是否减少。3.3 非功能性需求分析3.3.1 易用性该软件的开发采用Android软件应用风格,并且采用了Android原生组件,UI也经过精心设计,界面简单易懂,易于操作,符合大部分用户需求。用户在使用时,只需用手指在屏幕上点击、滑动即可实现功能的使用和切换。3.3.2 可靠性该软件的使用并不受时间、地点的限制,用户

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

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

31、不断更新用户运动步数,然后通过用户个人信息的身高、体重、步长计算出距离和热量,计步信息用例图如图3-3所示。图3-3 计步用例图3.4.4 系统用例分析用户在进入软件时首先需要设置个人信息,然后在之后运动时才能产生运动数据,如计步和运动轨迹等,系统将这些数据保存在数据库中,在运动过后,用户还能查看以往的运动记录,在用户使用完后,也可以进行退出软件操作。系统的总用例图如图3-4所示。图3-4 总用例图4 系统设计4.1 概要设计在设计一款软件的时候,通常会把它分为几个模块,再分为几个几个小模块,这样写出来的结构更为清晰,也更为方便管理。爱运动软件按照功能划分可为八大模块,轨迹追踪模块包含轨迹追踪

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

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

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

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

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

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

38、,运动记录实体-属性图如图4-12所示。图4-12 运动记录实体-属性图3.天气状况表包含数据项有:温度、天气、出行、运动。天气状况实体-属性图如图4-13所示。图4-13天气状况实体-属性图4. 实体包括用户个人信息、天气状况和运动记录。用户的运动信息是通过运动记录显示出来的,所以用户、天气状况和运动记录之间的关系是一对多的关系;用户查看天气状况也是一对多的关系。数据库总E-R图如图4-14所示。图4-14 数据库E-R图4.3.2 数据库概念设计及表结构用户表包含的数据项有:昵称name、身高height、体重weight、性别sex和步长steplong,如表4-1所示。表4-1 用户表

39、字段名字段类型字段描述备注nameString昵称不为空heightString身高不为空weightInt体重不为空sexInt性别不为空steplongInt步长不为空运动记录表包含的数据项有:步数step、距离distance、消耗的热量calorie,历史轨迹坐标queryHistoryTrack,如表4-2所示。表4-2运动记录表字段名字段类型字段描述备注stepInt步数不为空distanceInt距离不为空calorieFloat消耗的热量不为空queryHistoryTrackDouble历史轨迹坐标不为空天气状况表包含的数据项有:温度temperature、天气weather

40、、出行trap、运动sport,如表4-3所示。表4-3 天气状况表字段名字段类型字段描述备注temperatureString温度不为空weatherString天气不为空trapString出行不为空sportString运动不为空5 系统实现5.1 计步模块实现用户进入软件界面,可以看到一个计步器,计步模块的设计是通过定义一个ProgressBar来显示当前计步器的那个圆形滚动条,通过传感器在ProgressBar上累计步数,然后在中间设置一个TextView,用来显示用户的运动步数;再定义三个Button按钮,一个是目标步数按钮,当用户点击目标按钮时,通过事先设置好的监听出现一个Dia

41、log消息提示框,需要输入目标步数,之后输入目标步数选择确定设置成功;一个是开始计步按钮,如果用户没有输入个人信息,在设置完今日目标步数后,点击主界面的开始计步按钮就会弹出Toast,提醒用户设置个人信息,当用户输入完用户信息之后即可开始计步;一个是开始计步按钮,用户再输入用户信息后,点击按钮即可开始计步;另一个是我的轨迹按钮,可以实现轨迹追踪。同时在界面的下方,再次设置两个TextView,可以将消耗的热量和运动的距离显示出来。具体代码如下。flhprogressBar.setProgressBackgroundColor;/设置自定义ProgressBar背景颜色;flhprogressB

42、ar.setMarkerProgress;/设置进度flhupdatemView;/更新视图setflhMaxStep.setText;/设置今日最大目标final Intent flhmintent = new Intent;/设置后台跳转flhstartflhStep.setOnClickListenernew View.OnClickListener /开始计步按钮监听Overridepublic void onClick if /如果可以开始flhstartStep.setflhText;/设置按钮 TextflhIsStart = false;/是否开始标记flhsaveStepin

43、fo;/保存信息stopService;/停止后台服务 else if isflhflhAchieve /如果达到目标flhstartStep.setText;/ Toast提示您已达到今日目标Toast.makeText.show; else if /如果没有设置目标步数,会提示设置目标步数Toast.makeText.show; else if canStart = sp.getBoolean startStep.setText;isStart = true;sThread = new StepThread;sThread.start;startService; else Toast.ma

44、keText.show;setStepMax.setOnClickListenernew View.OnClickListener /设置目标监听Overridepublic void onClick showSetStepMaxDialog;/显示对话框;计步界面如图5-1所示。图5-1 计步界面图5.2 轨迹追踪模块实现用户在主界面点击我的轨迹按钮,即可进入轨迹追踪界面,此界面主要是通过百度鹰眼技术和四个Button按钮实现的。在界面下部,有两个按钮,分别为轨迹追踪和历史轨迹,在右侧有两个按钮,分别为开始和停止按钮。用户在运动时只需点击开始按钮,即可实现轨迹追踪,在用户运动的时候,可以在地

45、图上画出一条带颜色的线条,当用户运动完成之后,只需点击停止按钮,即可停止轨迹追踪。具体代码如下。public void onStart super.onStart;init;/ 初始化 initListener; / 初始化监听器 setInterval; / 设置采集周期 setRequestType; / 设置http请求协议类型 /* * 初始化 */ private void init btnStartTrace = view.findViewById; btnStopTrace = view.findViewById; btnOperator = view.findViewById;

46、 tvEntityName = view.findViewById; tvEntityName.setText; btnStartTrace.setOnClickListenernew View.OnClickListener public void onClick / TODO Auto-generated method stub Toast.makeTextgetActivity, 正在开启轨迹服务,请稍候, Toast.LENGTH_LONG.show; startTrace; ; btnStopTrace.setOnClickListenernew View.OnClickListen

47、er public void onClick / TODO Auto-generated method stub Toast.makeTextgetActivity, 正在停止轨迹服务,请稍候, Toast.LENGTH_SHORT.show; stopTrace; ; btnOperator.setOnClickListenernew View.OnClickListener public void onClick / TODO Auto-generated method stub geoFence = new GeofencegetActivity, mInflater; if geoFe

48、nce.popupwindow != null & geoFence.popupwindow.isShowing geoFence.popupwindow.dismiss; return; else geoFence.initPopupWindowView; geoFence.popupwindow.showAsDropDown; ; 轨迹追踪界面如图5-2所示。图5-2 轨迹追踪界面图5.3 音乐播放模块实现本地音乐播放模块具备一个简单的音乐播放器效果,能够显示出本地所存储的音乐文件,实现音乐的播放、暂停和上下曲切换功能,这些功能是通过定义四个Button按钮来实现的,同时,音乐播放器还具有

49、后台播放效果,具体代码如下。private void flhplayNewMusic startService;/开启音乐服务if /标记+flhcurrentItem;/下一首音乐 else if -flhcurrentItem;/上一首音乐isflhPlaying = true;/正在播放flhupdateButtonBg;/更新按钮背景flhupdateitem;/更新歌曲条目flhmusicService.playNewMusicflhlist.get.getPath;/开启新音乐flhupdateProgress;/更新进度标记flhstartListenMusic;/开始播放监听本

50、地音乐播放界面如图5-3所示。图5-3 本地音乐播放界面图5.4 闹铃模块实现闹钟可以分为三个模块,其中页面正上方是一个虚拟时钟,虚拟时钟的显示是通过AnalogClock控件来实现的;修改闹钟的时间则是通过DigitalClock控件以对话框的形式显示的;闹钟DigitalClock的开启是通过Switch开关控件来实现的。铃声为运动软件自带铃声,当到闹钟时间时,闹钟会弹出对话框,实现闹钟提醒。具体代码如下。private void flhshowDialog new AlertDialog.Builder.setTitle.setMessage.setPositiveButton确定, n

51、ew OnClickListener Overridepublic void onClick mflhPlayer.stop;/停止ShowAlarmActivity.this.finish;System.exit;/退出.myPid;/关闭进程.show;闹钟界面如图5-4所示图5-4 闹钟界面图5.5 天气预报模块实现天气模块的信息显示可以分为三部分,一部分显示天气和气温,一部分显示最近四天的天气状况,最后一块显示其他信息,这些都是通过TextView在界面显示出来的,然后通过调用中国天气网的接口来获取天气预报的数据,如天气、温度、是否适宜旅游、运动等,并将这些信息传递到textView并

52、在上面显示出来,具体代码如下。public void flhqueryFromServer String flhaddress = + X+ ,+ Y+ &output=json&ak=CEfe939d88f782787f9c234c1bb7b584;/天气信息接口地址RequestQueue mflhQueue = Volley.newRequestQueuegetApplicationContext;/请求队列StringRequest flhrequest = new StringRequestflhaddress,new Response.Listener Overridepublic

53、 void onResponse /回调相应Gson flhgson = new Gson;/Gsonfinal Status flhstatus = flhgson.fromJson;DataSupport.deleteAll;/保存删除之前的天气信息DataSupport.deleteAll;DataSupport.deleteAll;if !weatherDB.saveStatus /保存return;runOnUiThreadnew Runnable Overridepublic void run showWeather;, new Response.ErrorListener /请求

54、失败Overridepublic void onErrorResponse runOnUiThreadnew Runnable Overridepublic void run Toast.makeTextgetApplicationContext,加载数据失败!, Toast.LENGTH_SHORT.show;mQueue.add;天气预报界面如图5-5所示。图5-5 天气预报界面图5.6 平台分享模块实现在分享运动信息的时候,通过菜单的分享功能,将需要传递的运动信息通过调用手机上安装的第三方社交软件,如QQ、贴吧、微博、微信等聊天通讯软件发送给好友。具体代码如下。flhintent = new Intent;/Intent信息发送flhintent.setType;/设置类型flhintent.putExtra;/传递参数flhintent.putExtra;flhintent.setFlags;/Activity压栈类型startActivityInten

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!