北京邮电大学世纪学院毕业设计(论文)
5.系统实现
本章介绍本系统的各个模块的设计和实现。首先在Eclipse中配置好ADT和Android SDK等开发环境,然后新建一个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 主界面信息显示及暂停/开始,清零键 16 北京邮电大学世纪学院毕业设计(论文) “Pause/Resume”主要终于用于停止和开启监听手机运动状态,也就是用户可以点击该按钮添来控制手机计步器的工作开始或者暂停。 “Reset”用于清除Android数据池所获得的数据即用户可以利用此键将之前所记录的运动信息清零,以便开始记录新一次的运动情况。 在主界面下,点击Android固有的功能键即可呼唤出设置和退出应用键,即“Settings”,“Quite”如图5-2所示: 图5-2 Settings和Quite键 “Settings”用于进入设置主界面,对用户的参数进行设这。 “Quite”即退出本程序 5.1.2设置界面的设计 用户选择设置后会进入一个设置列表界面,该界面是利用Android固有的资源模板,没有做多余的修饰,简单明了的表达出设置项目及目的。每一行显示一条设置信息。该界面仅仅使用一个ListView控件实现设置的列表,不占用较多的尺寸却能够让用户直观的看到所有关于计步器统计运动量所需的信息。 列表中的每一项均可再打开一个小窗口用于更改用户信息,例如设置步长功能(见图5-3),在点击“Step length”键后会出现填入用户步长的对话框如图5-4。 图5-3 设置步长 图5-4 输入用户步长 17 北京邮电大学世纪学院毕业设计(论文) 设置列表中的每一项指向了一条设置内容,点击一条设置项目后能够进入设置项目的输入界面,用户可以根据自身的实际情况来更改设置信息,这也很符合人们的使用习惯。 5.2 各功能的实现 5.2.1 计步开始及暂停 首先对Pause/ resume键做一个监听 start_pause_button.setOnClickListener(new View.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(new View.OnClickListener() 执行一下命令: { }; public void onClick(View v) { } resetValues(true); 这样记录数据清零的按钮就完成了。 5.2.3 设置步长 对于设置步长,首先要获取用户所输入的步长信息: return Float.valueOf(mSettings.getString(\ 18 北京邮电大学世纪学院毕业设计(论文) 若用户未对步长信息进行编辑,则默认为20. 在DistanceNotifier中使用mStepLength来计算走过的距离: mDistance = mDistance + (float) (mStepLength / 100000.0); notifyListener(); 在paceChanged中使用mStepLength来计算步速: mSpeed = // kilometers / hour value * mStepLength // centimeters / minute / 100000f * 60f; // centimeters/kilometer tellFasterSlower(); notifyListener(); 5.2.4 设置体重 对于设置体重,首先要获取用户所输入的体重信息: return Float.valueOf(mSettings.getString(\ 若用户未对步长信息进行编辑,则默认为50. 在CaloriesNotifier中使用mBodyWeight来计算用户因运动所消耗的卡路里: mCalories += (mBodyWeight * (mIsRunning ? METRIC_RUNNING_FACTOR : METRIC_WALKING_FACTOR)) * mStepLength / 100000.0; notifyListener(); 5.2.5 设置运动状态 当用户选择跑步运动的时候,程序会判断返回值等于Running: return mSettings.getString(\ .equals(\ 判断跑步还是走路是为了方便计算用户所消耗的卡路里,在因运动所消耗卡路里的计算公式中跑步状态和走路状态分别对应不同的参数,根据用户的选择而确定卡路里的计算方法。设置运动装态的详细代码见附录“判断是走路还是跑步”。 19 北京邮电大学世纪学院毕业设计(论文) 6.系统测试 6.1 测试开始停止模块 测试能否根据用户控制得到开始计步和停止计步的结果。 6.1.1 测试准备 1) 模块名:计步器 2) 负责人:梁文淑 3) 意图:测试计步器各模块功能。 6.1.2测试过程 1) 点击应用图标,如图 6-1所示: 2) 运动使主界面开始记录数据,如图 6-2所示: 我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文我要过论文 图6-1 图为计步器主界面 图6-2 图为计步器主界面 20