基于安卓平台的手机计步器毕业论文_第1页
基于安卓平台的手机计步器毕业论文_第2页
基于安卓平台的手机计步器毕业论文_第3页
基于安卓平台的手机计步器毕业论文_第4页
基于安卓平台的手机计步器毕业论文_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

北京邮电大学世纪学院毕业设计论文题目基于安卓平台的手机计步器的设计学号00000000学生姓名000000专业名称000000000所在系(院)00000000000000000指导教师00000002013年6月1日北京邮电大学世纪学院毕业设计(论文)任务书姓名学号专业通信工程系(院)通信与信息工程设计(论文)题目基于安卓平台的手机计步器的设计题目分类工程设计;工程技术研究;软件工程(如CAI课题等);专题研究;艺术设计;其他题目来源自然科学基金与部、省、市级以上科研课题;企、事业单位委托课题;院级课题;自拟课题其他指导教师(指导教师组组长及成员姓名)职称工作单位备注毕业设计论文的内容和要求步行有益于健康,步行热在欧美等发达国家十分盛行,各种类型的电子计步器也日趋流行,本论文要求学生在安卓平台上开发一款手机计步器软件,利用手机的加速度传感器感知用户步态的变化,实现准确记步。论文内容包括1、采集在步行过程中手机加速度传感器的输出信号,分析该信号和步行的关系,研究合适的记步算法,无论手机处于何种位置和状态,均能够实现精确计步。2、在安卓平台下编程实现该算法;实现每日步行里程、消耗热量等统计功能。应完成的工作和提交材料要求(课题完成后应提交成果的种类、数量、质量等方面的要求)1开题报告,2000字左右。2论文中期报告,符合院系相关要求。3毕业论文,不少于15000字,要求概念正确,调理清晰,文笔流畅。论文中的数学公式必须用OFFICE自带的公式编辑器输入,原理框图等用VISIO绘制。4计步器软件开发包,软件可在安卓平台手机上正常运行,并实现准确记步。主要参考文献(参考文献不少于4篇,参考文献目录按GB/T77142005的要求填写)1李刚疯狂的ANDROID讲义M电子工业出版社201172吴亚峰,苏亚光ANDROID20游戏开发实战宝典M人民邮电出版社201073李宁ANDROID开发完全讲义M中国水利水电出版社201244严蔚敏,吴伟民数据结构M清华大学出版社200735李刚疯狂JAVA讲义M电子工业出版社2008106BRUCEECKEL著JAVA编程思想陈昊鹏M机械工业出版社2007623357苏亚光吴亚峰索依娜ANDROID平台下传感器技术开发计步器应用J电脑编程技巧与维护201023368熊刚基于ANDROID的智能手机的设计与实现D武汉理工大学201034一60毕业设计(论文)进度计划(从正式启动时间开始,以周为单位填写)第12周进行课题调研,文献查阅,撰写开题报告。第3周继续查阅文献,完成论文开题。第46周巩固学习数据结构,系统学习ANDROID开发,JAVA语言。第7周研究手机内部传感器如何感知手机状态,研究记步算法并用安卓平台实现。第8周准备中期报告和中期答辩,迎接中期检查。第9周根据中期检查中存在的问题,查阅文献,调整研究内容和研究方法。第1011周初步完成计步器软件的开发,在安卓平台手机上试运行。第1213周继续调试、完善程序中的错误,准备撰写毕业论文的资料和数据。第1415周撰写毕业论文,完善毕业论文。第16周准备答辩材料,完成毕业论文答辩。指导教师签字日期2012年12月12日教学单位意见审核人签字年月日备注1、由指导教师撰写,可根据长度加页,一式二份,教务处、系(院)各留存一份,发给学生一份,任务完成后附在论文内;2、凡审核不通过的任务书,请重新申报。北京邮电大学世纪学院毕业设计(论文)诚信声明本人声明所呈交的毕业设计(论文),题目基于安卓平台的手机计步器的设计是本人在指导教师的指导下,独立进行研究工作所取得的成果,除了文中特别加以标注和致谢中所罗列的内容以外,毕业设计(论文)中不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他教育机构的学位或证书而使用过的材料。申请学位论文与资料若有不实之处,本人承担一切相关责任。本人签名日期毕业设计(论文)使用权的说明本人完全了解北京邮电大学世纪学院有关保管、使用论文的规定,其中包括学校有权保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手段复制并保存论文;学校可允许论文被查阅或借阅;学校可以学术交流为目的,复制赠送和交换学位论文;学校可以公布学位论文的全部或部分内容。本人签名日期指导教师签名日期题目基于安卓平台的手机计步器的设计摘要ANDROID是一个针对移动设备的操作系统和软件平台,随着智能手机的兴起,渐渐成为了占有市场最大比重的移动平台操作系统,同时也越发地受到广大用户的青睐。ANDROID采用LINUX内核,由GOOGLE和开放手机联盟于2007年11月5日发布。容许使用JAVA语言来开发和管理代码。作为一个年轻并且流行的移动应用平台,目前ANDROID软件的应用面还是比较广泛的,比如聊天,通讯,上网等等,但涉及传感器方面的应用软件还比较少。本文在分析讨论ANDROID手机软件开发原理的同时,针对智能手机用户日常使用的实际情况,对用户手机的日常功能需求进行调查。发现对于经常走路上班或者锻炼的朋友来说拥有一款精美、功能齐全的计步器是非常必要的。将精确计量和智能运行技术完美结合,只需开启软件,通过感应器传来的信息,APP能够变化算法,测得你的走路步数,速度以及消耗的卡路里量与行走历程。一款合适的计步器在无形中会量化用户的健身效果,帮助用户坚持锻炼以达到更好的健身效果。关键词ANDROID智能手机平台计步器JAVATITLETHEDESIGNOFMOBILEPHONEPEDOMETERBASEDONTHEANDROIDPLATFORMABSTRACTANDROIDISANOPERATINGSYSTEMANDSOFTWAREPLATFORMFORMOBILEDEVICESWITHTHEDEVELOPMENTOFSMARTPHONE,ITGRADUALLYBECAMETHEBIGGESTPROPORTIONINTHEMARKETOFMOBILEOPERATINGSYSTEMATTHESAMETIME,ITBECAMEMOREANDMOREPOPULARAMONGUSERSANDROIDUSESTHELINUXKERNEL,ANNOUNCEDONNOVEMBER5,2007BYGOOGLEANDTHEOPENHANDSETALLIANCE,ANDITALLOWTOUSEJAVALANGUAGETODEVELOPANDMANAGETHECODEASAYOUNGANDPOPULARMOBILEAPPLICATIONPLATFORM,THEAPPLICATIONOFANDROIDISRELATIVELYWIDESUCHASCHAT,COMMUNICATIONANDINTERNETHOWEVER,THEAPPLICATIONOFSENSORSISLESSTHETHESISOFTHISESSAYISTOANALYZEANDDISCUSSTHEPRINCIPLEOFSOFTWAREDEVELOPMENTOFANDROIDMOBILEPHONEALSO,THEANOTHERPURPOSEINTHISESSAYISTOCONDUCTANINVESTIGATIONINTHEDAILYFUNCTIONALDEMANDFORMOBILEPHONEUSERSBASEDONTHESITUATIONOFDAILYUSESOFSMARTPHONEUSERSTHERESEARCHSHOWSTHATITISVERYIMPORTANTTOHAVEAFULLYFUNCTIONALPEDOMETERFORPEOPLEWHOOFTENWALKTOWORKOREXERCISETHEPEDOMETERMAKESAPERFECTCOMBINATIONOFACCURATEMEASUREMENTANDINTELLIGENTOPERATIONALTECHNOLOGY,WHENTHESOFTWAREAREREADYTORUN,ITCANUSETHEMASSAGEWHICHACQUIREFROMSENSORTOCALCULATETHESTEPFREQUENCY,SPEED,THECONSUMPTIONOFCALORIESANDWALKINGJOURNEYOFYOURWALKANAPPROPRIATEPEDOMETERCANQUANTIFYUSERSFITNESSEFFECTINPOTENTIALLYINTHISWAYITCANMAKEUSERSTOKEEPEXERCISINGINORDERTOACHIEVEBETTERFITNESSEFFECTKEYWORDSANDROIDSMARTPHONEPLATFORMJAVAPEDOMETER目录1前言111智能手机系统开发背景112课题的目的与意义213本文主要研究内容22相关技术介绍421开发工具及环境简介4211开发工具4212开发环境522ANDROIDSDK常见公共类库介绍6221ANDROID的传感器6222ANDROID界面ACTIVITY介绍63系统需求分析831可行性研究8311经济可行性8312技术可行性8313操作可行性932性能需求分析10321实用性原则10322可扩展性与可维护性原则10323安全可靠性原则11324用户界面美观原则1133数据需求分析134系统设计1441系统总体结构设计1442系统静态模型设计155系统实现1651布局界面的设计16511主界面的设计16512设置界面的设计1752各功能的实现18521计步开始及暂停18522记录数据清零18523设置步长18524设置体重19525设置运动状态196系统测试2061测试开始停止模块20611测试准备20612测试过程2062测试总结235结论24致谢25参考文献26附录271前言11智能手机系统开发背景当今社会,手机已经成为人们工作生活中必不可少的一项通讯和娱乐工具,随着手机的不断更新,手机的各种高层服务和应用层出不穷。现在智能手机可谓是爆发式增长,与此同时传统手机在不断地消失,诺基亚就是在这样的环境中受到了重创。现在主要有三个使用率和关注度最高的手机平台,分别是ANDROID,IOS和WINDOWSPHONE平台,在这三个平台中ANDROID的占有率最高。自2007年11月GOOGLE公司发布ANDROID系统以来,短短几年时间,ANDROID已经占据了智能手机市场的半壁江山,成为目前最为炙手可热的智能手机操作系统。ANDROID走进了越来越多人的生活,成为他们获取信息的主要平台。ANDROID平台是一个面向大众的系统,分布在低端,中端和高端市场中,受到了各个层次的欢迎,并且ANDROID是开源的,开发者随时都可以查看系统源代码,并且使用时下最流行的JAVA作为其主要的开发语言。由于这些特点,才使得ANDROID成为现在市场占有量最大的软件平台,在这样的平台上面开发一款独特的日常生活软件尤为必要的。ANDROID不只是一个操作系统而已,它包括了A经过GOOGLE剪裁和调优的LINUXKERNEL,对于掌上设备的硬件提供了优秀的支持。GOOGLE在LINUX方面的应用能力不容置疑,GOOGLE公司所有的几十万服务器全部是自己修改过的LINUX操作系统。B经过GOOGLE修改的JAVA虚拟机DALVIK,是基于APACHEHARMONY虚拟机版本进行改良而来,能够提供极高的执行性能。有了JAVA虚拟机,大部分JAVA核心类库都已经可以直接运行。C大量立即可用的类库和应用软件,例如浏览器WEBKIT,数据库SQLITE,让你可轻易开发出来媲美于桌面应用复杂度的手机软件。DGOOGLE已经开发好了大量现成的应用软件,同时可以直接使用GOOGLE很多在线服务。EGOOGLE提供了基于ECLIPSE的完整开发环境,模拟器,文档,帮助,示例将极大推动ANDROID快速的推广和发展。基于ANDROID众多的优点,围绕ANDROID形成了一个移动手机联盟,主要的手机厂商几乎全部在列,而此联盟在极大的推动ANDROID平台的推广和发展,在未来的几年也必将极大的推动整个手机操作系统甚至是互联网乃至软件行业的发展。12课题的目的与意义ANDROID平台对于GOOGLE和用户的意义不在于手机本身,而在于为了推动移动互联网产业链的迅速成型。具有开源特性的ANDROID手机平台废弃了之前SYMBIAN、WINDOWSMOBILE等操作系统收取高额的授权费用的模式,使得应用开发成本大大降低;也正是由于它开放源代码,使得手机产生更多个性化的应用。同时,合作方也能够在这里得到利润或者创造价值,手机软件行业得到有效的维护协调发展。这正式GOOGLE发布ANDROID平台的意义,也是ANDORID平台存在的使命所在。而作为ANDROID平台成员之一的中国移动也投资成立了一家通讯公司,专门从事GOOGLE手机软件的应用以及本地化特色软件的开发,比如在GOOGLE手机平台上添加飞信、输入法等一系列符合国内用户使用习惯的功能。更多的手机软件开发商已经或者筹备将公司进行转型,从其方向的开发转向到ANDROID软件的开发。综观世界,ANDROID平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年或者一段时间内,ANDROID将越发的凸显自己的重要性。基于此,我们有必要通过进行相关的研究来了解ANDROID平台,来了解开发ANDROID的那一大批人的先进理念和思想,进而更深入了解手机软件行业,同事掌握未来无线移动互联网的发展趋势,从而更好的适应时代的需要。13本文主要研究内容本论文是对基于安卓平台的手机计步器的设计和研究,目的是为了方便用户绿色生活,保持健康的生活态度,并且为用户节约了不必要的开支同时也避免了资源的浪费。ANDROID系统的一大亮点之一就是传感器的使用,利用传感器可以开发出很多新奇有趣的应用程序,例如计步器,水平仪,甚至在很多游戏中都可以使用传感器来操作游戏。传感器的种类很多,其中包括加速度传感器、姿态传感器、磁场传感器、温度传感器、光传感器等,本论文介绍的计步器应用就是使用加速度传感器。本论文主要对计步器以下功能做主要研究。程序运行后进入主界面,用户可以看到行程、消耗热量、速度以及步速。点击开始,进入运行状态,点击清零可以使所有数据回归零初始状态。点击设置选项可以进入设置界面,调节灵敏度来设置需要的灵敏度(灵敏度越高,对身体的动作的感应越灵敏,调节灵敏度来适应不同的体型了,路面等因素),通过设置步长来设置用户自身实际步长(为了估算行走的距离和速度,输入步长得出粗略的距离和速度,仅供参考),设置体重来调节用户的实际体重(这是为了计算消耗的卡路里)。按软件工程步骤1了解相关资料,了解本软件的研究意义,确定实现技术与方式设计总目标及其整体框架。2了解用户的使用习惯和使用心理,进行用户需求分析和规范。3草拟功能模块,画出模块图。4搜集软件制作素材。5编写代码实现各个功能模块。6根据ANDROID特有的使用风格进行布局与优化。7完成系统测试并改进。2相关技术介绍21开发工具及环境简介ANDROID的上层应用程序是用JAVA语言开发,同时还需要基于DALVIK虚拟机,所以GOOGLE公司推荐使用主流的JAVA继承开发环境ECLIPSE。只有ECLIPSE还不够,因为是使用JAVA语言进行开发,还应该有由SUN公司提供的JAVASDK其中包括JREJAVARUNTIMEENVIRONMENT。此外,ANDROID的应用程序开发和JAVA开发有较大区别的,所以还需要有GOOGLE提供的ANDROIDSDK。同时,还需要在ECLIPSE安装ADT,为ANDROID开发提供开发工具的升级或者变更,是ECLIPSE下开发工具的升级下载的工具。简言之,需要以下软件,才能搭建ANDROID开发环境,从而进行ANDROID应用程序的开发。1JAVASDK2ECLIPSE3ANDROIDSDK4ADT211开发工具2111ANDROIDSDK介绍SDK指是软件开发包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,ANDROIDSDK指的既是ANDROID专属的软件开发工具包。2112ECLIPSE简介ECLIPSE是一个著名的跨平台的自由集成开发环境软件。最初主要用来JAVA语言开发,现在人们可以通过安装插件使其作为C、PYTHON、PHP等其他语言的开发工具。ECLIPSE的本身只是一个框架平台,但是随着众多插件的产生,使得ECLIPSE拥有很好的灵活性。许多软件开发商以ECLIPSE为框架开发自己的IDE。ECLIPSE含有插件开发环境,这个组件主允许希望扩展ECLIPSE的软件开发人员构建与ECLIPSE环境无缝集成的工具。由于ECLIPSE中的每样东西都是插件,对于给ECLIPSE提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。尽管ECLIPSE是使用JAVA语言开发的,但它的用途并不限于JAVA语言。例如,支持诸如C/C和COBOL等编程语言的插件已经可用。ECLIPSE框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。本系统即通过ECLIPSE,添加ANDROID做插件,匹配上ANDROIDSDK进行软件的开发。2113JDK简介JDKJAVADEVELOPMENTKIT是一个写JAVA应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用JAVA语言写的APPLET和应用程序所需的工具组成。JDK是SUNMICROSYSTEMS针对JAVA开发员的产品。自从JAVA推出以来,JDK已经成为使用最广泛的JAVASDK(SOFTWAREDEVELOPMENTKIT)。JDK是整个JAVA的核心,包括了JAVA运行环境,JAVA工具和JAVA基础的类库。JDK中还包括完整的JRE(JAVARUNTIMEENVIRONMENT,JAVA运行环境),也被称为PRIVATERUNTIME。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。2114ADT简介GOOGLE专门为ECLIPSE开发了一个插件来辅助开发,即ANDROIDDEVELOPMENTTOOLS(ADT)。目前ANDROID开发所用的开发工具是ECLIPSE,在ECLIPSE编译IDE环境中,安装ADT,为ANDROID开发提供开发工具的升级或者变更,简单理解为在ECLIPSE下开发工具的升级下载工具。212开发环境本软件是在WINDOWS7操作系统中,利用ECLIPSE开发工具搭载ANDROIDSDK工具包,结合ANDROID手机自带的SQLITE3数据库进行开发。22ANDROIDSDK常见公共类库介绍221ANDROID的传感器加速度传感器、磁场传感器、光线传感器、重力传感器、线性加速传感器、等等。加速度传感器SENSORTYPE_ACCELEROMETER返回手机设备在X,Y,Z三个方向上的加速度(我们用到的)磁场传感器SENSORTYPE_MAGNETIC_FIELD,返回周围磁场在手机的X,Y,Z方向上的影响磁场分量距离感应器SENSORTYPE_PROXIMITY重力传感器SENSORTYPE_GRAVITY线性加速传感器SENSORTYPE_LINEAR_ACCELERATION222ANDROID界面ACTIVITY介绍ANDROID的界面是由每一个成为ACTIVITY的JAVA类组成的,这个类库是制作ANDROID软件必须使用的。WALKINGACTIVITY是应用程序的用户界面,主要功能是按照XML布局文件的内容显示界面并与用户进行交互。只有使用了这个才可以让用户看得见,本类中有几个常用的覆写方法来表示界面的生存周期,分别是ONCREATE,ONSTART,ONRESUME,ONPAUSE,ONSTOP,ONDESTROY,ONRESTART七个方法。ACTIVITY的生命周期图,如图21所示图21ANDROIDACTIVITY生存周期图3系统需求分析31可行性研究可行性分析(FEASIBILITYANALYSIS)也称为可行性研究,是在系统调查的基础上,针对刚刚开发打算进一步应用的系统的必要性和可能性的分析和研究。可行性研究的目的主要在于,用最小的代价在尽可能短的时间内确定问题是否能够解决。该阶段通过对系统总目标的初步调研与分析,提出可行性方案并进行论证。在此,主要从经济可行性、技术可行性和操作可行性三方面进行分析。311经济可行性随着人民生活水平的提高,尤其我国成功承办2008年奥运会以来,人们的健康运动意识逐渐增强。而上班族们由于时间紧张可利用的休闲时间较少,他们则会利用一些零散的时间进行锻炼,比如上班来回的路上多走路少乘车,在办公区尽量选择走楼梯而不是乘坐电梯等等,由于运动时间零散不便于量化自己的运动量,也就无法估计健身效果。在这样的背景前提下,拥有一款计步器就显得尤为必要了。目前市场上的计步器少则几十多则上百,而智能手机计步器软件的成本几乎为零。只需用户拥有一台有安卓系统的智能手机即可安装使用了。并且手机计步器软件携带方便,可以随时随地获取用户的运动信息,拥有不受地理和时间限制的特点,可以充分利用人们的闲暇时间,从这个角度看,该软件可行。312技术可行性开发工具ECLIPSECLASSIC372数据库环境SQLITE3系统环境MICROSOFTWINDOWSXP或以上版本软件实现是依靠基于ANDROID系统的开发技术,使用的是JAVA为主的开发语言进行开发,再加上SOAP技术进行数据交互。3121功能说明具体有如下一些功能计步开始,计步暂停,计步清零,主屏幕显示计步总数,走过的公里数,每分钟走多少步,每小时走多少公里和消耗的卡路里量。进入设置菜单设置灵敏度,设置步长,根据步长计算走过公里数、步速和消耗的卡路里量,设置体重和运动类型,主要用于计算消耗的卡路里量。退出应用。3122技术分析表31技术需求分析关键技术项要求现有水平对照分析数据结构了解了解可以满足要求。数据库熟悉了解虽有欠缺,但通过指导培训,应该在短期内可以达到要求。JAVA熟练熟悉基本可以满足要求。ANDROID精通熟悉短期需进一步达到要求,存在一定问题。313操作可行性软件采用最主流的ANDROID软件应用开发风格,并使用ANDROID的原生组件进行开发,界面友好,简洁易懂,组建布局具有诱导性,用户使用极其方便快捷。主界面操作流程见图31,设置界面操作流程见图32。开始计步计步暂停计步清零开始图31图为主界面操作流程图主界面设置灵敏度运动类型型返回步长体重图32图为设置界面操作流程图32性能需求分析为了保证软件能够长期、安全、稳定、可靠、高效地在ANDROID设备上运行,本系统应该满足以下性能需求。321实用性原则充分利用手机的内置传感器功能,为本软件提供信息支持,充分考虑用户获取信息的心理需求,在简洁实用的基础上对软件界面层级进行布局,做到了方便,美观大方。322可扩展性与可维护性原则为适应将来的发展,软件应该具有良好的可扩展性和可维护性。系统设计尽可能模块化、组件化,由于ANDROID设备分辨率的各不相同,使软件可灵活配置,适应不同的的ANDROID终端设备。系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的资源建设。当用户的需求有所改变时,可以对其快速的配置改变,以应对用户的需求,有一个较好的应用平台ANDROID设备,能容易地安装和卸载。系统易于扩充升级,既能满足当前业务的需求,将来的需求改变升级也被考虑在内。323安全可靠性原则随着三网融合的发展,智能终端产业链的构成相对于传统功能手机发生了巨大变化。处于上游的操作系统提供商制定安全机制的基本规则以及相应的应用商店政策。终端厂商在这些规则的基础上,定制个性化的终端软件,建立自有的应用商店。应用软件开发商/开发者则利用操作系统提供商提供的工具进行各类应用软件的开发,第三方应用商店或论坛等提供应用软件的下载渠道。基于智能终端产业链在管理和技术方面暴露出来的脆弱性,来源于传统互联网和信息系统的各类攻击逐渐将目标定位于智能终端,并借助智能终端操作系统的开放性制造出大量的恶意软件。此外,应用商店的审核机制欠缺也导致了恶意软件的泛滥。目前智能终端信息窃取类软件横行,一款应用软件的安全可靠性便显得尤为重要了。现在智能终端个人信息的泄露通常不会引起用户的觉察,或者即便觉察也无法判断其带来的损失。与早期的安全问题不同,个人信息泄露所带来的通常不是直接的高额话费,而是潜在的巨大经济损失。如银行账户泄密、绝密商业信息泄露等。如何保护用户个人信息,防止在用户不知情的情况下泄露隐私信息,是当前亟待解决的问题。本软件承诺不会残留用户任何的隐私信息。324用户界面美观原则界面经过对用户心理的调研和统计后。并参考时下流行的软件风格进行设计,在此基础上,加入了对用户具有诱导性的按键设计,使得用户在初次使用的时候就会使用,而不需要在使用的时候进行特别的学习和指导。A应用图标见图33。图33图为应用图标B主界面见图34。C设置和退出按钮见图35。图34图为应用主界面图35画红圈处为设置,退出按钮D设置界面见图36。图36图为设置界面33数据需求分析表32信息输入输出信息输入信息处理信息输出用户点击开始计步软件通过后台感应手机状态,开始计步通过软件主界面输出计步总数,消耗卡路里等信息用户点击暂停软件将通过后台停止感应手机状态,从而停止计步显示计步的相应信息用户用户点击清零软件通过后台运行清除所记录的数据所有这界面显示的信息将归零等待下次命令用户点击设置键软件通过数据库中的设置管理显示设置主界面输入步长设置对数据库中步长信息进行改变刷新设置中步长列表输入灵敏度设置对数据库中灵敏度信息进行改变刷新设置中灵敏度列表输入体重设置对数据库中的体重进行管理刷新收藏夹电视频道的列表输入运动类型设置对数据库中的运动类型进行管理刷新收藏夹单词的列表4系统设计41系统总体结构设计在设计一款软件时一般都会把它分成几个模块,在模块的基础上还会再分小模块,这样就达到了软件模块化设计的要求,然后再对各个小模块进行详细设计和编写,采用模块化的管理方式可以使软件结构更清晰,也使得软件的管理更有秩序,使别人容易理解和阅读,但是这些模块也要根据别的模块来设计和约束,不能随便设计脱离框架,设计完成后需要把每个设计完成的模块根据总体框架结合起来。根据本软件的功能需求,将本软件分为以下几个功能模块,如图41所示主界面步数公里步速时速卡路里设置走过的总步数走过的总长度每分钟多少步走过的总步数运动所消耗的能量暂停/开始清零所有数据清零开始/暂停运动灵敏度步长体重运动类型设置软件敏感程度设置用户一步多长设置用户体重设置用户运动类型结束关闭应用软件图41整体框架图42系统静态模型设计根据系统需求可以识别系统中存在的对象。从需求中可知我们至少创建2个类主界面类和设置类。系统和用户交互时需要直观的图形化界面,所以我们需要5个设置界面类。确定了系统的类后需要确定类之间的关系,如图42所示STEPSERVICE计步器后台服务类实现STEPSERVICE对加速传感器的监听STEPDETECTOR加速度传感器的直接监听者监听加速度传感器并分发监听事件到各种NOTIFIERPACENOTIFIER对STEPDETECTOR的监听器(步速)监听到动作后,对步速计算SPEEDNOTIFIER对STEPDETECTOR的监听器(时速)监听到动作后,对时速计算DISTANCENOTIFIER对STEPDETECTOR的监听器(距离)监听到动作后,对距离累加计算CONTROLCALORIESDETECTOR加STEPDETECTOR的监听器(热量)监听到动作后计算累加热量STEPNOTIFIER对STEPDETECTOR的监听器(计步)监听到动作后,对步数进行累加MODELWALKINGACTIVITY主界面类及各种ONXXX组件监听/响应方法VIEW图42系统静态模型5系统实现本章介绍本系统的各个模块的设计和实现。首先在ECLIPSE中配置好ADT和ANDROIDSDK等开发环境,然后新建一个ANDROID项目,项目名为PEDOMETER,然后在ANDROID项目中的ANDROIDMANIFESTXML文件中配置本软件需要使用的权限。本论文用到的是计步器的主要功能有计步开始/暂停,设置,显示运动所消耗的卡路里,走过长度,步速,时速,里程。本软件是一个结合手机用户特别是智能手机用户常用功能的一个软件平台,本软件可以通过界面快速获取运动的情况,获取信息后可以对这些信息进行个性化处理以方便用户直观的感受运动量。51布局界面的设计511主界面的设计由于ANDROID平台手机屏幕大小有限,为了不使用户有凌乱的感觉,在主界面使用了清爽的色彩以及上两层信息显示的排版,使界面看起来简单明快功能健全。本软件实现了步速,步数,卡路里的显示等功能,为了让界面显得更为美观,使用更为方便,笔者使用在TEXTVIEW的基础上实现了TAB底部菜单,在底部菜单上添加了“PAUSE/RESUME”,“RESET”如图51所示(A)主界面运动信息的显示(B)PAUSE/RESUME及RESET键图51主界面信息显示及暂停/开始,清零键“PAUSE/RESUME”主要终于用于停止和开启监听手机运动状态,也就是用户可以点击该按钮添来控制手机计步器的工作开始或者暂停。“RESET”用于清除ANDROID数据池所获得的数据即用户可以利用此键将之前所记录的运动信息清零,以便开始记录新一次的运动情况。在主界面下,点击ANDROID固有的功能键即可呼唤出设置和退出应用键,即“SETTINGS”,“QUITE”如图52所示图52SETTINGS和QUITE键“SETTINGS”用于进入设置主界面,对用户的参数进行设这。“QUITE”即退出本程序512设置界面的设计用户选择设置后会进入一个设置列表界面,该界面是利用ANDROID固有的资源模板,没有做多余的修饰,简单明了的表达出设置项目及目的。每一行显示一条设置信息。该界面仅仅使用一个LISTVIEW控件实现设置的列表,不占用较多的尺寸却能够让用户直观的看到所有关于计步器统计运动量所需的信息。列表中的每一项均可再打开一个小窗口用于更改用户信息,例如设置步长功能(见图53),在点击“STEPLENGTH”键后会出现填入用户步长的对话框如图54。图53设置步长图54输入用户步长设置列表中的每一项指向了一条设置内容,点击一条设置项目后能够进入设置项目的输入界面,用户可以根据自身的实际情况来更改设置信息,这也很符合人们的使用习惯。52各功能的实现521计步开始及暂停首先对PAUSE/RESUME键做一个监听START_PAUSE_BUTTONSETONCLICKLISTENERNEWVIEWONCLICKLISTENER同时还要对此时状态做一个判断START_PAUSE_BUTTONSETTEXTMISRUNNINGRSTRINGPAUSERSTRINGRESUME若初始状态为记录则显示PAUSE,若初始状态为非记录状态则显示RESUME。具体代码的实现见附录“开始/暂停按钮”522记录数据清零对清零按钮做一个VIEW即RESETBUTTONBUTTONFINDVIEWBYIDRIDRESET_BUTTON实现清零的语句很简单,对“RESET”键做一个监听,当用户点击“RESET”键时,即RESETBUTTONSETONCLICKLISTENERNEWVIEWONCLICKLISTENER执行一下命令PUBLICVOIDONCLICKVIEWVRESETVALUESTRUE这样记录数据清零的按钮就完成了。523设置步长对于设置步长,首先要获取用户所输入的步长信息RETURNFLOATVALUEOFMSETTINGSGETSTRING“STEP_LENGTH“,“20“若用户未对步长信息进行编辑,则默认为20在DISTANCENOTIFIER中使用MSTEPLENGTH来计算走过的距离MDISTANCEMDISTANCEFLOATMSTEPLENGTH/1000000NOTIFYLISTENER在PACECHANGED中使用MSTEPLENGTH来计算步速MSPEED/KILOMETERS/HOURVALUEMSTEPLENGTH/CENTIMETERS/MINUTE/100000F60F/CENTIMETERS/KILOMETERTELLFASTERSLOWERNOTIFYLISTENER524设置体重对于设置体重,首先要获取用户所输入的体重信息RETURNFLOATVALUEOFMSETTINGSGETSTRING“BODY_WEIGHT“,“50“若用户未对步长信息进行编辑,则默认为50在CALORIESNOTIFIER中使用MBODYWEIGHT来计算用户因运动所消耗的卡路里MCALORIESMBODYWEIGHTMISRUNNINGMETRIC_RUNNING_FACTORMETRIC_WALKING_FACTORMSTEPLENGTH/1000000NOTIFYLISTENER525设置运动状态当用户选择跑步运动的时候,程序会判断返回值等于RUNNINGRETURNMSETTINGSGETSTRING“EXERCISE_TYPE“,“RUNNING“EQUALS“RUNNING“判断跑步还是走路是为了方便计算用户所消耗的卡路里,在因运动所消耗卡路里的计算公式中跑步状态和走路状态分别对应不同的参数,根据用户的选择而确定卡路里的计算方法。设置运动装态的详细代码见附录“判断是走路还是跑步”。6系统测试61测试开始停止模块测试能否根据用户控制得到开始计步和停止计步的结果。611测试准备1模块名计步器2负责人梁文淑3意图测试计步器各模块功能。612测试过程1点击应用图标,如图61所示2运动使主界面开始记录数据,如图62所示我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文图61图为计步器主界面图62图为计步器主界面3在主界面点击PAUSE,如图63所示4继续运动观察主界面数据是否有变化,如图64所示我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要论文我要过论文我要过论文我要过论文我要过论文我要过论文我要文图63图为停止计步界面图64图为停止计步后仍在运动界面5进入SETTINGS(设置)界面,如图65所示6点击设置SENSITIVITY灵敏度,如图66所示过论文我要过论文我要过论图65图为设置界面图66图为设置灵敏度界面7点击设置STEPLENGTH(步长),如图67所示8点击设置BODYWEIGHT(体重),如图68所示图67图为步长设置界面图68图为体重设置界面9点击设置EXERCISETYPE运动类型,如图69所示过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文图69图为运动类型设置界面62测试总结本软件中几个模块的功能经过测试,均测试通过,测试结果和最初的设计基本一致,所有的功能均能正常运行,软件需要比较特殊的运行环境,首先手机的重力感应功能必须有,而且ANDROID系统的版本过低将不能使用。至此基于安卓平台的手机计步器的设计基本完成。5结论经过了数月的努力,ANDROID平台手计步器软件终于完成了。本软件能实现用户对计步器的基本要求。方便用户开启关闭计步器,对运动情况和运动量可以直观的从主界面获取信息,设置选项中的智能人机交互平台也可以明了的对用户信息进行编辑,不需要复杂的操作不需要学习,一目了然。对于智能手机用户来说,基于安卓平台的手机计步器提供了一个快捷方便的平台。为用户提供随时随地的服务,节省用户不必要的资金消耗与时间消耗是本软件设计的一个宗旨,整个框架和细节的设计都是围绕这个宗旨进行的,虽然整个软件还不是很成熟,还有很多不足和需要改进的地方,或者还有很多信息提供不到位,例如我们可以加入音乐播放模块,是用户在运动的同时享受轻松快乐的环境,这些还需要日后慢慢优化和改善,但是最初的设计都实现了。在现在的功能基础上本软件可以进行扩展升级。本软件最初设计的时候就是一个可以扩展的框架,所以为将来加入新的功能提供了很大的方便。本软件虽然不是很强大,但是是我自己亲手编写的,开发一个能在时下最流行的软件,使之顺利的在平台上运行是一件令人兴奋的事情。把自己的想法一步一步地付诸实践,最后成为一个真实的实物,被别人使用和称赞,此时得到的成就感是尤为强烈的。致谢四年的读书生活在这个季节即将划上一个句号,而于我的人生却只是一个逗号,我将面对又一次征程的开始。四年的求学生涯在师长和亲友的大力支持下,走得辛苦却也收获满囊。毕业课题设计是我大学生活中忙碌而又充实的一段时光。在过去的几个月里,我学到了很多宝贵的东西。不仅学到更多的理论知识,扩展了知识面,提高了自己的实际操作能力,而且学会了如何去学习新的知识,学会了面对困难和挑战,这些将是我以后的工作学习中的巨大财富。在论文即将付梓之际,思绪万千,心情久久不能平静。伟人、名人为我所崇拜,可是我更急切地要把我的敬意和赞美献给一位平凡的人,我的导师。我不是您最出色的学生,而您却是我最尊敬的老师。您治学严谨,学识渊博,思想深邃,视野雄阔,为我营造了一种良好的精神氛围。授人以鱼不如授人以渔,置身其间,耳濡目染,使我不仅接受了全新的思想观念,树立了宏伟的学术目标,领会了基本的思考方式。从论文题目的选定到论文写作的指导,经由您悉心的点拨,再经思考后的领悟,常常让我有“山重水复疑无路,柳暗花明又一村”。其次要衷心的感谢此次论文评审团的全体老师在百忙之中牺牲宝贵的休息时间来审阅我的论文,不厌其烦的帮我一遍遍的对论文进行最后的修正。老师们的辛苦我看在眼里记在心里,在以后的人生之路上我一定努力工作回报恩师,回报母校。在此向默默支持、鼓励和关怀我的父母和亲人道一声谢谢,尤其是我的父母为我的学业提供了物质和精神支持,没有他们的付出,就没有我的今天。父母及家人无私的爱是我永远的动力。再一次感谢我的母校北京邮电大学世纪学院,感谢通信与信息工程专业对我的培养,感谢所有帮助过我的老师和同学朋友们谢谢大家在以后的工作、学习和生活中我将更加努力,用自己的行动回报社会、学校、老师及同学参考文献1李刚疯狂的ANDROID讲义M北京电子工业出版社201172吴亚峰,苏亚光ANDROID20游戏开发实战宝典M北京人民邮电出版社201073李宁ANDROID开发完全讲义M北京中国水利水电出版社201244严蔚敏,吴伟民数据结构M北京清华大学出版社200735李刚疯狂JAVA讲义M北京电子工业出版社2008106BRUCEECKEL著JAVA编程思想陈昊鹏M北京机械工业出版社2007623357苏亚光吴亚峰索依娜ANDROID平台下传感器技术开发计步器应用J电脑编程技巧与维护201023368熊刚基于ANDROID的智能手机的设计与实现D武汉理工大学201034一609SANDEEPKUMARLOCATIONBASEDSERVICESUSINGANDROIDCANDROIDAPPLICATIONFUNDAMENTALS,2009IEEEINTERNATIONALCONFERENCEP1510姚昱旻,刘卫国ANDROID与J2ME平台间即时通信的研究与实现J计算机系统应用20081211812011公磊,周聪基于ANDROID的移动终端应用程序开发与研究J计算机与现代化20088868912差沙,地狱男爵用ANDROID开发手机应用J程序员20081252713NARAYANBABUANDROIDAPPLICATIONDEVELOPMENTSKILLSJITTIMEWEEKLY,2012。68555814KONRADADENAUERANDROIDSTRUCTURALDESIGNGUIDELINESJJOURNALOFCOMPUTERANDSOFTWAREENGINEERING,2012366972附录ACTIVITYPACKAGEEDUBUPTCOMMLIANGWENSHUPEDOMETERIMPORTANDROIDAPPACTIVITYIMPORTANDROIDAPPBACKUPRESTOREOBSERVERIMPORTANDROIDCONTENTCOMPONENTNAMEIMPORTANDROIDCONTENTCONTEXTIMPORTANDROIDCONTENTINTENTIMPORTANDROIDCONTENTSERVICECONNECTIONIMPORTANDROIDCONTENTSHAREDPREFERENCESIMPORTANDROIDOSBUNDLEIMPORTANDROIDOSHANDLERIMPORTANDROIDOSIBINDERIMPORTANDROIDOSMESSAGEIMPORTANDROIDPREFERENCEPREFERENCEMANAGERIMPORTANDROIDUTILLOGIMPORTANDROIDVIEWMENUIMPORTANDROIDVIEWMENUITEMIMPORTANDROIDVIEWVIEWIMPORTANDROIDWIDGETBUTTONIMPORTANDROIDWIDGETLINEARLAYOUTIMPORTANDROIDWIDGETTEXTVIEW/AUTHORLIANGWENSHU/PUBLICCLASSWALKINGACTIVITYEXTENDSACTIVITYPRIVATESTATICFINALSTRINGTAG“PEDOMETER“PRIVATESHAREDPREFERENCESMSETTINGSPRIVATEPEDOMETERSETTINGSMPEDOMETERSETTINGSPRIVATEUTILSMUTILSPRIVATETEXTVIEWMSTEPVALUEVIEW/步数PRIVATETEXTVIEWMPACEVALUEVIEW/PRIVATETEXTVIEWMDISTANCEVALUEVIEW/距离PRIVATETEXTVIEWMSPEEDVALUEVIEW/速度PRIVATETEXTVIEWMCALORIESVALUEVIEW/卡路里消耗显示框TEXTVIEWMDESIREDPACEVIEWPRIVATEINTMSTEPVALUE/MSTEPVALUEVIEW的值PRIVATEINTMPACEVALUE/MPACEVALUEVIEW的值PRIVATEFLOATMDISTANCEVALUE/MDISTANCEVALUEVIEW的值PRIVATEFLOATMSPEEDVALUE/MSPEEDVALUEVIEW的值PRIVATEINTMCALORIESVALUE/MCALORIESVALUEVIEW的值PRIVATEFLOATMDESIREDPACEORSPEED/PRIVATEINTMMAINTAIN/IS爬山PRIVATEBOOLEANMISMETRICTRUE/公制和米制切换标志PRIVATEFLOATMMAINTAININC/PRIVATEBOOLEAN

温馨提示

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

评论

0/150

提交评论