基于Android平台的计步器的设计与实现.doc
《基于Android平台的计步器的设计与实现.doc》由会员分享,可在线阅读,更多相关《基于Android平台的计步器的设计与实现.doc(45页珍藏版)》请在咨信网上搜索。
(完整word)基于Android平台的计步器的设计与实现 南 阳 理 工 学 院 本科生毕业设计(论文) 学院(系): 软件学院 专 业: 软件工程 学 生: 张三 指导教师: 张三 完成日期 2016 年 04 月 南阳理工学院本科生毕业设计(论文) 基于Android平台的爱运动计步器的 设计与实现 Design and Implementation of the Loving Sports Pedometer Based on Android Platform 总 计:毕业设计(论文) 33页 表 格: 1个 图 片: 1个 南 阳 理 工 学 院 本 科 毕 业 设 计(论文) 基于Android平台的爱运动计步器的 设计与实现 Design and Implementation of the Loving Sports Pedometer Based on Android Platform 学 院(系): 软件学院 专 业: 软件工程 学 生 姓 名: 张三 学 号: 111 指导教师(职称): 张三 讲师 评 阅 教 师: 张三 完 成 日 期: 2016年04月30日 南阳理工学院 Nanyang Institute of Technology 基于Android平台的爱运动计步器的 设计与实现 软件工程 张三 [摘 要] 随着人们生活水平和生活质量的提高,人们越来越关注自己的身体健康。而跑步成为人们最受欢迎的运动方式,运动软件可以在人们锻炼身体的时候提供极大的帮助。本文针对运动轨迹和计步,设计一款基于Android平台的运动软件。本系统通过使用百度鹰眼、重力传感器和数据库技术,实现了运动轨迹追踪、计步、查看运动记录等功能。本系统界面友好,操作简单,可以稳定运行。本款运动软件适合空闲时间不足的人群,方便人们随时锻炼身体,并查看自己的运动情况。 [关键词] 运动软件;运动轨迹;Android;百度鹰眼 Design and Implementation of the Loving Sports Pedometer Based on Android Platform Software Engineering Major zhangsan Abstract: With the improvement of people’s 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 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 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 绪论 1 1。1 软件开发背景 1 1.2 论文研究的目的和意义 1 1。3 论文主要研究内容 1 1。4 论文组织结构 1 2 相关技术介绍 2 2.1 Android系统的组成 2 2。1。1 应用程序层 2 2.1.2 应用程序框架层 2 2.1。3 系统运行库层 2 2.1.4 Linux内核层 3 2。2 Activity的生命周期 3 2.3 Android平台的搭建 4 2.3。1 JDK的安装 4 2。3.2 Eclipse的安装 5 2。3。3 Android SDK 的安装 5 2。3.4 ADT的安装 5 2.3.5 创建DVD 5 3 需求分析 5 3。1 可行性分析 6 3。1.1 经济可行性分析 6 3。1。2 技术可行性分析 6 3。1。3 操作可行分析 6 3.2 功能需求分析 6 3.3 非功能性需求分析 7 3.3.1 易用性 7 3。3。2 可靠性 8 3。3.3 安全性 8 3.3。4 运行环境 8 3.4 面向对象分析 8 3。4.1 设置信息用例分析 8 3.4.2 运动记录用例分析 8 3.4.3 计步信息用例分析 9 3.4。4 系统用例分析 9 4 系统设计 10 4.1 概要设计 10 4.2 详细设计 11 4。2。1 系统总体设计 11 4.2.2 计步模块详细设计 11 4。2.3 轨迹追踪模块详细设计 12 4。2.4 音乐播放模块详细设计 13 4。2。5 闹铃模块详细设计 13 4。2。6 平台分享模块详细设计 14 4。2。7 天气预报模块详细设计 15 4.2.8 更换主题模块详细设计 15 4。2。9 运动记录模块详细设计 16 4。3 数据库设计 16 4。3。1 数据库分析 16 4。3。2 数据库概念设计及表结构 18 5 系统实现 19 5。1 计步模块实现 19 5。2 轨迹追踪模块实现 20 5.3 音乐播放模块实现 22 5.4 闹铃模块实现 22 5.5 天气预报模块实现 23 5。6 平台分享模块实现 24 5。7 更换主题模块实现 25 5.8 运动记录模块实现 26 6 测试 28 6。1 计步模块测试 28 6。2 轨迹追踪模块测试 29 6。3 运动记录模块测试 30 结束语 31 参考文献 32 致谢 33 1 绪论 1.1 软件开发背景 随着人们生活水平和生活质量的提高,人们在日常通讯、娱乐的过程中越来越多的使用手机,但是随着手机的不断更新,人们也对手机的要求越来越高,也越来越关注手机的高层服务和各种应用。现如今随着手机市场的发展,手机也出现了各种不同的操作系统,而最流行的则是Android操作系统,它是一个开放源码,并且是以Linux为基础的操作系统,它具有开放性的特点,开发者可以在Android平台上使用最流行的Java语言来定制自己的操作系统,正是这些特点使Android成为使用最多,最受欢迎的手机平台。现阶段人们由于生活节奏快,越来越多的人们注重身体的健康问题,而跑步成为健身最简单的方法,健身软件也将逐渐成为手机上的必备软件。因此,本文将设计一款符合大众健身需求的手机应用软件. 1.2 论文研究的目的和意义 Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,在众多手机智能平台上被广泛应用[1].而Android系统最大的优势在于其开源性,这也造就了其无穷的发展潜力,开放的平台可以让任何移动终端厂商加入到到Android联盟中,也因为其开放性吸引了很多的开发者。因此,本文设计了一款基于Android平台的运动软件。 在长时间的发展过程中,Android促进了互联网产业的迅速成形,手机软件开发产业也应运而生,越来越多的人们开始关注此行业的发展,存在着庞大的用户群,因此Android在今后的发展中也将愈来愈重要,所以,我们要通过相应的技术来了解Android,了解开发Android人的先进理念以及思想,从而更加深入手机软件行业,更加能适应时代的需要[2]. 1.3 论文主要研究内容 本论文所设计的运动软件是针对广大运动用户所设计的,目的是为了方便运动用户锻炼身体,让用户在锻炼身体的过程中能够享受运动所带来的乐趣,同时还能够查看自己的运动过程及运动量。本软件的一大亮点在于百度鹰眼技术,能够在用户运动的过程中借助GPS、传感器信息,实现室内外高精度的连续轨迹追踪,并且支持查看历史轨迹。传感器的使用是本软件的另一个亮点,本软件使用了加速度传感器来实现计步功能. 1.4 论文组织结构 本文分为六个章节,主要介绍如下: 第一章是前言,主要介绍基于安卓平台的爱运动计步器的计步器的研究背景、研究的主要内容研究的目的和意义,让读者能够初步了解到本款软件的设计意义和本文的大体结构. 第二章是相关技术介绍,通过对爱运动计步器开发所用到的安卓平台进行系统开发技术简介,使读者能够更加深入的了解安卓的一些基本知识。 第三章是需求分析,本章将对软件进行可行性分析,具体将从四个方面对系统进行分析,分别是可行性分析、功能性需求分析、非功能性需求分析和面向对象分析. 第四章是系统设计,将从概要设计、详细设计和数据库设计来完成系统的基本轮廓,在详细设计中会先介绍系统的总体设计,然后介绍软件的各个功能模块,分别是计步模块、轨迹追踪模块、天气预报模块、音乐播放模块、闹铃模块、更换主题模块、平台分享模块、运动记录模块,在数据库分析中则是针对数据库和数据表进行分析,从而完成整个系统的设计。 第五章是系统实现,本章为了让用户熟悉软件的操作将对系统实现的每个模块就行详细的介绍,同时,将展示出系统的核心代码和运行截图,让用户更能直观的了解软件的运行。 第六章是测试章节,为了发现软件中的错误,需要进行一系列测试,从而满足用户的需求,测试的功能有计步模块、轨迹追踪模块、运动记录模块。 2 相关技术介绍 2.1 Android系统的组成 Android系统的底层建立在Linux系统之上,该平台由应用程序层、应用程序框架层、系统运行库层和Linux内核四层组成,它采用层次化架构的方式进行构建,这种架构方式使得层与层之间相互分离,并明确各自的分工[3].下面分别对这四部分进行简单的介绍。 2.1.1 应用程序层 应用程序层的全部应用程序都是由Java语言编写的,Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端、SMS短信消息程序、日历、地图、浏览器,联系人管理程序等[4]. 2.1.2 应用程序框架层 Android应用程序框架层提供了大量的API供开发者使用,帮助开发者开发出更灵活、更实用、更具效率的应用程序。Android应用程序除了作为应用程序开发的基础,也是软件复用的重要手段,任何一个程序在遵守框架的预定下,都可以发布它的功能模块,然后其他应用程序就可以使用这个功能模块[5]。 2.1.3 系统运行库层 1.程序层 Android包含一套被不同组件使用的C/C++库的集合,一般来说,Android应用开发者不能直接调用这套C/C++库集,但可以通过它上面的应用程序框架来调用这些库[6]。 2.Android运行时 Android运行时有两部分组成:Android核心库集和ART,其中核心库集提供了Java语言核心库所能使用的绝大部分功能,而ART则是用户安装APP时进行预编译,将原本在程序运行时的编译动作提前到应用安装时,这样可以提升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.暂停状态:其他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时被回调. 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.首先需要打开官网http://www.eclipse.org/,并在官网中找到Eclipse并下载到本地。 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。安装完成之后,如果你选择的包在Android SDK管理界面上会显示Installed,则表示安装成功。 2.3.4 ADT的安装 1.打开Eclipse IDE,点击菜单栏中的Help,选中Install New Software选项,之后点击Add按钮,在弹出的对话框中输入相对应的信息,在地址栏中输入http://dl—ssl。google。com/android/eclipse并确认. 2.稍等片刻,展开Developer Tools将显示许多文件,选择Developer Tools里的所有文件,然后按提示继续下一步,这里需要耐心等待一会儿. 3。完成之后,打开菜单中的ADT管理器,然后选择自己开发所需要的平台,选择完成之后,点击安装,然后在系统弹出的安装界面选择接受全部,这样就不会不断提示安装了,最后,等待安装完成即可。 2.3.5 创建DVD 打开安卓虚拟设备管理器,即 AVD Manager。点击图中的New按钮新建安卓模拟器设备[11]。在下一界面设置安卓模拟器的详细设备参数,包括内存大小等。所有设置完成后,点击OK按钮保存设置并关闭设置窗体.然后就能够启动新建的Android模拟器了,点击选中新建的的虚拟器,然后在新窗体中启动此模拟器。 3 需求分析 在软件设计中,需求分析是很重要的一个环节, 它是在系统调查的基础之上,对应用的必要性和可能性进行系统的分析和研究,而它的目的在于,在最短的时间内决定能否用最小的代价解决问题。本节将软件的功能和需求进行分析,具体将从四个方面对系统进行分析,分别是可行性分析、功能性需求分析、非功能性需求分析和面向对象分析。 3.1 可行性分析 3.1.1 经济可行性分析 随着人们生活水平和生活质量的提高,人们由于上班时间较多,身体缺乏锻炼,但是人们的健康运动意识却逐渐增强。由于平常上班时间较多,并没有太长的时间来锻炼,他们会用一些休闲时间进行锻炼,但是由于运动时间零散不利于计算自己的运动量,也就无法知道自己的健身效果。所以,在这时,拥有一款运动软件就显得非常必要了。 目前市场上的计步器或多或少都会花费一些金钱,但是在Android手机上设计的这款运动软件却不需花费任何费用,只需拥有一部Android手机即可。人们在运动的过程中只需打开软件即可轻松获取用户的运动信息,并且不受时间和地点的限制,可以充分利用人们的空闲时间帮助锻炼。 3.1.2 技术可行性分析 本款软件开发只需一台安装有Windows系统的电脑,在电脑上安装开发工具JavaSDk、AndroidSDK、ADT和Eclipse即可,因此硬件条件并不高[12].本款软件编写主要采用Java语言,Java语言具有以下的优点: 1。面向对象:Java是一个纯的面向对象程序设计语言,面向对象技术处理发杂的应用程序会变得非常简单,远非其他方法所能比拟,同时还能节省许多代码[13]。 2.跨平台性:Java在主流操作系统中实现了虚拟机,而每个系统的虚拟机编译出的。class文件都是统一的,这个.class文件能在任意一个安装了Java虚拟机的系统平台上运行,所以Java具有跨平台性。 3。安全:从程序本身上来说,Java这种语言是安全的;从代码安全性来说,Java比较容易反编译,代码置于服务器中不能被客户直接访问;从应用程序安全性来说,Java提供了jca之类的安全框架,能给应用程序提供安全保障[14]。 4.简单易用:书写Java的源代码并不拘泥于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后对编辑好的源文件进行编译,编译完成后即可直接运行,在之后通过调试就可以得到结果[15]. 3.1.3 操作可行分析 本软件在设计中充分考虑了用户的使用习惯,为了让用户使用舒适,在软件设计的过程中,把功能模块设计成菜单样式,这样,用户可以快速的在所有功能之间切换,具有很强的灵活性.现在,市场上许多软件存在广告,插件给用户带来许多困扰,本款软件不会包含任何插件和广告,将给用户最舒适的体验。 3.2 功能需求分析 本款软件主要包含八个功能模块,分别为:运动轨迹追踪、查看天气预报、播放本地音乐、闹钟、更换主题、计步、平台分享、运动记录。 1.运动轨迹追踪:轨迹追踪是通过百度鹰眼技术技术来实现的,指的是通过GPS定位和网络(Wi—Fi和基站)定位,获取用户当前的位置。百度鹰眼为开发者提供了一个可视化的数据管理后台,开发者在开发的过程中可以设定轨迹刷新的请求时间,之后用户在运动的过程中,运动轨迹将会在地图上以一条带颜色的线条精准的展现出来,可以方便的查看运动的范围和地点。 2.查看天气预报:天气预报不需要手动设置用户的所在地,可以自动定位运动者所在的城市,并能够查看本城市今天以及以后三天的基本天气信息,包括天气情况、气温温度、能否出行、是否适合运动等信息,同时,提供了下拉刷新功能,让用户能够时刻获得最新天气信息。 3。播放本地音乐:音乐播放器能够自动加载手机上所存储的音乐,有着开始、暂停上下曲切换功能按键,并能实现后台播放,不会影响用户观察界面,让用户在运动过程中还能享受音乐。 4.闹钟:本软件设置闹钟功能,可以让用户设置一个闹钟,用来提醒用户起床,也可以设置成运动时间闹钟,避免在用户在运动过程中遗忘一些其他重要事情,当然,用户也能开启和关闭闹钟. 5.更换主题:用户在使用本软件时,不喜欢默认的主题,那么本软件还提供了除默认之外的其他九种主题,可以让用户在这些主题中根据自己的爱好,重新更换其他的主题。 6。计步:用户设置好个人信息,在运动的过程中,开始计步,通过手机上的传感器可以得到用户的步数,然后通过用户设置的身高、体重和步长来测出用户运动的距离和消耗的热量,运动的步数、距离和消耗的热量这些运动数据都是在随着用户运动的状态而不断刷新的。 7.平台分享:用户不仅可以自己运动,还可以呼喊自己的朋友一起来运动。在用户对自己某一天的运动满意时,可以将自己的运动数据通过QQ、贴吧、微博等第三方社交软件分享出去,呼吁大家一起运动。 8.运动记录:运动记录包含两个部分,一部分是计步查询,另一部分则是历史轨迹查询。在计步查询中可以查看用户最近一周的运动数据,包括每天的步数、距离和消耗的热量,在历史轨迹查询中可以查看任何一天有记录的运动轨迹。运动记录可以让用户通过对比,知道自己的运动量相比于以前是否减少。 3.3 非功能性需求分析 3.3.1 易用性 该软件的开发采用Android软件应用风格,并且采用了Android原生组件,UI也经过精心设计,界面简单易懂,易于操作,符合大部分用户需求。用户在使用时,只需用手指在屏幕上点击、滑动即可实现功能的使用和切换. 3.3.2 可靠性 该软件的使用并不受时间、地点的限制,用户可以在任何时间使用本款软件。当系统故障或断电情况下,用户不必担心数据的丢失,只需再次启用软件,就能够正常使用,不会影响用户体验。 3.3.3 安全性 用户在使用本款软件时,完全不必担心信息的泄密,在开发完成时使用了软件加密来防止软件的破解,而且本款软件也不会再运行的过程中收集用户的信息,因此,用户可以放心使用。 3.3.4 运行环境 本软件适用于4.0版本以上的Android系统,对于以后的开发还具有很大的空间,而且软件运行速度快,给用户提供流畅感,在用户使用时,也不必担心数据流量和电量的消耗,这些都将在用户可接受范围内。 3.4 面向对象分析 面向对象采用了用例来描述系统的需求,通过用户使用阮籍你的过程,来体现系统所拥有的功能,用户与系统之间的交互既体现了系统所拥有的功能。 3.4.1 设置信息用例分析 用户想要使用计步功能需在菜单个人信息中输入自己的一些信息,用户信息包含身高、体重、性别、昵称、目标步数这几项,用户设置信息用例图如图3-1所示. 图3-1 用户设置信息用例图 3.4.2 运动记录用例分析 用户运动的过程中,所产生的运动数据会不断储存在数据库中,运动记录信息包含了历史轨迹、步数、距离和消耗的热量这4项,运动记录信息用例图如图3-2所示. 图3—2 用户运动记录用例图 3.4.3 计步信息用例分析 当用户开始运动时,计步功能就实现了,计步信息包括了计算步数、计算距离和计算消耗的热量,计算步数将不断更新用户运动步数,然后通过用户个人信息的身高、体重、步长计算出距离和热量,计步信息用例图如图3-3所示。 图3—3 计步用例图 3.4.4 系统用例分析 用户在进入软件时首先需要设置个人信息,然后在之后运动时才能产生运动数据,如计步和运动轨迹等,系统将这些数据保存在数据库中,在运动过后,用户还能查看以往的运动记录,在用户使用完后,也可以进行退出软件操作。系统的总用例图如图3-4所示。 图3—4 总用例图 4 系统设计 4.1 概要设计 在设计一款软件的时候,通常会把它分为几个模块,再分为几个几个小模块,这样写出来的结构更为清晰,也更为方便管理。爱运动软件按照功能划分可为八大模块,轨迹追踪模块包含轨迹追踪;天气预报模块包含城市天气预报;音乐播放模块包含播放本地所存储的全部音乐;闹钟模块包含定时闹钟;更换主题模块包含设置主题;计步模块包含设置目标步数和计步;平台分享模块包括一键分享;运动记录模块包括步数统计、热量统计、距离统计、轨迹查询。功能模块图如图4-1所示。 图4-1 软件功能模块图 4.2 详细设计 4.2.1 系统总体设计 用户进入系统主界面,可以在计步器中先设置自己今天的目标步数,然后选择是否开始计步,如果想要开始计步还要输入自己的个人信息,如果不开始计步,则可以通过侧滑打开左侧菜单栏选择其他的功能,如轨迹追踪、查看天气预报、本地音乐音乐播放、闹钟设置、更换主题、平台分享、查看运动记录。系统总流程图如图4—2所示。 图4—2 系统总流程图 4.2.2 计步模块详细设计 在开始计步之前,用户首先要输入自己个人信息,包括身高、体重、步长等信息,还需要输入自己的目标步数,当这些信息输入完成之后,用户就可以点击主界面的开始按钮进行计步功能,否则,无法开始计步。通过传感器来实现计步功能,同时,可以根据用户的身高、体重等个人信息计算得出用户运动的距离以及消耗的热量.计步模块流程图如图4-3所示。 图4—3 计步模块流程图 4.2.3 轨迹追踪模块详细设计 轨迹追踪显示的是百度鹰眼的地图界面,当用户准备开始运动时,点击开始按钮,百度鹰眼就会随着运动者的运动生成相对应的运动轨迹,并且以一条带颜色的线条来显示出来.当用户在运动完之后,只需点击停止按钮,就会停止轨迹追踪,并保存运动轨迹,方便以后查询.轨迹模块流程图如图4-4所示。 图4—4 轨迹模块流程图 4.2.4 音乐播放模块详细设计 用户可以在音乐播放器中播放本地所存储的全部音乐,音乐播放器具备播放、暂停、上下切换歌曲、显示进度条、后台播放等功能。用户可以在音乐列表中选择自己喜欢的音乐,点击即可播放,同时还能切换到后台播放模式。音乐播放模块流程图如图4—5所示。 图4—5 音乐播放模块流程图 4.2.5 闹铃模块详细设计 本系统提供了闹钟功能,在脑中界面会给显示一个虚拟时钟、闹钟的设定时间以及闹钟的开关按钮。用户可以根据自己的习惯来更改闹钟,也可以在运动的过程中来提醒自己,当设定的闹钟时间到之后,闹钟就会循环播放一个存储在本地的音频文件来提醒用户,当然,如果用户不想使用闹钟,也可以通过开关按钮来关闭闹钟,关闭之后,就不会有闹钟提醒用户。闹钟模块流程图如图4—6所示。 图4-6 闹钟模块流程图 4.2.6 平台分享模块详细设计 用户可以通过QQ、贴吧、微博和微信等其他第三方社交软件把自己一天的运动信息分享给朋友,选择哪个分享方式,就会跳转到哪个软件上面。平台分享模块流程图如图4-7所示。 图4-7 平台分享模块流程图 4.2.7 天气预报模块详细设计 用户通过系统提供的天气预报功能能够查看用户所在地的天气状况、温度、旅行等信息,免去用户输入城市的繁琐项。当用户查看完后,点击返回按钮就能返回到主界面。天气预报模块流程图如图4—8所示。 图4—8 天气预报模块流程图 4.2.8 更换主题模块详细设计 在更换主题界面存有一些主题图片,用户可以在这些主题中选择一款自己喜欢的来更换默认主题。更换主题模块流程图如图4-9所示。 图4—9 更换主题流程图 4.2.9 运动记录模块详细设计 查看运动记录分为两种,一种是历史轨迹查询,另一种是步数、距离查询.如果想查看历史轨迹,点击历史轨迹按钮就能查看用户最近一天的历史轨迹,如果想要查看其他日期的历史轨迹,只需在右上角点击日期按钮,然后选择想要查看的日期,就能查看当天的运动轨迹;如果想要查看步数、距离,只需从主界面进入左侧菜单栏选项,选择左边运动记录按钮,就能查看这一周每天的步数、距离和热量。运动记录模块的流程图如图4—10所示。 图4—10 运动记录模块流程图 4.3 数据库设计 针对用户的使用情况和应用的具体信息,设计相对应的数据库。本节主要是对服务器的数据库设计,主要从两个方面来分析,分别是数据库分析和数据库概念设计及表结构。 4.3.1 数据库分析 1.用户的信息表包括数据项:昵称、身高、体重、性别和步长。用户实体-属性图如图4-11所示. 图4-11 用户实体—属性图 2。运动记录信息表包括数据项有两部分,一部分为轨迹查询,另一部分为计步查询。轨迹查询表包括数据项:历史轨迹坐标;计步查询表包括数据项:步数、距离、热量消耗,运动记录实体-属性图如图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 用户表 字段名 字段类型 字段描述 备注 name String 昵称 不为空 height String 身高 不为空 weight Int 体重 不为空 sex Int 性别 不为空 steplong Int 步长 不为空 运动记录表包含的数据项有:步数step、距离distance、消耗的热量calorie,历史轨迹坐标queryHistoryTrack,如表4-2所示。 表4—2 运动记录表 字段名 字段类型 字段描述 备注 step Int 步数 不为空 distance Int 距离 不为空 calorie Float 消耗的热量 不为空 queryHistoryTrack Double 历史轨迹坐标 不为空 天气状况表包含的数据项有:温度temperature、天气weather、出行trap、运动sport,如表4-3所示。 表4—3 天气状况表 字段名 字段类型 字段描述 备注 temperature String 温度 不为空 weather String 天气 不为空 trap String 出行 不为空 sport String 运动 不为空 5 系统实现 5.1 计步模块实现 用户进入软件界面,可以看到一个计步器,计步模块的设计是通过定义一个ProgressBar来显示当前计步器的那个圆形滚动条,通过传感器在ProgressBar上累计步数,然后在中间设置一个TextView,用来显示用户的运动步数;再定义三个Button按钮,一个是目标步数按钮,当用户点击目标按钮时,通过事先设置好的监听出现一个Dialog消息提示框,需要输入目标步数,之后输入目标步数选择确定设置成功;一个是开始计步按钮,如果用户没有输入个人信息,在设置完今日目标步数后,点击主界面的开始计步按钮就会弹出Toast,提醒用户设置个人信息,当用户输入完用户信息之后即可开始计步;一个是开始计步按钮,用户再输入用户信息后,点击按钮即可开始计步;另一个是我的轨迹按钮,可以实现轨迹追踪。同时在界面的下方,再次设置两个TextView,可以将消耗的热量和运动的距离显示出来。具体代码如下。 flhprogressBar.setProgressBackgroundColor(0xFF7F8AA5);//设置自定义ProgressBar背景颜色; flhprogressBar。setMarkerProgress(1f);//设置进度 flhupdatemView();//更新视图 setflhMaxStep.setText(”今日目标:” + flhtoday_step_max);//设置今日最大目标 final Intent flhmintent = new Intent(flhMainActivity.this, flhStepService.class);//设置后台跳转 flhstartflhStep.setOnClickListener(new View.OnClickListener() {//开始计步按钮监听 @Override public void onClick(View v) { if (flhisflhStart) {//如果可以开始 flhstartStep.setflhText("开始计步");//设置按钮 Text flhIsStart = false;//是否开始标记 flhsaveStepinfo();//保存信息 stopService(intent);//停止后台服务 } else { if (isflhflhAchieve()) {//如果达到目标 flhstartStep。setText("开始计步");// Toast提示您已达到今日目标 Toast。makeText(MainActivity。this, "你已达到今日目标" Toast.LENGTH_SHORT)。show(); } else if (flhtoday_step_max == 0) {//如果没有设置目标步数,会提示设置目标步数 Toast.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(); } }- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 平台 计步器 设计 实现
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【a199****6536】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【a199****6536】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文