1、1基于 Android 系统的计步器软件的设计与制作北京邮电大学世 b. 主界面见图 3-4。 c.设置和退出按钮见图 3-5。 图 3-4 图为应用主界面 d.设置界面见图3-6。 图 3-6 图为设置界面 图 3-5 画红圈处为设置,退出按钮 12 北京邮电大学世 3.3 数据需求分析 2表 3-2 信息输入输出 信息输入 用户点击开始计步 用户点击暂停 用户用户点击清零 用户点击设置键 输入步长设置 输入灵敏度设置 输入体重设置 输入运动类型设置 信息处理 软件通过后台感应手机状态,开始计步 软件将通过后台停止感应手机状态,从而停止计步 软件通过后台运行清除所记录的数据 软件通过数据库中
2、的设置管理 对数据库中步长信息进行改变 对数据库中灵敏度信息进行改变 信息输出 通过软件主界面输出计步总数,消耗卡路里等信息 显示计步的相应信息 所有这界面显示的信息将归零等待下次命令 显示设置主界面 刷新设置中步长列表 刷新设置中灵敏度列表 对数据库中的体重进行管理 刷新收藏夹电视频道的列表 对数据库中的运动类型进行管理 刷新收藏夹单词的列表 13 北京邮电大学世 4.系统设计 4.1 系统总体结构设计 在设计一款软件时一般都会把它分成几个模块,在模块的基础上还会再分小模块,这样就达到了软件模块化设计的要求,然后再对各个小模块进行详细设计和编写,采用模块化的管理方式可以使软件结构更清晰,也使
3、得软件的3管理更有秩序,使别人容易理解和阅读,但是这些模块也要根据别的模块来设计和约束,不能随便设计脱离框架,设计完成后需要把每个设计完成的模块根据总体框架结合起来。 根据本软件的功能需求,将本软件分为以下几个功能模块,如图 4-1 所示: 主界面 暂停/开始 步数 公里 步速 时速 卡路里 清零 结束 开始暂停运动走过的总步数走过的总长度每分钟多少步走过的总步数运动所消耗的能量所有数据清零关闭应用软件 图 4-1 整体框架图 14 / 灵敏度 步长 体重 设置 运动类型 设置软件敏感程度设置用户一步多长设置用户体重设置用户运动类型 北京邮电大学世 4.2 系统静态模型设计 根据系统需求可以识
4、别系统中存在的对象。从需求中可知我们至少创建 2 个类:主界面类和设置类。 系统和用户交互时需要直观的图形化界面,所以我们需要 5 个设置界面类。 确定了系统的类后需要确定类之间的4关系,如图 4-2 所示: StepService 计步器后台服务类实现 StepService 对加速传感器的监听()ControlStepDetector 加速度传感器的直接监听者监听加速度传感器并分发监听事件到各种 notifier()ModelStepNotifier 对 StepDetector 的监听器(计步)监听到动作后,对步数进行累加()PaceNotifier 对 StepDetector的监听器
5、(步速)监听到动作后,对步速计算()SpeedNotifier 对 StepDetector 的监听器(时速)监听到动作后,对时速计算()DistanceNotifier 对 StepDetector 的监听器(距离)监听到动作后,对距离累加计算()CaloriesDetector 加 StepDetector 的监听器(热量)监听到动作后计算累加热量()WalkingActivity 主界面类及各种onXXXView 组件监听/响应方法() 图 4-2 系统静态模型 15 北京邮电大学世 5.系统实现 本章介绍本系统的各个模块的设计和实现。首先在Eclipse 中配置好 ADT 和 Andr
6、oid SDK 等开发环境,然后新建一个 Android 项目,项目名为 pedometer,然后在Android 项目中的 AndroidManifest.xml 文件中配置本软件5需要使用的权限。 本论文用到的是: 计步器的主要功能有:计步开始/暂停,设置,显示运动所消耗的卡路里,走过长度,步速,时速,里程。本软件是一个结合手机用户特别是智能手机用户常用功能的一个软件平台,本软件可以通过界面快速获取运动的情况,获取信息后可以对这些信息进行个性化处理以方便用户直观的感受运动量。 5.1 布局界面的设计 5.1.1 主界面的设计 由于 Android 平台手机屏幕大小有限,为了不使用户有凌乱的
7、感觉,在主界面使用了清爽的色彩以及上两层信息显示的排版,使界面看起来简单明快功能健全。 本软件实现了步速,步数,卡路里的显示等功能,为了让界面显得更为美观,使用更为方便,笔者使用在TextView 的基础上实现了 Tab 底部菜单,在底部菜单上添加了 “Pause/Resume”, “Reset”如图 5-1 所示: (a)主界面运动信息的显示 (b)Pause/Resume 及 Reset 键 图 5-1 主界面信息显示及暂停/ 开始,清零键 616 百度搜索”就爱阅读”,专业资料、生活学习,尽在就爱阅读网 ,您的在线图书馆! 基于安卓平台的手机计步器的设计 摘要 Android 是一个针对
8、移动设备的操作系统和软件平台,随着智能手机的兴起,渐渐成为了占有市场最大比重的移动平台操作系统,同时也越发地受到广大用户的青睐。Android 采用 Linux 内核,由 Google 和开放手机联盟于2007 年 11 月 5 日发布。容许使用 Java 语言来开发和管理代码。作为一个年轻并且流行的移动应用平台,目前android 软件的应用面还是比较广泛的,比如聊天,通讯,上网等等,但涉及传感器方面的应用软件还比较少。本文在分析讨论 Android 手机软件开发原理的同时,针对智能手机用户日常使用的实际情况,对用户手机的日常功能需求进行调查。发现对于经常走路上班或者锻炼的朋友来说拥有一款精
9、美、功能齐全的计步器是非常必要的。将精确计量和智能运行技术完美结合,只需开启软件,通过感应器传来的信息,App 能够变化算法,测得你的走路步数,7速度以及消耗的卡路里量与行走历程。一款合适的计步器在无形中会量化用户的健身效果,帮助用户坚持锻炼以达到更好的健身效果。 关键词 Android 智能手机平台 计步器 Java I Title The design of mobile phone pedometer based on the android platform Abstract Android is an operating system and software platform fo
10、r mobile devices. With the development of Smartphone, it gradually became the biggest proportion in the market of mobile operating system. At the same time, it became more and more popular among users. Android uses the Linux kernel, announced on November 5, 2007 by Google and the open handset allian
11、ce, and it allow to use Java language to develop and manage the code. As a young and popular mobile application platform, the application of android is 8relatively wide; such as chat, communication and internet. However, the application of sensors is less. The thesis of this essay is to analyze and
12、discuss the principle of software development of Android mobile phone. Also, the another purpose in this essay is to conduct an investigation in the daily functional demand for mobile phone users based on the situation of daily uses of smart phone users. The research shows that it is very important
13、to have a fully functional pedometer for people who often walk to work or exercise. The pedometer makes a perfect combination of accurate measurement and intelligent operational technology, when the software are ready to run, it can use the massage which acquire from sensor to calculate the step fre
14、quency ,speed, the consumption of calories and walking journey of your walk. An appropriate pedometer can quantify users fitness effect in potentially; in this way it can make users to keep exercising in order to achieve better fitness effect. Keywords android smartphone platform java pedometer II 9
15、目录 1前言 . 1 1.1 智能手机系统开发背景 . 1 1.2 课题的目的与意义 . 2 1.3 本文主要研究内容 . 2 2相关技术介绍 . 4 2.1 开发工具及环境简介 . 4 2.1.1 开发工具 . 4 2.1.2 开发环境 . 5 2.2 ANDROID SDK 常见公共类库介绍 . 6 2.2.1 Android 的传感器 . 6 2.2.2 Android 界面 Activity介绍 . 6 3.系统需求分析 8 3.1 可行性研究 8 3.1.1 经济可行性 8 3.1.2 技术可行性 8 3.1.3 操作可行性 9 3.2 性能需求分析 . 10 3.2.1 实用性原则
16、 . 10 3.2.2 可扩展性与可维护性原则 . 10 3.2.3 安全可靠性原则 10. 11 3.2.4 用户界面美观原则 . 11 3.3 数据需求分析 . 13 4.系统设计 . 14 4.1 系统总体结构设计 . 14 4.2 系统静态模型设计 . 15 5.系统实现 . 16 5.1 布局界面的设计 16 5.1.1 主界面的设计 16 III 5.1.2 设置界面的设计 17 5.2 各功能的实现 . 18 5.2.1 计步开始及暂停 . 18 5.2.2 记录数据清零 . 18 5.2.3 设置步长 18 5.2.4 设置体重 19 5.2.5 设置运动状态 19 6.系统测
17、试 . 20 6.1 测试开始停止模块 . 20 6.1.1 测试准备 20 6.1.2 测试过程 1120 6.2 测试总结 . 23 5结论 24 致谢 . 错误!未定义书签。 参考文献 . 25 附录 . 26 IV 北京邮电大学世 1前言 1.1 智能手机系统开发背景 当今社会,手机已经成为人们工作生活中必不可少的一项通讯和娱乐工具,随着手机的不断更新,手机的各种高层服务和应用层出不穷。现在智能手机可谓是爆发式增长,与此同时传统手机在不断地消失,诺基亚就是在这样的环境中受到了重创。现在主要有三个使用率和关注度最高的手机平台,分别是:Android,ios 和 windows phone
18、 平台,在这三个平台中 Android 的占有率最高。自 2007 年 11 月Google 公司发布 Android 系统以来,短短几年时间,Android 已经占据了智能手机市场的半壁江山,成为目前最为炙手可热的智能手机操作系统。Android 走进了越来越多人的生活,成为他们获取信息的主要平台。 12Android 平台是一个面向大众的系统,分布在低端,中端和高端市场中,受到了各个层次的欢迎,并且 Android 是开源的,开发者随时都可以查看系统源代码,并且使用时下最流行的 java 作为其主要的开发语言。由于这些特点,才使得 Android 成为现在市场占有量最大的软件平台,在这样的
19、平台上面开发一款独特的日常生活软件尤为必要的。Android 不只是一个操作系统而已,它包括了: a) 经过 Google 剪裁和调优的 Linux Kernel,对于掌上设备的硬件提供了优秀的支持。Google 在 Linux 方面的应用能力不容置疑,Google 公司所有的几十万服务器全部是自己修改过的Linux 操作系统。 b) 经过 Google 修改的 Java 虚拟机 Dalvik,是基于 Apache Harmony 虚拟机版本进行改良而来,能够提供极高的执行性能。有了Java 虚拟机,大部分 Java 核心类库都已经可以直接运行。 c) 大量立即可用的类库和应用软件,例如浏览器
20、 Webkit,数据库 SQLite,让你可轻易开发出来媲美于桌面应用复杂度的手机软件。d) 13Google 已经开发好了大量现成的应用软件,同时可以直接使用 Google很多在线服务。 e) Google 提供了基于 Eclipse 的完整开发环境,模拟器,文档,帮助,示例将极大推动 Android 快速的推广和发展。 基于 Android 众多的优点,围绕 Android 形成了一个移动手机联盟,主要的手1 百度搜索“就爱阅读”,专业资料、生活学习,尽在就爱阅读网 ,您的在线图书馆! 北京邮电大学世 机厂商几乎全部在列,而此联盟在极大的推动 Android平台的推广和发展,在未来的几年也
21、必将极大的推动整个手机操作系统甚至是互联网乃至软件行业的发展。 1.2 课题的目的与意义 Android 平台对于 Google 和用户的意义不在于手机本身,而在于为了推动移动互联网产业链的迅速成型。具有开源特性的 Android 手机平台废弃了之前 Symbian、windows mobile 等操作系统收取高额的授权费用的模式,使得应用14开发成本大大降低;也正是由于它开放源代码,使得手机产生更多个性化的应用。同时,合作方也能够在这里得到利润或者创造价值,手机软件行业得到有效的维护协调发展。这正式 Google 发布 Android 平台的意义,也是Andorid 平台存在的使命所在。而作
22、为 Android 平台成员之一的中国移动也投资成立了一家通讯公司,专门从事Google 手机软件的应用以及本地化特色软件的开发,比如在 Google 手机平台上添加飞信、输入法等一系列符合国内用户使用习惯的功能。更多的手机软件开发商已经或者筹备将公司进行转型,从其方向的开发转向到 Android 软件的开发。 综观世界,Android 平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年或者一段时间内,Android 将越发的凸显自己的重要性。基于此,我们有必要通过进行相关的研究来了解 Android 平台,来了解开发Android 的那一大批人的先进理念和思想,进而更深入了
23、解手机软件行业,同事掌握未来无线移动互联网的发展趋势,从而更好的适应时代的需要。 1.3 本文主要研究内容 本论文是对基于安卓平台的手机计步器的设计和研究,目的是为了方便用户绿色生活,保持健康的生活态度,并且为用户节约了不必要的开支同时也避免了资源的浪费。15Android 系统的一大亮点之一就是传感器的使用,利用传感器可以开发出很多新奇有趣的应用程序,例如计步器,水平仪,甚至在很多游戏中都可以使用传感器来操作游戏。传感器的种类很多,其中包括加速度传感器、姿态传感器、磁场传感器、温度传感器、光传感器等,本论文介绍的计步器应用就是使用加速度传感器。 本论文主要对计步器以下功能做主要研究。程序运行
24、后进入主界面,用户可以看到行程、消耗热量、速度以及步速。点击开始,进入运行状态,点击清零可以使所有数据回归零初始状态。点击设置选项可以进入设置界面,调节灵敏度来设置需要的灵敏度(灵敏度越高,对身体的动作的感应越灵敏,调节灵敏度来适应不同的2 北京邮电大学世 体型了,路面等因素) ,通过设置步长来设置用户自身实际步长(为了估算行走的距离和速度,输入步长得出粗略的距离和速度,仅供参考) ,设置体重来调节用户的实际体重(这是为了计算消耗的卡路里) 。 按软件工程步骤: 1) 了解相关资料,了解本软件的研究意义,确定实现技术与方式设计总目标及其整体框架。 162) 了解用户的使用习惯和使用心理,进行用
25、户需求分析和规范。 3) 草拟功能模块,画出模块图。 4) 搜集软件制作素材。 5) 编写代码实现各个功能模块。 6) 根据 Android 特有的使用风格进行布局与优化。 7) 完成系统测试并改进。 3 北京邮电大学世 2相关技术介绍 2.1 开发工具及环境简介 Android 的上层应用程序是用 Java 语言开发,同时还需要基于 Dalvik 虚拟机,所以 Google 公司推荐使用主流的Java 继承开发环境 Eclipse。只有 Eclipse 还不够,因为是使用 Java 语言进行开发,还应该有由 SUN 公司提供的Java SDK(其中包括 JRE:Java Runtime En
26、vironment)。此外,Android 的应用程序开发和 Java 开发有较大区别的,所以还需要有 Google 提供的 Android SDK。同时,还需要在 Eclipse 安装 ADT,为 Android 开发提供开发工具的升级或者变更,是 Eclipse 下开发工具的升级下载的工具。 简言之,需要以下软件,才能搭建 Android 开发环境,从而进行 Android 应用程序的开发。 17(1) Java SDK (2) Eclipse (3) Android SDK (4) ADT 2.1.1 开发工具 2.1.1.1 Android SDK 介绍 SDK 指是软件开发包,被软件
27、开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK 指的既是Android 专属的软件开发工具包。 2.1.1.2 Eclipse 简介 Eclipse 是一个著名的跨平台的自由集成开发环境软件。最初主要用来 Java 语言开发,现在人们可以通过安装插件使其作为 C+、Python、PHP 等其他语言的开发工具。Eclipse 的本身只是一个框架平台,但是随着众多插件的产生,使得 Eclipse 拥有很好的灵活性。许多软件开发商以Eclipse 为框架开发自己的 IDE。 Eclipse 含有插件开发环境,这个组件主允许希望扩
28、展Eclipse 的软件开发人员构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于4 北京邮电大学世 给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。18尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限于 Java 语言。例如,支持诸如 C/C+ 和 COBOL 等编程语言的插件已经可用。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。 本系统即通过 Eclipse,添加 Android 做插件,匹配上AndroidSDK 进行
29、软件的开发。 2.1.1.3 JDK 简介 JDK(Java Development Kit)是一个写 Java 应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用 Java 语言写的 applet 和应用程序所需的工具组成。 JDK 是 Sun Microsystems 针对 Java 开发员的产品。自从 Java 推出以来,JDK 已经成为使用最广泛的 Java SDK(Software development kit) 。JDK 是整个 Java 的核心,包括了 Java 运行环境,Java 工具和 Java 基础的类库。JDK 中还包括完整的 JR
30、E(Java Runtime Environment,Java 运行环境) ,也被称为 private runtime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL 库。 2.1.1.4 ADT 简介 Google 专门为 Eclipse 开发了一个插件来辅助开发,即19Android Development Tools(ADT ) 。目前 Android 开发所用的开发工具是 Eclipse,在 Eclipse 编译 IDE 环境中,安装 ADT,为 Android 开发提供开发工具的升级或者变更,简单理解为在 Eclipse 下开发工具的升级下载工具。 2.
31、1.2 开发环境 本软件是在 windows 7 操作系统中,利用 Eclipse 开发工具搭载 Android SDK 工具包,结合 Android 手机自带的sqlite3 数据库进行开发。 5 北京邮电大学世 2.2 Android SDK 常见公共类库介绍 2.2.1 android 的传感器 加速度传感器 、磁场传感器、光线传感器 、重力传感器、线性加速传感器、等等。 加速度传感器 :Sensor.TYPE_ACCELEROMETER:返回手机设备在 X,Y,Z 三个方向上的加速度.(我们用到的) 磁场传感器:Sensor.TYPE_MAGNETIC_FIELD:,返回周围磁场在手机
32、的 X,Y,Z 方向上的影响(磁场分量). 距离感应器:Sensor.TYPE_PROXIMITY: 重力传感器:Sensor.TYPE_GRAVITY: 20线性加速传感器:Sensor.TYPE_LINEAR_ACCELERATION: 2.2.2 Android 界面 Activity 介绍 Android 的界面是由每一个成为 Activity 的 java 类组成的,这个类库是制作 Android 软件必须使用的。 WalkingActivity 是应用程序的用户界面,主要功能是按照XML 布局文件的内容显示界面并与用户进行交互。只有使用了这个才可以让用户看得见,本类中有几个常用的覆
33、写方法来表示界面的生存周期,分别是: onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()七个方法。 Activity 的生命周期图,如图 2-1 所示: 6 百度搜索“就爱阅读”,专业资料、生活学习,尽在就爱阅读网 ,您的在线图书馆! 北京邮电大学世 21图 2-1 Android Activity 生存周期图 7 北京邮电大学世 3.系统需求分析 3.1 可行性研究 可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对刚刚开发打算进一步应用的系统的必
34、要性和可能性的分析和研究。可行性研究的目的主要在于,用最小的代价在尽可能短的时间内确定问题是否能够解决。 该阶段通过对系统总目标的初步调研与分析,提出可行性方案并进行论证。在此,主要从经济可行性、技术可行性和操作可行性三方面进行分析。 3.1.1 经济可行性 随着人民生活水平的提高,尤其我国成功承办 2008 年奥运会以来,人们的健康运动意识逐渐增强。而上班族们由于时间紧张可利用的休闲时间较少,他们则会利用一些零散的时间进行锻炼,比如上班来回的路上多走路少乘车,在办公区尽量选择走楼梯而不是乘坐电梯等等,由于运动时间零散不便于量化自己的运动量,也就无法估计健身效果。在这样的背景前提下,拥有一款计
35、步器就显得尤为必22要了。目前市场上的计步器少则几十多则上百,而智能手机计步器软件的成本几乎为零。只需用户拥有一台有安卓系统的智能手机即可安装使用了。并且手机计步器软件携带方便,可以随时随地获取用户的运动信息,拥有不受地理和时间限制的特点,可以充分利用人们的闲暇时间,从这个角度看,该软件可行。 3.1.2 技术可行性 开发工具:Eclipse Classic 3.7.2 数据库环境:sqlite3 系统环境:Microsoft Windows XP 或以上版本 软件实现是依靠基于 Android 系统的开发技术,使用的是 java 为主的开发语言进行开发,再加上 SOAP 技术进行数据交互。
36、3.1.2.1 功能说明 具体有如下一些功能:计步开始,计步暂停,计步清零,主屏幕显示计步总数,走过的公里数,每分钟走多少步,每小时走多少公里和消耗的卡路里量。进入设置8 北京邮电大学世 菜单设置灵敏度,设置步长,根据步长计算走过公里数、步速和消耗的卡路里量,设置体重和运动类型,主要用于计算消耗的卡路里量。退出应用。 3.1.2.2 技术分析 表 3-1 技术需求分析 关键技术项 数据结构 数据库 Java Android 要求 了解 23熟悉 熟练 现有水平 了解 了解 熟悉 对照分析 可以满足要求。 虽有欠缺,但通过指导培训,应该在短期内可以达到要求。 基本可以满足要求。 短期需进一步达到
37、要求,存在一定问题。 精通 熟悉 3.1.3 操作可行性 软件采用最主流的 Android 软件应用开发风格,并使用Android 的原生组件进行开发,界面友好,简洁易懂,组建布局具有诱导性,用户使用极其方便快捷。主界面操作流程见图 3-1,设置界面操作流程见图 3-2。 开始 开始计步 计步暂停 计步清零 图 3-1 图为主界面操作流程图 9 北京邮电大学世 主界面 设置 灵敏度 步长 体重 运动类型返回 图 3-2 图为设置界面操作流程图 3.2 性能需求分析 为了保证软件能够长期、安全、稳定、可靠、高效地在Android 设备上运行,本系统应该满足以下性能需求。 3.2.1 实用性原则
38、24充分利用手机的内置传感器功能,为本软件提供信息支持,充分考虑用户获取信息的心理需求,在简洁实用的基础上对软件界面层级进行布局,做到了方便,美观大方。 3.2.2 可扩展性与可维护性原则 为适应将来的发展,软件应该具有良好的可扩展性和可维护性。系统设计尽可能模块化、组件化,由于 Android设备分辨率的各不相同,使软件可灵活配置,适应不同的的 Android 终端设备。系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的资源建设。当用户的需求有所改变时,可以对其快速的配置改变,以应对用户的需求,有一个较好的应用平台Android 设备,能容易地安装和卸载。系统易
39、于扩充升级,既能满足当前业务的需求,将来的需求改变升级也被考虑在内。 10 北京邮电大学世 3.2.3 安全可靠性原则 随着三网融合的发展,智能终端产业链的构成相对于传统功能手机发生了巨大变化。处于上游的操作系统提供商制定安全机制的基本规则以及相应的应用商店政策。终端厂商在这些规则的基础上,定制个性化的终端软件,建立25自有的应用商店。应用软件开发商/开发者则利用操作系统提供商提供的工具进行各类应用软件的开发,第三方应用商店或论坛等提供应用软件的下载渠道。基于智能终端产业链在管理和技术方面暴露出来的脆弱性,来源于传统互联网和信息系统的各类攻击逐渐将目标定位于智能终端,并借助智能终端操作系统的开
40、放性制造出大量的恶意软件。此外,应用商店的审核机制欠缺也导致了恶意软件的泛滥。目前智能终端信息窃取类软件横行,一款应用软件的安全可靠性便显得尤为重要了。 现在智能终端个人信息的泄露通常不会引起用户的觉察,或者即便觉察也无法判断其带来的损失。与早期的安全问题不同,个人信息泄露所带来的通常不是直接的高额话费,而是潜在的巨大经济损失。如银行账户泄密、绝密商业信息泄露等。如何保护用户个人信息,防止在用户不知情的情况下泄露隐私信息,是当前亟待解决的问题。本软件承诺不会残留用户任何的隐私信息。 3.2.4 用户界面美观原则 界面经过对用户心理的调研和统计后。并参考时下流行的软件风格进行设计,在此基础上,加
41、入了对用户具有诱导性的按键设计,使得用户在初次使用的时候就会使用,而不需要在使用的时候进行特别的学习和指导。 a. 应用图标见图 3-3。 26图 3-3 图为应用图标 11 百度搜索“就爱阅读”,专业资料、生活学习,尽在就爱阅读网 ,您的在线图书馆! 北京邮电大学世 “Pause/Resume”主要终于用于停止和开启监听手机运动状态,也就是用户可以点击该按钮添来控制手机计步器的工作开始或者暂停。 “Reset”用于清除 Android 数据池所获得的数据即用户可以利用此键将之前所记录的运动信息清零,以便开始记录新一次的运动情况。 在主界面下,点击 Android 固有的功能键即可呼唤出设置和
42、退出应用键,即“Settings”,“Quite”如图 5-2 所示: 图 5-2 Settings 和 Quite 键 “Settings”用于进入设置主界面,对用户的参数进行设这。27“Quite”即退出本程序 5.1.2 设置界面的设计 用户选择设置后会进入一个设置列表界面,该界面是利用 Android 固有的资源模板,没有做多余的修饰,简单明了的表达出设置项目及目的。每一行显示一条设置信息。该界面仅仅使用一个 ListView 控件实现设置的列表,不占用较多的尺寸却能够让用户直观的看到所有关于计步器统计运动量所需的信息。 列表中的每一项均可再打开一个小窗口用于更改用户信息,例如设置步长
43、功能(见图 5-3) ,在点击“Step length”键后会出现填入用户步长的对话框如图 5-4。 图 5-3 设置步长 图 5-4 输入用户步长 17 北京邮电大学世 设置列表中的每一项指向了一条设置内容,点击一条设置项目后能够进入设置项目的输入界面,用户可以根据自身的实际情况来更改设置信息,这也很符合人们的使用习28惯。 5.2 各功能的实现 5.2.1 计步开始及暂停 首先对 Pause/ resume 键做一个监听start_pause_button.setOnClickListener(new View.OnClickListener() 同时还要对此时状态做一个判断 start_
44、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.O
45、nClickListener() 执行一下命令: ; public void onClick(View v) resetValues(true); 29这样记录数据清零的按钮就完成了。 5.2.3 设置步长 对于设置步长,首先要获取用户所输入的步长信息: return Float.valueOf(mSettings.getString(18 北京邮电大学世 若用户未对步长信息进行编辑,则默认为 20. 在 DistanceNotifier 中使用 mStepLength 来计算走过的距离: mDistance = mDistance + (float) (mStepLength / 10000
46、0.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(若用户未对步长信息进行编
47、辑,则默认为 50. 30在 CaloriesNotifier 中使用 mBodyWeight 来计算用户因运动所消耗的卡路里: mCalories += (mBodyWeight * (mIsRunning ? METRIC_RUNNING_FACTOR : METRIC_WALKING_FACTOR) * mStepLength / 100000.0; notifyListener(); 5.2.5 设置运动状态 当用户选择跑步运动的时候,程序会判断返回值等于Running: return mSettings.getString(.equals(判断跑步还是走路是为了方便计算用户所消耗的卡路里,在因运动所消耗卡路里的计算公式中跑步状态和走路状态分别对应不同的参数,根据用户的选择而确定卡路里的计算方法。设置运动装态的详细代码见附录“判断是走路还是跑步”。 19