北京邮电大学世
机厂商几乎全部在列,而此联盟在极大的推动Android平台的推广和发展,在未来的几年也必将极大的推动整个手机操作系统甚至是互联网乃至软件行业的发展。
1.2 课题的目的与意义
Android平台对于Google和用户的意义不在于手机本身,而在于为了推动移动互联网产业链的迅速成型。具有开源特性的Android手机平台废弃了之前Symbian、windows mobile等操作系统收取高额的授权费用的模式,使得应用开发成本大大降低;也正是由于它开放源代码,使得手机产生更多个性化的应用。同时,合作方也能够在这里得到利润或者创造价值,手机软件行业得到有效的维护协调发展。这正式Google发布Android平台的意义,也是Andorid平台存在的使命所在。而作为Android平台成员之一的中国移动也投资成立了一家通讯公司,专门从事Google手机软件的应用以及本地化特色软件的开发,比如在Google手机平台上添加飞信、输入法等一系列符合国内用户使用习惯的功能。更多的手机软件开发商已经或者筹备将公司进行转型,从其方向的开发转向到Android软件的开发。
综观世界,Android平台对手机软件行业和移动手机平台将发挥极大地推动作用,而在未来的几年或者一段时间内,Android将越发的凸显自己的重要性。基于此,我们有必要通过进行相关的研究来了解Android平台,来了解开发Android的那一大批人的先进理念和思想,进而更深入了解手机软件行业,同事掌握未来无线移动互联网的发展趋势,从而更好的适应时代的需要。
1.3 本文主要研究内容
本论文是对基于安卓平台的手机计步器的设计和研究,目的是为了方便用户绿色生活,保持健康的生活态度,并且为用户节约了不必要的开支同时也避免了资源的浪费。Android系统的一大亮点之一就是传感器的使用,利用传感器可以开发出很多新奇有趣的应用程序,例如计步器,水平仪,甚至在很多游戏中都可以使用传感器来操作游戏。传感器的种类很多,其中包括加速度传感器、姿态传感器、磁场传感器、温度传感器、光传感器等,本论文介绍的计步器应用就是使用加速度传感器。
本论文主要对计步器以下功能做主要研究。程序运行后进入主界面,用户可以看到行程、消耗热量、速度以及步速。点击开始,进入运行状态,点击清零可以使所有数据回归零初始状态。点击设置选项可以进入设置界面,调节灵敏度来设置需要的灵敏度(灵敏度越高,对身体的动作的感应越灵敏,调节灵敏度来适应不同的
2
北京邮电大学世
体型了,路面等因素),通过设置步长来设置用户自身实际步长(为了估算行走的距离和速度,输入步长得出粗略的距离和速度,仅供参考),设置体重来调节用户的实际体重(这是为了计算消耗的卡路里)。
按软件工程步骤:
1) 了解相关资料,了解本软件的研究意义,确定实现技术与方式设计总目标及其整体框架。
2) 了解用户的使用习惯和使用心理,进行用户需求分析和规范。 3) 草拟功能模块,画出模块图。 4) 搜集软件制作素材。 5) 编写代码实现各个功能模块。
6) 根据Android特有的使用风格进行布局与优化。 7) 完成系统测试并改进。
3
北京邮电大学世
2.相关技术介绍
2.1 开发工具及环境简介
Android 的上层应用程序是用Java 语言开发,同时还需要基于Dalvik 虚拟机,所以Google 公司推荐使用主流的Java 继承开发环境Eclipse。只有Eclipse还不够,因为是使用Java 语言进行开发,还应该有由SUN 公司提供的Java SDK(其中包括JRE:Java Runtime Environment)。此外,Android 的应用程序开发和Java 开发有较大区别的,所以还需要有Google 提供的Android SDK。同时,还需要在Eclipse 安装ADT,为Android 开发提供开发工具的升级或者变更,是Eclipse 下开发工具的升级下载的工具。
简言之,需要以下软件,才能搭建Android 开发环境,从而进行Android 应用程序的开发。
(1) Java SDK (2) Eclipse (3) Android SDK (4) ADT 2.1.1 开发工具
2.1.1.1 Android SDK介绍
SDK指是软件开发包,被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK指的既是Android专属的软件开发工具包。 2.1.1.2 Eclipse简介
Eclipse是一个著名的跨平台的自由集成开发环境软件。最初主要用来Java语言开发,现在人们可以通过安装插件使其作为C++、Python、PHP等其他语言的开发工具。Eclipse的本身只是一个框架平台,但是随着众多插件的产生,使得Eclipse拥有很好的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。
Eclipse含有插件开发环境,这个组件主允许希望扩展Eclipse的软件开发人员构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于
4
北京邮电大学世
给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
尽管Eclipse是使用 Java 语言开发的,但它的用途并不限于 Java 语言。例如,支持诸如 C/C++ 和 COBOL 等编程语言的插件已经可用。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
本系统即通过Eclipse,添加Android做插件,匹配上AndroidSDK进行软件的开发。
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中还包括完整的JRE(Java Runtime Environment,Java运行环境),也被称为private runtime。包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。
2.1.1.4 ADT简介
Google专门为Eclipse开发了一个插件来辅助开发,即Android Development Tools(ADT)。目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。 2.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:,返回周围磁场在手机的X,Y,Z方向上的影响(磁场分量).
距离感应器:Sensor.TYPE_PROXIMITY: 重力传感器:Sensor.TYPE_GRAVITY:
线性加速传感器:Sensor.TYPE_LINEAR_ACCELERATION: 2.2.2 Android界面Activity介绍
Android的界面是由每一个成为Activity的java类组成的,这个类库是制作Android软件必须使用的。 WalkingActivity是应用程序的用户界面,主要功能是按照XML布局文件的内容显示界面并与用户进行交互。只有使用了这个才可以让用户看得见,本类中有几个常用的覆写方法来表示界面的生存周期,分别是:
onCreate(),onStart(),onResume(),onPause(),onStop(),onDestroy(),onRestart()七个方法。
Activity的生命周期图,如图2-1所示:
6