基于android的手机计步器设计与实现.docx
- 文档编号:7632336
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:35
- 大小:829.76KB
基于android的手机计步器设计与实现.docx
《基于android的手机计步器设计与实现.docx》由会员分享,可在线阅读,更多相关《基于android的手机计步器设计与实现.docx(35页珍藏版)》请在冰豆网上搜索。
基于android的手机计步器设计与实现
基于android的手机计步器设计与实现
计算机科学与技术专业 XX
[摘 要]随着智能手机逐步的走入人们的生活,目前其已经成为了当今最主要的通信和娱乐工具,其中Android就是众多智能机操作系统中最主要的一个。
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
本软件就是搭载Android平台的一款小型应用,帮助用户随时随地的记录和了解自身的运动情况、锻炼成效。
该应用使用Java语言,利用Eclipse开发工具开发完成。
根据加速度传感器传出的信息,该软件能够通过下面的方法,算出用户所走的步数,速度,距离以及消耗的热量:
该软件分为两种单位千米和英里。
用户首先在设置里选择单位并输入步长(厘米/英寸)和体重(千克/英镑),然后系统根据一定的计算公式算出个参数,最后将内容显示给用户以帮助用户达到更好的健身效果。
[关键词]智能手机;Android;计步器;加速度传感器
DesignandImplementationofMobilePhonePedometerbasedonAndroid
ComputerScienceandTechnologyMajor XX
Abstract:
Withtheintelligentmobilephonegraduallyintopeople'slives,ithasbecomethemostimportantcommunicationandentertainmenttool,andAndroidisthemainoneinmanysmartmobilephoneoperatingsystem.AndroidisanoperatingsystembasedLinuxoffreeandopensourcecode,mainlyusedinmobiledevices,suchassmartmobilephoneandtabletcomputer,leadershipanddevelopmentbytheGoogleandopenmobilephoneAlliance.ThissoftwareisasmallapplicationequippedwiththeAndroidplatform,helptheuserwheneverandwhereverpossibletodocumentandunderstandtheirownexercise,exerciseperformance.Theapplicationiswritteninthejavaprogramminglanguage,andutilizationofEclipsedevelopmenttools.Accordingtotheinformationoutgoingfromaccelerationsensor,thissoftwarecanthroughthefollowingmethodsworksoutthenumberofstepout,walkingspeed,distance,caloriesconsumedofusers:
thesoftwarecontainstwounits,kilometersandmiles.Theuserfirstselectionunitandinputsteplength(cm/inch)andweight(kg/pounds),Thenthesystemwillcalculatestheparametersaccordingtoacertainformula.LastThecontentisdisplayedtotheuserinordertohelptheusertoachievebetterhealtheffects.
Keywords:
Intelligentmobilephone;Android;Pedometer;Theaccelerationsensor
目 录
1绪论
1.1研究背景
随着无线通信技术的发展智能手机走上了历史舞台。
智能手机的诞生,是由掌上电脑演变而来的。
最早的掌上电脑是不具备手机的通话功能,但是随着用户对掌上电脑的个人信息处理方面功能的依赖的提升,又不能同时携带手机和电脑出门,所以厂商将掌上电脑的系统移植到了手机中,于是才出现了智能手机这个概念。
智能手机具有独立的操作系统,独立的运行空间,可以由用户自行安装软件具有很强的扩展性。
Android就是在此时应运而生。
它是一套真正意义上的开放性移动设备综合平台,包括操作系统、中间件和一些关键的平台应用。
Android操作系统最初是由AndyRubin开发,主要支持手机。
2005年8月由Google收购注资。
2007年11月,Google以Apache开源许可证授权方式,发布了Android的源代码。
第一部Android智能手机发布于2008年10月。
如今Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。
Android以其特有的开放性优势越来越受到人们和智能手机开发商的关注,并吸引了大量的第三方开发者加入,本次设计运用Android平台手机作为研究开发对象,配合Java语言程序设计以及面向对象思想设计了这一款手机计步器App。
1.2Android平台的发展状况
Android一词的本义指“机器人”,该平台由操作系统、中间件、用户界面和应用软件组成。
从2008年推出到现在Android正以前所未有的速度聚集着来自世界各地的开发者,越来越多的创意被应用到Android应用程序的开发中,大有席卷整个手机产业的趋势。
2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。
2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。
2013年09月24日谷歌开发的操作系统Android迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
未来的智能机市场不可能一家独大,并且Android系统本身也存在着很多问题,但是从其设计的亲和性和为大众所接受的价格来看谷歌的Android平台依然有着巨大的发展机遇。
除了苹果之外,其他的平台在短期内鲜有Android的竞争对手。
1.3研究的目的和意义
Android平台对于Google和用户的意义不在于手机本身,而在于为了推动移动互联网产业链的迅速成型。
具有开源性的Android手机平台与之前Symbian、windowsmobile等操作系统不同,它们收取高额的授权费用,而Android不需要,这样使得应用开发成本大大降低;也正是由于它的源代码是开放的,使得开发者可以随心所欲的开发应用。
同时,手机生产商和软件开发商也能够在这里得到利润,手机软件得到有效的维护协调发展。
这正是Google发布Android平台的意义,也是Android平台的使命所在。
同时目前搭载Android平台的应用有很多,但针对传感器而开发的应用市场上还不多见。
本应用正是针对Android手机内置的加速度传感器而特别设计的应用。
所以鉴于移动端应用开发是目前软件开发行业正在兴起并会越来越炙手可热的一个分支,并且针对传感器的开发相对空白我选择了研究此课题。
2相关技术简介
本部分主要介绍该项目所用到的开发工具,Android开发中主要组件,以及开发环境的搭建。
2.1开发工具
2.1.1JavaDevelopmentkit(JDK)介绍
JDK是Java语言的软件开发工具包。
本应用用的是JDK的J2ME版,它主要用于移动设备、嵌入式设备上的Java应用程序。
没有JDK的话,无法编译Java程序,所以这是开发Java程序必须安装的工具。
2.1.2AndroidSDK介绍
SDK(softwaredevelopmentkit)软件开发工具包。
被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。
因此,AndroidSDK指的是Android专属的软件开发工具包。
2.1.3Eclipse开发工具介绍
Eclipse是一个开放源代码的、基于插件的可扩展性平台。
也可以说它只是一个框架和一组服务,用于通过插件组件构建开发环境。
Eclipse附带了一些标准的插件集,包括Java开发工具(JDK)。
本次应用就是将Eclipse当作Java集成开发环境来使用,但是它的作用并不仅仅如此。
由于Eclipse中的每样东西都是插件,所以只要有插件就可以使用它,因而不仅仅是Java语言,C/C++、PHP等语言也可以使用Eclipse。
2.1.4AndroidDevelopmentTools(ADT)介绍
目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。
ADT扩展了Eclipse的功能,让我们能快速建立新的Android项目、创建应用程序的用户界面。
它可以帮助Eclipse找到AndroidSDK,再加上Android框架的API组件调试使用AndroidSDK工具,以便APK分发给应用程序。
同时大大减轻了Android应用程序的开发工作量,工具集成XML编辑器,将给开发者一个令人难以置信的开发Android应用环境。
当然如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。
2.2Android开发常用到的技术
2.2.1Activity
Activity是Android应用程序开发中最重要的组件。
一个Activity提供一个屏幕,用户可以用来交互以完成某项任务,例如点击、拍照、拨号等。
它是用户与应用交互的直接且最重要的组件。
下面我就说说Activity的生命周期。
Activity生命周期可以用几个函数说明:
onCreate():
Activity开始创建时调用;
onStart():
在Activity开始执行时调用,这时Activity已经可见;
onResume():
在Activity获得用户焦点时调用,此时Activity可以和用户交;
onPause():
在Activity被暂停时调用,失去用户焦点,但没有被摧毁;
onStop():
在Activity被停止时调用,此时Activity已经不可见,但仍然没有被摧毁;
onRestart():
在Activity被重新启动时调用;
onDestory():
在Activity被彻底摧毁时调用。
下面用一张图来解释Activity的生命周期在各函数之间的跳转。
如图2-1:
图2-1Activity的生命周期图
2.2.2Service
一个Service是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。
一个很好的例子就是用手机在播放音乐时,用户可以进行其它应用的活动而此时并没有播放音乐的界面,但是音乐在后台播放并不受影响,这就是Service的功劳。
还有就是闹钟提醒,当你设置好闹钟后并不需要一直显示在闹钟那个界面,甚至手机也可以关掉但是只要时间到了,闹钟依然可以提醒,这也是Service的作用。
2.2.3ContentProvider内容提供者
android平台提供了ContentProvider,它是一个应用程序的指定数据集提供数据给其他应用程序。
这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式。
本文用到了文件存储和SharedPreferences的存储方式。
文件存储大家都很熟悉,就是以文件为操作对象,向文件中写入或读取数据。
SharedPreferences可以将数据保存到应用程序的私有存储区,这些存储区中的数据只能被写入这些数据的软件读取。
它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。
例如:
登陆时用到的用户名和密码。
2.2.4Intent信使
Intent也是Android开发者比较重要的一部分,它主要用来解决Android应用的各项组件之间的通讯,被称为Android应用中的信使。
Intent负责对应用中一次操作的动作、动作涉及数据、附加数据进行描述,Android则根据此Intent的描述,负责找到对应的组件,将Intent传递给调用的组件,并完成组件的调用。
所以它常被用来启动一个Activity或Service,例如当从一个Activity启动另一个Activity时,可以这样操作,Intentintent=newIntent();intent.setClass(startActivity.this,s
econdActivity.class);this.startActivity(intent)。
2.3Android手机加速度传感器的介绍
Android平台的加速度传感器是Android基于硬件的传感器,它能够有效的跟踪手机、电脑等移动设备的运动状况,在移动设备上应用普及。
我们手机加速度传感器感应加速度的方向大致如图2-2。
X表示左右移动的加速度、Y表示前后移动的加速度、Z表示垂直方向的加速度。
图2-2加速度传感器感应方向
只要三个轴的加速度值有一个发生了改变传感器就会输出信息。
2.4开发环境的搭建
首先要有一台安装有Windows系统的计算机,接下来就是安装过程。
2.4.1安装JDK
下载JDK,在这里
1.我的电脑—>属性—>环境变量—>系统变量;
2.JAVA_HOME值为:
D:
\ProgramFiles\jdk(你安装JDK的目录);
3.CLASSPATH值为:
;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
%JAVA_HOME\bin;
4.Path:
在开始追加%JAVA_HOME\bin;
如果安装成功,打开cmd窗口,输入java--version会出现如图2-3显示的信息
图2-3JDK安装成功提示信息
2.4.2Eclipse安装
下载Eclipse,这里是网址http:
//www.eclipse.org/downloads/解压后即可使用。
2.4.3AndroidSDK安装
在AndroidDevelopers下载最新版本的压缩包,下载完成后解压到任意路径,运行SDKSetup.exe。
选定你要安装的内容。
这里也需要配置环境变量,在用户变量中新建PATH值为:
AndroidSDK中的tools绝对路径。
“确定”后,重启计算机。
重启后,进入cmd命令窗口。
输入android-h如果有如图2-4类似的输出则表示安装成功。
图2-4AndroidSDK安装成功提示信息
2.4.4ADT安装
打开EclipseIDE,点击菜单中的“Help”然后点击“InstallNewSoftware”,再点击Add...按钮,这时会弹出一个对话框要求输入,Name和Location:
Name项可以自己随便填取,Location输入http:
//dl-with后的下拉列表中选择我们刚才添加的ADT,我们会看到下面出有DeveloperTools,展开它会有AndroidDDMS和AndroidDevelopmentTool,选定他们。
然后按要求一步一步next,完成之后,这个过程可能会很慢。
这取决于网络环境。
最后选择Window->Preferences...在左边的面板选择Android,然后再右侧点击Browse,并选中SDK路径。
点击Apply,到此就配置完成了。
3Android手机计步器的需求分析
3.1本文可行性分析
可行性分析也称为可行性研究,是在系统调查的基础上,针对刚开始开发打算进一步应用的系统的必要性和可能性的分析和研究。
可行性研究的目的主要在于,用最小的代价在尽可能短的时间内确定问题是否能够解决。
3.1.1经济可行性
随着人们生活水平的提高,现代科技越来越发达,能够让人们必须亲自动手做的事情逐步减少,因而人们的锻炼机会越来越少。
再加上物质条件的不断改善人们的饮食越来越丰富。
因此多数人已经出现了营养过剩的现象,这将会使人们的身体机能受到影响。
本款软件就是以此为起点而构想设计的。
使用本款软件不需要付任何费用,只要有一部Android手机安装就可。
同时对其的开发也是在经济允许的范围之内的,一台安装有windows系统的电脑(机房),在电脑上安装JavaSDK、AndroidSDK、ADT和Eclipse开发工具即可,期间不需要花费任何费用。
并且本APP可以督促人们尽量选择多运动,只要打开软件,走路,你就会发现你随时随地都在锻炼。
这样上班距离较近的话人们就会选择走路,上楼时会选择爬楼梯而不是坐电梯。
这样不仅有利于人们的身体健康而且也帮助减少了机动车辆的出行,节约了能源。
3.1.2技术可行性
开发工具:
Eclipse
数据存储环境:
文件,Android系统内置的SharedPreference
系统环境:
MicrosoftWindowsXP或Windows7
开发本软件的软硬件条件都是具备的,并且本人能够熟练的使用以上开发工具,所以开发该软件的技术条件是完全具备的。
3.2Android手机计步器功能需求
本款软件是针对Android平台下手机客户端的应用,所以美观简洁的界面以及良好的交互效果是该类应用必须要重视的。
所以在这里我将其功能按界面做了划分。
该计步器分为这样几个界面:
主界面,采用SlidingMenu侧滑栏效果包含了3个Fragment。
分别包括,中间部分:
用户可以在本界面选择开始计步和保存计步记录;左边部分:
这里有计步记录、开始体验和设置的入口;右边部分:
这里有检查更新和进行分享的入口。
历史界面:
用于显示用户的计步历史,包括保存时间以及各项运动指数。
设置界面:
用于供用户设置计步器中各项设置项,包括感应灵敏度、运行层面、长度单位、步长、体重等。
分享界面:
用户可以将下载该APP的网址以及评价发送到腾讯微博、新浪微博或QQ空间中。
本节将通过用例图分别对这几个界面进行功能需求分析。
3.2.1主界面需求分析
本界面是该应用的主要界面,囊括了其它界面的入口以及计步器主要功能:
计步和保存。
该界面采用SlidingMenu界面框架,这是一个比较新的界面效果。
在主界面左滑和右滑分别会出现另外两个界面,并和主界面共享屏幕,美观且操作方便。
该界面的用例图如图3-1。
图3-1主界面用例图
主界面的需求分析如下表所示。
表3-1主界面主要功能需求分析
参与者
用户
概述
用户点击开始/保存按钮,即可开始计步或保存记录。
前置条件
用户点击开始/或保存按钮
详细描述
打开软件时按钮默认的字是“开始”,当用户点击“开始”按钮后,按钮上的字将会变成“保存”,此时用户就可以使用计步了。
当用户点击“保存”按钮时,字会变成“开始”,计步器各项指数将归零,并将记录保存。
后置条件
计步器进行计步或保存计步记录
表3-2主界面其它功能需求分析
参与者
用户
概述
用户点击“开始体验/历史/设置/检查更新/推荐给好友”,即可执行不同的动作或进入不同的界面。
前置条件
点击不同的选项
详细描述
当用户点击“开始体验”时,界面将回到主界面的中间部分;点击“历史”时将进入用户的计步历史界面;点击“设置”将进入计步的设置界面;点击“检查更新”将进行客户端版本与APK服务器挂载端版本比较,看是否需要更新;点击“分享给好友”将进入分享平台选择,选择后将进入分享界面。
后置条件
执行不同的动作或进入不同的界面。
3.2.2历史界面需求分析
该界面主要用于显示用户的计步历史,用ListView实现界面效果,包括保存时间、步数、距离和消耗。
该界面的数据是以Json字符串的形式存储在Sdcard的Jibuqi_CacheFile文件里。
用户可以浏览和删除某条记录。
历史界面的用例图如图3-2。
图3-2历史界面用例图
历史界面的需求分析如表3-3所示。
表3-3历史界面的需求分析
参与者
用户
概述
用户点击“历史”条目,跳入历史界面
前置条件
用户左滑至主界面的左侧部分,点击“历史”条目,Sdcard上的文件内容读取完毕
详细描述
用户进入主界面左侧部分,点击“历史”条目,进入历史界面。
用户可以上下滑动浏览记录,也可以在某条记录上滑动手指,这时会在条目右侧出现一个删除按钮,点击后该条记录将会被删除
后置条件
用户可以浏览计步历史,并且可以删除某些条目
3.2.3设置界面的需求分析
该界面是该项目的关键页面,在这里用户可以对计步器各项参数进行设置。
分别包括:
(1)感应灵敏度,用于设置计步器感应灵敏度,有特别高、非常高、很高、有点高、一般、有点低、很低、非常低、特别低几个感应层次。
不同的感应灵敏度会使手机的震动幅度临界值发生改变,从而使计步器的反应灵敏度发生改变;
(2)运行层面,某些手机只有在唤醒的时候才能计步,而手机在一定的时间内如果没有操作的话会自动休眠,这样手机的计步功能就会失效,所以,在这里添加了运行层面这个设置项。
分别包括正常(手机休眠后不再运行)、保持手机不休眠(用户按下锁屏键后不再运行)和积极的(始终保持手机不休眠,即使用户按下锁屏键);(3)单位,用于设置距离单位有千米和英里;(4)步长,供用户设置每一步的步长,用来计算距离,速度和卡路里的消耗;(5)体重,用于计算消耗的卡路里;(6)运动类型,设置消耗能量的运动方式,包括跑步和散步两种;(7)说话,启用/禁用语音通知;(8)间隔,在第七项说话被选择后才能生效,用来设置语音提示的间隔时间,有15秒、30秒、1分钟等不同时间;(9)说什么,也是在第七项说话被选择后才能生效,设置语音提示要说的内容包括:
步数、步调、距离等,支持多选。
该界面设置项均是用SharedPreferences存储,每一项都是利用键值对的方式保存,具体存储方法会在下文的数据存储中讲到。
设置界面的用例图如图3-3。
图3-3设置界面用例图
设置界面的需求分析如表3-4所示。
表3-4设置界面的需求分析
参与者
用户
概述
用户点击主界面左侧设置条目,进入设置界面进行各项设置
前置条件
点击设置条目,进入设置界面
详细描述
用户进入到设置界面后,点击要设置的项目,这时就会弹出一个对话框。
对话框上有该项设置的各种选项,用户点击自己选择的那项对话框就会自动消失,选择完毕。
后置条件
用户的各项选择将会被保存到SharePreferences中,在计步时会被用作判断条件
3.2.4分享界面的需求分析
该界面的入口在主界面的右侧,用户点击分享给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 手机 计步器 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)