基于ANDROID系统的计步器软件的设计与制作.pdf
- 文档编号:18631741
- 上传时间:2023-08-23
- 格式:PDF
- 页数:33
- 大小:1.08MB
基于ANDROID系统的计步器软件的设计与制作.pdf
《基于ANDROID系统的计步器软件的设计与制作.pdf》由会员分享,可在线阅读,更多相关《基于ANDROID系统的计步器软件的设计与制作.pdf(33页珍藏版)》请在冰点文库上搜索。
北京邮电大学世传感器的种类很多,其中包括加速度传感器、姿态传感器、磁场传感器、温度传感器、光传感器等,本论文介绍的计步器应用就是使用加速度传感器。
本论文主要对计步器以下功能做主要研究。
程序运行后进入主界面,用户可以看到行程、消耗热量、速度以及步速。
点击开始,进入运行状态,点击清零可以使所有数据回归零初始状态。
点击设置选项可以进入设置界面,调节灵敏度来设置需要的灵敏度(灵敏度越高,对身体的动作的感应越灵敏,调节灵敏度来适应不同的体型了,路面等因素),通过设置步长来设置用户自身实际步长(为了估算行走的距离和速度,输入步长得出粗略的距离和速度,仅供参考),设置体重来调节用户的实际体重(这是为了计算消耗的卡路里)。
按软件工程步骤:
2相关技术介绍2.1开发工具及环境简介Android的上层应用程序是用Java语言开发,同时还需要基于Dalvik虚拟机,所以Google公司推荐使用主流的Java继承开发环境Eclipse。
只有Eclipse还不够,因为是使用Java语言进行开发,还应该有由SUN公司提供的JavaSDK(其中包括JRE:
JavaRuntimeEnvironment)。
此外,Android的应用程序开发和Java开发有较大区别的,所以还需要有Google提供的AndroidSDK。
同时,还需要在Eclipse安装ADT,为Android开发提供开发工具的升级或者变更,是Eclipse下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android开发环境,从而进行Android应用程序的开发。
(1)JavaSDK
(2)Eclipse(3)AndroidSDK(4)ADT2.1.1开发工具2.1.1.1AndroidSDK介绍SDK指是软件开发包,被软件开发工程师用于为特定的软件包、软件框架、硬件北京邮电大学世平台、操作系统等建立应用软件的开发工具的集合。
因此,AndroidSDK指的既是Android专属的软件开发工具包。
2.1.1.2Eclipse简介Eclipse是一个著名的跨平台的自由集成开发环境软件。
最初主要用来Java语言开发,现在人们可以通过安装插件使其作为C+、Python、PHP等其他语言的开发工具。
Eclipse的本身只是一个框架平台,但是随着众多插件的产生,使得Eclipse拥有很好的灵活性。
许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse含有插件开发环境,这个组件主允许希望扩展Eclipse的软件开发人员构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言。
例如,支持诸如C/C+和COBOL等编程语言的插件已经可用。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
本系统即通过Eclipse,添加Android做插件,匹配上AndroidSDK进行软件的开发。
2.1.1.3JDK简介JDK(JavaDevelopmentKit)是一个写Java应用程序的程序开发环境。
它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成。
JDK是SunMicrosystems针对Java开发员的产品。
自从Java推出以来,JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit)。
JDK是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。
JDK中还包括完整的JRE(JavaRuntimeEnvironment,Java运行环境),也被称为privateruntime。
包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。
2.1.1.4ADT简介Google专门为Eclipse开发了一个插件来辅助开发,即AndroidDevelopmentTools(ADT)。
目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE北京邮电大学世环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。
2.1.2开发环境本软件是在windows7操作系统中,利用Eclipse开发工具搭载AndroidSDK工具包,结合Android手机自带的sqlite3数据库进行开发。
2.2AndroidSDK常见公共类库介绍2.2.1android的传感器加速度传感器、磁场传感器、光线传感器、重力传感器、线性加速传感器、等等。
加速度传感器:
Sensor.TYPE_ACCELEROMETER:
返回手机设备在X,Y,Z三个方向上的加速度.(我们用到的)磁场传感器:
Sensor.TYPE_MAGNETIC_FIELD:
返回周围磁场在手机的X,Y,Z方向上的影响(磁场分量).距离感应器:
Sensor.TYPE_PROXIMITY:
重力传感器:
Sensor.TYPE_GRAVITY:
线性加速传感器:
Sensor.TYPE_LINEAR_ACCELERATION:
2.2.2Android界面Activity介绍Android的界面是由每一个成为Activity的java类组成的,这个类库是制作Android软件必须使用的。
WalkingActivity是应用程序的用户界面,主要功能是按照XML布局文件的内容显示界面并与用户进行交互。
只有使用了这个才可以让用户看得见,本类中有几个常用的覆写方法来表示界面的生存周期,分别是:
onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()七个方法。
Activity的生命周期图,如图2-1所示:
北京邮电大学世图2-1AndroidActivity生存周期图北京邮电大学世3.系统需求分析3.1可行性研究可行性分析(FeasibilityAnalysis)也称为可行性研究,是在系统调查的基础上,针对刚刚开发打算进一步应用的系统的必要性和可能性的分析和研究。
可行性研究的目的主要在于,用最小的代价在尽可能短的时间内确定问题是否能够解决。
该阶段通过对系统总目标的初步调研与分析,提出可行性方案并进行论证。
在此,主要从经济可行性、技术可行性和操作可行性三方面进行分析。
3.1.1经济可行性随着人民生活水平的提高,尤其我国成功承办2008年奥运会以来,人们的健康运动意识逐渐增强。
而上班族们由于时间紧张可利用的休闲时间较少,他们则会利用一些零散的时间进行锻炼,比如上班来回的路上多走路少乘车,在办公区尽量选择走楼梯而不是乘坐电梯等等,由于运动时间零散不便于量化自己的运动量,也就无法估计健身效果。
在这样的背景前提下,拥有一款计步器就显得尤为必要了。
目前市场上的计步器少则几十多则上百,而智能手机计步器软件的成本几乎为零。
只需用户拥有一台有安卓系统的智能手机即可安装使用了。
并且手机计步器软件携带方便,可以随时随地获取用户的运动信息,拥有不受地理和时间限制的特点,可以充分利用人们的闲暇时间,从这个角度看,该软件可行。
3.1.2技术可行性开发工具:
EclipseClassic3.7.2数据库环境:
sqlite3系统环境:
MicrosoftWindowsXP或以上版本软件实现是依靠基于Android系统的开发技术,使用的是java为主的开发语言进行开发,再加上SOAP技术进行数据交互。
北京邮电大学世3.1.2.1功能说明具体有如下一些功能:
计步开始,计步暂停,计步清零,主屏幕显示计步总数,走过的公里数,每分钟走多少步,每小时走多少公里和消耗的卡路里量。
进入设置菜单设置灵敏度,设置步长,根据步长计算走过公里数、步速和消耗的卡路里量,设置体重和运动类型,主要用于计算消耗的卡路里量。
退出应用。
3.1.2.2技术分析表3-1技术需求分析关键技术项关键技术项要求要求现有水平现有水平对照分析对照分析数据结构了解了解可以满足要求。
数据库熟悉了解虽有欠缺,但通过指导培训,应该在短期内可以达到要求。
Java熟练熟悉基本可以满足要求。
Android精通熟悉短期需进一步达到要求,存在一定问题。
3.1.3操作可行性软件采用最主流的Android软件应用开发风格,并使用Android的原生组件进行开发,界面友好,简洁易懂,组建布局具有诱导性,用户使用极其方便快捷。
主界面操作流程见图3-1,设置界面操作流程见图3-2。
开始计步计步暂停计步清零开始图3-1图为主界面操作流程图北京邮电大学世主界面设置灵敏度运动类型返回步长体重图3-2图为设置界面操作流程图3.2性能需求分析为了保证软件能够长期、安全、稳定、可靠、高效地在Android设备上运行,本系统应该满足以下性能需求。
3.2.1实用性原则充分利用手机的内置传感器功能,为本软件提供信息支持,充分考虑用户获取信息的心理需求,在简洁实用的基础上对软件界面层级进行布局,做到了方便,美观大方。
3.2.2可扩展性与可维护性原则为适应将来的发展,软件应该具有良好的可扩展性和可维护性。
系统设计尽可能模块化、组件化,由于Android设备分辨率的各不相同,使软件可灵活配置,适应不同的的Android终端设备。
系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的资源建设。
当用户的需求有所改变时,可以对其快速的配置改变,以应对用户的需求,有一个较好的应用平台Android设北京邮电大学世备,能容易地安装和卸载。
系统易于扩充升级,既能满足当前业务的需求,将来的需求改变升级也被考虑在内。
3.2.3安全可靠性原则随着三网融合的发展,智能终端产业链的构成相对于传统功能手机发生了巨大变化。
处于上游的操作系统提供商制定安全机制的基本规则以及相应的应用商店政策。
终端厂商在这些规则的基础上,定制个性化的终端软件,建立自有的应用商店。
应用软件开发商/开发者则利用操作系统提供商提供的工具进行各类应用软件的开发,第三方应用商店或论坛等提供应用软件的下载渠道。
基于智能终端产业链在管理和技术方面暴露出来的脆弱性,来源于传统互联网和信息系统的各类攻击逐渐将目标定位于智能终端,并借助智能终端操作系统的开放性制造出大量的恶意软件。
此外,应用商店的审核机制欠缺也导致了恶意软件的泛滥。
目前智能终端信息窃取类软件横行,一款应用软件的安全可靠性便显得尤为重要了。
现在智能终端个人信息的泄露通常不会引起用户的觉察,或者即便觉察也无法判断其带来的损失。
与早期的安全问题不同,个人信息泄露所带来的通常不是直接的高额话费,而是潜在的巨大经济损失。
如银行账户泄密、绝密商业信息泄露等。
如何保护用户个人信息,防止在用户不知情的情况下泄露隐私信息,是当前亟待解决的问题。
本软件承诺不会残留用户任何的隐私信息。
3.2.4用户界面美观原则界面经过对用户心理的调研和统计后。
并参考时下流行的软件风格进行设计,在此基础上,加入了对用户具有诱导性的按键设计,使得用户在初次使用的时候就会使用,而不需要在使用的时候进行特别的学习和指导。
a.应用图标见图3-3。
图3-3图为应用图标北京邮电大学世b.主界面见图3-4。
c.设置和退出按钮见图3-5。
图3-4图为应用主界面图3-5画红圈处为设置,退出按钮d.设置界面见图3-6。
图3-6图为设置界面北京邮电大学世3.3数据需求分析表3-2信息输入输出信息输入信息输入信息处理信息处理信息输出信息输出用户点击开始计步软件通过后台感应手机状态,开始计步通过软件主界面输出计步总数,消耗卡路里等信息用户点击暂停软件将通过后台停止感应手机状态,从而停止计步显示计步的相应信息用户用户点击清零软件通过后台运行清除所记录的数据所有这界面显示的信息将归零等待下次命令用户点击设置键软件通过数据库中的设置管理显示设置主界面输入步长设置对数据库中步长信息进行改变刷新设置中步长列表输入灵敏度设置对数据库中灵敏度信息进行改变刷新设置中灵敏度列表输入体重设置对数据库中的体重进行管理刷新收藏夹电视频道的列表输入运动类型设置对数据库中的运动类型进行管理刷新收藏夹单词的列表北京邮电大学世4.系统设计4.1系统总体结构设计在设计一款软件时一般都会把它分成几个模块,在模块的基础上还会再分小模块,这样就达到了软件模块化设计的要求,然后再对各个小模块进行详细设计和编写,采用模块化的管理方式可以使软件结构更清晰,也使得软件的管理更有秩序,使别人容易理解和阅读,但是这些模块也要根据别的模块来设计和约束,不能随便设计脱离框架,设计完成后需要把每个设计完成的模块根据总体框架结合起来。
根据本软件的功能需求,将本软件分为以下几个功能模块,如图4-1所示:
主界面步数公里步速时速卡路里设置走过的总步数走过的总长度每分钟多少步走过的总步数运动所消耗的能量暂停/开始清零所有数据清零开始/暂停运动灵敏度步长体重运动类型设置软件敏感程度设置用户一步多长设置用户体重设置用户运动类型结束关闭应用软件图4-1整体框架图北京邮电大学世4.2系统静态模型设计根据系统需求可以识别系统中存在的对象。
从需求中可知我们至少创建2个类:
主界面类和设置类。
系统和用户交互时需要直观的图形化界面,所以我们需要5个设置界面类。
确定了系统的类后需要确定类之间的关系,如图4-2所示:
图4-2系统静态模型北京邮电大学世5.系统实现本章介绍本系统的各个模块的设计和实现。
首先在Eclipse中配置好ADT和AndroidSDK等开发环境,然后新建一个Android项目,项目名为pedometer,然后在Android项目中的AndroidManifest.xml文件中配置本软件需要使用的权限。
本论文用到的是:
计步器的主要功能有:
计步开始/暂停,设置,显示运动所消耗的卡路里,走过长度,步速,时速,里程。
本软件是一个结合手机用户特别是智能手机用户常用功能的一个软件平台,本软件可以通过界面快速获取运动的情况,获取信息后可以对这些信息进行个性化处理以方便用户直观的感受运动量。
5.1布局界面的设计5.1.1主界面的设计由于Android平台手机屏幕大小有限,为了不使用户有凌乱的感觉,在主界面使用了清爽的色彩以及上两层信息显示的排版,使界面看起来简单明快功能健全。
本软件实现了步速,步数,卡路里的显示等功能,为了让界面显得更为美观,使用更为方便,笔者使用在TextView的基础上实现了Tab底部菜单,在底部菜单上添加了“Pause/Resume”,“Reset”如图5-1所示:
(a)主界面运动信息的显示(b)Pause/Resume及Reset键图5-1主界面信息显示及暂停/开始,清零键北京邮电大学世“Pause/Resume”主要终于用于停止和开启监听手机运动状态,也就是用户可以点击该按钮添来控制手机计步器的工作开始或者暂停。
“Reset”用于清除Android数据池所获得的数据即用户可以利用此键将之前所记录的运动信息清零,以便开始记录新一次的运动情况。
在主界面下,点击Android固有的功能键即可呼唤出设置和退出应用键,即“Settings”,“Quite”如图5-2所示:
图5-2Settings和Quite键“Settings”用于进入设置主界面,对用户的参数进行设这。
“Quite”即退出本程序5.1.2设置界面的设计用户选择设置后会进入一个设置列表界面,该界面是利用Android固有的资源模板,没有做多余的修饰,简单明了的表达出设置项目及目的。
每一行显示一条设置信息。
该界面仅仅使用一个ListView控件实现设置的列表,不占用较多的尺寸却能够让用户直观的看到所有关于计步器统计运动量所需的信息。
列表中的每一项均可再打开一个小窗口用于更改用户信息,例如设置步长功能(见图5-3),在点击“Steplength”键后会出现填入用户步长的对话框如图5-4。
图5-3设置步长图5-4输入用户步长北京邮电大学世设置列表中的每一项指向了一条设置内容,点击一条设置项目后能够进入设置项目的输入界面,用户可以根据自身的实际情况来更改设置信息,这也很符合人们的使用习惯。
5.2各功能的实现5.2.1计步开始及暂停首先对Pause/resume键做一个监听start_pause_button.setOnClickListener(newView.OnClickListener()同时还要对此时状态做一个判断start_pause_button.setText(mIsRunning?
R.string.pause:
R.string.resume);若初始状态为记录则显示pause,若初始状态为非记录状态则显示resume。
具体代码的实现见附录“开始/暂停按钮”5.2.2记录数据清零对清零按钮做一个View即:
resetButton=(Button)findViewById(R.id.reset_button);实现清零的语句很简单,对“reset”键做一个监听,当用户点击“reset”键时,即:
resetButton.setOnClickListener(newView.OnClickListener()执行一下命令:
publicvoidonClick(Viewv)resetValues(true);这样记录数据清零的按钮就完成了。
5.2.3设置步长对于设置步长,首先要获取用户所输入的步长信息:
returnFloat.valueOf(mSettings.getString(step_length,20)北京邮电大学世若用户未对步长信息进行编辑,则默认为20.在DistanceNotifier中使用mStepLength来计算走过的距离:
mDistance=mDistance+(float)(mStepLength/100000.0);notifyListener();在paceChanged中使用mStepLength来计算步速:
mSpeed=/kilometers/hourvalue*mStepLength/centimeters/minute/100000f*60f;/centimeters/kilometertellFasterSlower();notifyListener();5.2.4设置体重对于设置体重,首先要获取用户所输入的体重信息:
returnFloat.valueOf(mSettings.getString(body_weight,50若用户未对步长信息进行编辑,则默认为50.在CaloriesNotifier中使用mBodyWeight来计算用户因运动所消耗的卡路里:
mCalories+=(mBodyWeight*(mIsRunning?
METRIC_RUNNING_FACTOR:
METRIC_WALKING_FACTOR)*mStepLength/100000.0;notifyListener();5.2.5设置运动状态当用户选择跑步运动的时候,程序会判断返回值等于Running:
returnmSettings.getString(exercise_type,running).equals(running)判断跑步还是走路是为了方便计算用户所消耗的卡路里,在因运动所消耗卡路里的计算公式中跑步状态和走路状态分别对应不同的参数,根据用户的选择而确定卡路里的计算方法。
设置运动装态的详细代码见附录“判断是走路还是跑步”。
北京邮电大学世6.系统测试6.1测试开始停止模块测试能否根据用户控制得到开始计步和停止计步的结果。
6.1.1测试准备1)模块名:
计步器2)负责人:
梁文淑3)意图:
测试计步器各模块功能。
6.1.2测试过程1)点击应用图标,如图6-1所示:
2)运动使主界面开始记录数据,如图6-2所示:
我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文图6-1图为计步器主界面图6-2图为计步器主界面北京邮电大学世3)在主界面点击Pause,如图6-3所示:
4)继续运动观察主界面数据是否有变化,如图6-4所示:
我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要论文我要过论文我要过论文我要过论文我要过论文我要过论文我要文图6-3图为停止计步界面图6-4图为停止计步后仍在运动界面5)进入settings(设置)界面,如图6-5所示:
6)点击设置Sensitivity(灵敏度),如图6-6所示:
过论文我要过论文我要过论图6-5图为设置界面图6-6图为设置灵敏度界面7)点击设置Steplength(步长),如图6-7所示:
北京邮电大学世8)点击设置Bodyweight(体重),如图6-8所示:
图6-7图为步长设置界面图6-8图为体重设置界面9)点击设置Exercisetype(运动类型),如图6-9所示:
过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文图6-9图为运动类型设置界面6.2测试总结本软件中几个模块的功能经过测试,均测试通过,测试结果和最初的设计基本北京邮电大学世一致,所有的功能均能正常运行,软件需要比较特殊的运行环境,首先手机的重力感应功能必须有,而且Android系统的版本过低将不能使用。
至此基于安卓平台的手机计步器的设计基本完成。
北京邮电大学世5结论经过了数月的努力,Android平台手计步器软件终于完成了。
本软件能实现用户对计步器的基本要求。
方便用户开启关闭计步器,对运动情况和运动量可以直观的从主界面获取信息,设置选项中的智能人机交互平台也可以明了的对用户信息进行编辑,不需要复杂的操作不需要学习,一目了然。
对于智能手机用户来说,基于安卓平台的手机计步器提供了一个快捷方便的平台。
为用户提供随时随地的服务,节省用户不必要的资金消耗与时间消耗是本软件设计的一个宗旨,整个框架和细节的设计都是围绕这个宗旨进行的,虽然整个软件还不是很成熟,还有很多不足和需要改进的地方,或者还有很多信息提供不到位,例如我们可以加入音乐播放模块,是用户在运动的同时享受轻松快乐的环境,这些还需要日后慢慢优化和改善,但是最初的设计都实现了。
在现在的功能基础上本软件可以进行扩展升级。
本软件最初设计的时候就是一个可以扩展的框架,所以为将来加入新的功能提供了很大的方便。
本软件虽然不是很强大,但是是我自己亲手编写的,开发一个能在时下最流行的软件,使之顺利的在平台上运行是一件令人兴奋的事情。
把自己的想法一步一步地付诸实践,最后成为一个真实的实物,被别人使用和称赞,此时得到的成就感是尤为强烈的。
北京邮电大学世参考文献1李刚.疯狂的Android讲义M.北京:
电子工业出版社.2011.7.2吴亚峰,苏亚光.Android2.0游戏开发实战宝典M.北京:
人民邮电出版社.2010.7.3李宁.Android开发完全讲义M.北京:
中国水利水电出版社.2012.4.4严蔚敏,吴伟民.数据结构M.北京:
清华大学出版社.2007.3.5李刚.疯狂Java讲义M.北京:
电子工业出版社.2008.10.6BruceEckel著.Java编程思想(陈昊鹏)M.北京:
机械工业出版社.2007.6:
23-357苏亚光;吴亚峰
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ANDROID 系统 计步器 软件 设计 制作
![提示](https://static.bingdoc.com/images/bang_tan.gif)