1、本 科 毕 业 论 文基于 3G 手机的移动教务系统的设计与实现The Design and Implementation of the Senate SystemBased on 3G Mobile Phones姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级:指 导 教 师: 教授年 月I摘 要随着移动通信与 Internet 的飞速发展及相互融通,GPRS 使无线网络高速接入到 Internet 成为现实,移动用户从而可以享受到 Internet 提供服务。移动教务系统是基于 3G 手机的应用程序,它能够使用户随时随地的与教务系统服务端联系,从而获取相关的信息,随着手
2、机的不断普及以及性能的不断提升,为教务系统从传统的 PC 机到手机的移植提高了很好的条件。2007 年 11 月,34 家手机和技术开发商组成 OHA 与 Google 联合推出了基于 Linux 内核的开源移动操作平台 Android。本文系统将以它作为实现的平台。本文首先给出了系统的研究背景,对当前的手机操作系统及发展现状做了简单的介绍。进而相信的分析了 Android 的特征、架构及 Android 应用的构成和工作机制,并对 Android 与其他手机操作系统进行了比较,说明了 Android在手机操作系统中的优势。本文针对移动环境下的特点,对基于 3G 手机的移动教务进行了分析,建立
3、需求模型,从而确定该系统实现的主要功能,并绘制系统流程图。该系统的整体架构是基于典型的 CS 模式,并分别对服务端与客户端的主要功能模块进行了详细的设计,然后使用 Android SDK 包含的相关服务支持的包来实现系统,并通过 Android SDK 提供的模拟器和调试工具来测试系统。关键词:Android;3G;移动教务IIAbstractWith the mutual intermediation and the rapid development of Internet and mobile communications,GPRS makes the high-speed wirele
4、ss network access to the Internet come true,so mobile users can enjoy Internet services. Mobile Educational System is an application that based on 3G mobile phones; it allows users to contact with the system server to obtain the relevant information at anytime, anywhere. The growing popularity of mo
5、bile phones as well as performance on the rise creates a very good condition for the Educational System transplanting from a traditional PC to mobile phones.November 2007, OHA (composed of 34 mobile and technology developers) and Google, launched an open source mobile platform Android ground on Linu
6、x kernel. This system will be an implemented platform. This paper starts with the study background of the Mobile Educational System and the brief introduction on the current mobile operating systems and their developments. Further detailed analysis of the characteristics, structure, composition and
7、working mechanism of Android, then illustrating the advantage of the Android phone operating system compared to other systems.This paper analyses the Mobile Education ground on 3G mobile phones, builds the demand model in order to make sure the main functions of the system completing and draws the s
8、ystem flow chart on account of the characteristics of mobile environments. The overall system architecture is based on the classic CS model and detailed design on the server and the clients main function modules. Then achieving and testing the system using the supporting service-related packages and
9、 emulators, debugging tools in the Android SDK separately.Key words: Android; 3G; the moving senate III目 录第一章 绪论 11.1 引言 .11.2 手机操作系统的发展现状 .11.3 论文组织结构 .2第二章 Android 的架构分析 32.1 Android 特征 32.2 Android 架构 42.2.1 应用程序 .52.2.2 应用程序框架 .52.2.3 库和运行环境 .52.2.4 Linux 内核 .62.3 Android 应用的构成和工作机制 62.3.1 Activ
10、ity 62.3.2 Broadcast Intent Receiver .92.3.3 Service .92.3.4 Content Provider92.4 Android 与其他手机操作系统的比较 102.5 本章小结 .11第三章 基于 3G 手机的移动教务系统的设计 .123.1 总体设计 .123.1.1 运行环境 .123.1.2 主要功能模块 .133.1.3 功能需求与程序的关系 .153.2 接口设计 .163.2.1 用户接口 .163.2.2 内部接口 .16IV3.3 系统数据库设计 .173.3.1 数据库设计要点 .173.3.2 数据结构与程序的关系 .203
11、.4 系统出错处理设计 .243.4.1 出错信息 .243.4.2 系统维护设计 .243.5 本章小结 .24第四章 系统主要功能模块的实现 254.1 登录模块实现 .254.1.1 模块描述 .254.1.2 流程逻辑 .254.2 管理员模块实现 .274.2.1 模块描述 .274.2.2 功能 .274.2.3 模块的结构 .274.2.4 流程逻辑 .294.3 教师模块实现 .324.3.1 模块描述 .324.3.2 功能 .334.3.3 模块结构 .334.3.4 逻辑流程 .354.4 本章小结 .39第五章 系统测试及运行结果 405.1 系统测试 .405.2 运
12、行结果 .405.3 本章小结 .47第六章 总结与展望 48V6.1 论文总结 .486.2 展望 .48参考文献 50致谢 52VIContentChapter 1 Introduction .11.1 Introduction 11.2 Development of Mobile Operating Systems .11.3 Thesis Organization2Chapter 2 The Analysis of Android Framework32.1 Android Features32.2 Android Framework.42.2.1 Application.52.2.2
13、 Application Framework .52.2.3 Libraries and RunTime 52.2.4 Linux Kernel 62.3 Android Application Form and Mechanism .62.3.1 Activity.62.3.2 Broadcast Intent Receiver 92.3.3 Service92.3.4 Content Provider 92.4 Android Mobile Operating System, Comparison with others102.5 Summary .11Chapter 3 The Desi
14、gn of 3G-based Mobile Phone Senate System123.1 Design.123.1.1 RunTime.123.1.2 Main Function Modules 133.1.3 Relationship Between Functional Requirements and Procedures153.2 Interface Design 163.2.1 User Interface .163.2.2 Internal Interface 16VII3.3 Database Design173.3.1 Database Design.173.3.2 Rel
15、ationship Between Data Structures and Procedures .203.4 Error Handling System Design .243.4.1 Error Message 243.4.2 System Maintenance Design 243.5 Summary .24Chapter 4 The Implementation of Main Function Module.254.1 Login Module Implementation254.1.1 Module Description254.1.2 Process Logic .254.2
16、Administrator Module Implementation .274.2.1 Module Description274.2.2 Function274.2.3 Module Structure274.2.4 Process Logic .294.3 Teacher Module Implementation324.3.1 Module Description 324.3.2 Function 334.3.3 Module Structure 334.3.4 Process Logic354.4 Summary .39Chapter 5 System Test and Operat
17、ion Results.405.1 System Test405.2 Operation Results .405.3 Summary .47Chapter 6 Conclusion and Prospect 48VIII6.1 Thesis Conclusion .486.2 Prospect .48References .50Acknowledgement 52第一章 绪论1第一章 绪论1.1 引言随着 3G 的到来,无限带宽越来越高,使得更多内容丰富的应用程序布置在手机上成为可能,如移动互联网冲浪,视频通话,视频点播,在线听歌看书,内容分享等。为了承载这些数据应用及快速部署,手机功能将会
18、越来越只能,越来越开放,而 Symbian,Windows Mobile,PalmOS 等手机平台过于封闭 1,因此为了实现这些需求,必须有一个开放性很强的开发平台来支持,在此由Google 公司发起的 OHA(Open Handset Alliance)联盟走在了业界的前列,与2007 年 11 月推出了开放的 Android 平台,任何公司及个人都可以免费获取到源代码及开发 SDK。由于其开放性和优异性,既能促进技术 (包括平台自身) 的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定自己的特色化的产品,因此 Android 平台得到了业界广泛的支持,具有很大的市场发展潜力。将教
19、务系统从传统的 PC 机转移到手机上,虽然无法完全实现 PC 机上的全部功能模块,但是通过把教务系统常用模块如公告信息,个人信息管理,课程管理,成绩管理等转移到手机上,可大大方便教师与学生使用该教务系统,并及时的获取和管理教务信息。1.2 手机操作系统的发展现状Sysbian2是一个实时性。多任务型的纯 32 位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML、以及 3G 技术。Windows Mobile3系列操作系统是从微软计算机的 Windows 操作系统上变化而来的。Windows Mobile 系列操作系统功能强大
20、,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件配置(如内存,存储卡容量等)上也比采用其它操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。Palm OS4是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较基于 3G 手机的移动教务系统的设计和实现2开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。Palm 在其它方面还存在一些不足,如Palm 操作系统本身不具有录音、MP3 播放功能等,但是可以通过加入第三方软件和硬件设备来实现。其代表性的产品有 Palm505.、Palmm500. 。P
21、alm III 等。Linux5系统是一个源代码开放的操作系统。由于其开源性,手机制造商可以根据实际情况开发自己的 Linux 手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。但是 Linux 操作系统也还存在一些不足,集成开发环境和基于 Linux 的产品与 PC 的连接性比较差等。1.3 论文组织结构本文首先分析了系统的研究背景,简单介绍了当前手机操作系统的发展现状。第二章,介绍了 Android 的特征、Android 的架构以及 Android 应用的构成和工作机制,并对 Android 与其他手机操作系统进行了比较,说明了 Android的优势
22、。第三章,介绍了系统的总体框架和主要功能模块,并在充分明确需求的基础上,明确系统的基本设计,解决该系统需求的模块设计问题,并完成各个模块之间的接口和数据结构设计。第四章,实现了设计中所描述的主要功能模块,并通过模块逻辑流程图和部分代码的分析,对实现的详细过程做进一步的描述。第五章,介绍了手机教务系统的系统测试和运行结果第六章,最后论文总结了毕业设计所作的工作,分析了存在的问题,并指明今后的改进计划。第二章 Android 的架构分析3第二章 Android 的架构分析Android 是一个移动设备的软件平台,是由 Linux+Java 构成的开源软件,它提供包括 SDK、Key Apps、Mi
23、ddleware 、Linux Kernel 四个部分在内的全套手机软件方案。它开放了基于 Linux 内核 6以上的开发工具,从而保证了内容的可移植性和多样性。Android 平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。2.1 Android 特征应用框架 7:用于开发可重用可替代的组件。Dalvik 虚拟机 8:Android 采用的 Java 虚拟机是自主开发的代号为 Dalvik的虚拟机技术,在保证 API 方面兼容的同时 Dalvik 针对移动手机进行了大幅优化,占用资源更小,运行效率更高。内嵌浏览器:基
24、于开源的浏览器网页排版引擎 WebKit9。优化的图形:强大的自定义二维图形库。基于 OpenGL ES 1.010标准的3D 图形功能,在移动 3D 开发中有这至关重要的地位。SQLite 数据库:SQLite 11提供结构化的数据存储,它是一款轻型免费的开源数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。多媒体支持:支持各种通用的音视频和静态图像格式,如MP3、 JPG、 PNG 等。Open Core12是 Android 多媒体框架的核心,所有Android 平台的音视频采集,播放的操作都是通过它来实现的。通过 Open Cor
25、e,程序员可以方便快速的开发出想要的多媒体应用程序。GSM 技术 13:Glogal System for Mobile Communications,全球移动通讯系统,俗称“全球通” ,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。蓝牙、EDGE 、3G、WiFi 14:蓝牙和 WiFi 都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data for GSM Evolution),是增强型数据速率 GSM 演进技术。基于 3G 手机的移动教务系统的设计和实现4强大的开发环境:包
26、括一个设备模拟器,调试工具,内存和性能检测以及Eclipse IDE 的开发插件。Eclipse 是个集成的开发环境。2.2 Android 架构Android 作为一个移动设备的开发平台,其软件层次架构 15-16包括了一个操作系统(OS),中间件(Middle Ware)和应用程序 (Application)。Android 的软件框如图 2-1 所示,其软件层次结构自上而下可以分为以下几个层次。 应用程序(Applications) ; 应用程序框架(Application Framework) ; 各种库(Libraries)和 Android 运行环境(RunTime); 操作系统层
27、(OS)。A p p l i c a t i o nP h o n e H o m e B r o w s e rA p p l i c a t i o n F r a m e w o r kA c t i v i t y M a n a g e rS y s t e m V i e wC o n t e n t P r o v i d e rN o t i f i c a t i o n M a n a g e rL i b r a r i e s A n d r o i d R u n t i m eC o r e L i b r a r i e sD a l v i k V i r t
28、i a l M a c h i n eR e s o u r c e M a n a g e r. . .S Q L i t e F r e e T y p e O p e n G LM e d i a F r a m e w o r kC / C + +. . .L i n u x K e r n e lD i s p l a y D r i v e rC a m e r a D r i v e rB i n d e r D r i v e rK e y p a d D r i v e rP o w e r M a n a g e m e n tA u d i o D r i v e r s
29、. . .图 2-1 Android 架构第二章 Android 的架构分析52.2.1 应用程序Android 的应用程序通常涉及用户界面和用户交互。Android 的应用程序目前以 Java 语言进行编写。 Android 本身提供了桌面、联系人、电话和浏览器等众多的核心应用。同时应用程序的开发者还可以使用应用程序框架层的 API 实现自己的程序。Android 这种开放而强大的平台给每一个程序开发者提供了公平的机会,每一个开发者都可以加入移动互联的世界,共同推动移动互联的发展。2.2.2 应用程序框架普通的开发者可以使用 Android 核心应用程序使用的系统 API。Android 中
30、的应用开发框架设计的非常巧妙,通过这套应用框架,各种组件可以被用户的应用重复利用,各种服务也可以被各种应用重复利用。常见的应用程序框架: 一组 Views(UI 组件)。这些 UI 组件包括列表 list,文本框 textbox,按钮 button 等。通过这些 UI 组件,可以构建应用程序的视图部分。 Content Providers。提供了一种机制使得应用程序可以实现数据的互访和共享。 Notification Manager。它能让程序将组件的警示信息显示在状态栏上。 Activity Manager。它管理着应用的生命周期,并且提供了应用页面退出的机制。而 Android 的应用是多
31、个 Activity 的交互构成的。2.2.3 库和运行环境Android 应用程序框架之下是一套 C/C+函数库,它们服务于 Android 应用程序组件,其功能通过组件间接提供给开发者。这些函数库包括:标准 C 函数库、媒体功能库、浏览器引擎、2D 和 3D 图形库、基于 WEB 应用的安全协议SSL、用于点阵和矢量字体渲染的 FreeType 以及 SQLite 引擎等。Android 的 Java 程序运行环境包含一组 Java 核心函数库及 Dalvik 虚拟机。所有的 Android 应用都运行在它自己的进程里,该进程是一个 Dalvik 虚拟机的实例。Dalvik 虚拟机的可执行
32、文件被封装成 Dalvik 可执行格式(.dex)。这是被优基于 3G 手机的移动教务系统的设计和实现6化过的最小内存依赖的格式,Java 编译器(dx 工具)将注册了的和运行时用到的类编译成.dex 格式。2.2.4 Linux 内核Android 的核心系统服务依赖于 Linux2.6 内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型、Linux 内核也同时作为硬件和软件栈之间的抽象层。2.3 Android 应用的构成和工作机制对于一个 Android 应用程序 17-19来说,一般由 Activity、Broadcast Intent Receiver、Service、Cont
33、ent Provider 四个部分组成,但并不是每个 Android 应用程序都必须有这四个部分。在应用程序中使用时,需要在配置文件AndroidMainfest.xml 中进行配置。此配置文件是每个 Android 应用程序所必需的,用于定义应用程序的组件,组件的功能以及必要的条件等。Android 应用的构成和工作流程图如图 2-2 所示。B r o a d c a s t I n t e n t R e c e i v e rA c t i v i t y A c t i v i t y 存储设备I n t e n tC o n t e n t P r o v i d e rB i n
34、d e rS e r v i c e外部事件通过 B r o a d c a s t I n t e n t R e c e i v e r 对外部事件进行响应通过 I n t e n t 实现活动的切换通过 C o n t e n t p r o v i d e r进行数据存储通过 B i n d e r对 S e r v i c e进行绑定图 2-2 Android 应用的构成和工作流程2.3.1 ActivityActivity20是构成应用程序中最重要的构造块,在 Android 应用程序中,几第二章 Android 的架构分析7乎都是通过 Activity 来与用户进行交互,所以 A
35、ctivity 主要负责的就是创建与用户进行交互的显示窗口,你可以在这些窗口里通过条用 setContentView(View)方法来显示自己的用户界面。2.3.1.1 Activity 的生命周期在 Android 中,Activity 拥有四种基本状态:包括Active/Running,Paused , Stopped 和 Killed。下图 2-3 显示了 Activity 的重要状态转换,矩形框表明 Activity 在状态转换之间的回调接口,开发人员可以重载实现以便执行相关代码,椭圆形表明Activity 所处的状态。A c t i v i t yS t a r t so n C r
36、 e a t e ( )o n S t a r t ( )o n R e s u m e ( )A c t i v i t y R u n n i n gA c t i v i t y i s s t a r t e do n P a u s e ( )o n S t o p ( )o n D e s t o r y ( )A c t i v i t y s h u t d o w nA c t i v i t y i s n o l o n g e r v i s i b l eA c t i v i t y c o m e s t ot h e f o r e g r o u n do n
37、 R e s t a r t ( )A c t i v i t y c o m e s t ot h e f o r e g r o u n dP r o c e s s i s k i l l e dO t h e r a p p l i c a t i o nn e e d m e m o r yU s e r n a v i g a t e sb a c k t o y o u r A c t i v i t y图 2-3 Activity 的状态转换在上图中,Activity 有三个关键的循环:基于 3G 手机的移动教务系统的设计和实现8 活动的整个生命周期,从首次调用 onCreat
38、e(Bundle)开始到onDestroy()结束。Activity 在 onCreate()设置所有的“全局”状态,在 onDestory()释放所有的资源。例如:某个 Activity 有一个在后台运行的线程,用于从网络下载数据,则该 Activity 可以在 onCreate()中创建线程,在 onDestory()中停止线程。 活动的可见生命周期,从调用 onStart()开始到 onStop()结束。在这段时间,可以看到 Activity 在屏幕上,尽管有可能不在前台,不能和用户交互。在这两个接口之间,需要保持显示给用户的 UI 数据和资源等,例如:可以在 onStart 中注册一个
39、 IntentReceiver 来监听数据变化导致 UI 的变动,当不再需要显示时候,可以在 onStop()中注销它。onStart(),onStop()都可以被多次调用,因为 Activity 随时可以在可见和隐藏之间转换。 活动的后台生命周期:从调用 onResume()开始到 onPause()被调用为止。在这段时间内活动处于其他所有活动之前,并与用户进行交互。一个活动可以不断地在 resumed 状态和 paused 状态之间变换。例如:当设备准备休眠时,当一个 Activity 处理结果被分发时,当一个新的 Intent 被分发时。所以在这些接口方法中的代码应该属于非常轻量级的。2
40、.3.1.2 Activity 之间的切换Android 使用了 Intent 类来实现活动之间的切换工作。Intent 是 Android 的灵魂,程序跳转和传递数据的时候基本上就是依赖于 Intent,它负责对应用中的一次操作的动作,动作涉及的数据和附加数据进行描述。根据 Intent 的描述,负责找到对应的组件,将 Intent 传递给调用的组件并完成组件的调用。因此,Intent 起着一种媒体中介的作用,专门提供组件互相调用的相关信息,实现调用者与被调用者之间的解耦。在应用中,可以以两种形式来使用 Intent: 直接 Intent:指定了 component 属性的 Intent(调
41、用setComponent(ComponentName)或者 setClass(Context,Class)来指定)。第二章 Android 的架构分析9通过指定具体的组件类,通知应用启动对应的组件。 间接 Intent:没有指定 component 属性的 Intent。这些 Intent 需要包含足够的信息,这样系统才能根据这些信息,在所有的可用组件中确定满足此 Intent 的组件。2.3.2 Broadcast Intent Receiver可以使用 BroadcastReceiver 来让应用对一个外部的时间做出响应。例如,当下载一个程序成功完成的时候,可以利用 BroadcastR
42、eceiver 来处理,BroadcastReceiver 不能生成 UI,也就是说对于用户来说不是透明的。BroadcastReceiver 通过 NotificationManager 来通知用户这些事情发生了。BroadcastReceiver 既可以在 AndroidMainfest.xml 中注册,也可以在运行时的代码中使用 Context.registerReceiver()进行注册,只要是注册了,当事件来临的时候,即使程序没有启动,系统也在需要的时候启动程序。各种应用还可以通过使用 Context.sendBroadcast()将它们自己的 intent broadcast 广播
43、给其他的应用程序,实现应用之间的通讯。2.3.3 ServiceService 是一种程序,它可以运行很长的时间,但是它却没有用户界面,它是运行于应用程序后台的服务,在用户进行其他活动的时候,这个服务将一直运行在后台直到用户停止该服务或服务运行结束。启动一个 Service 的两种方式及对生命周期的不同影响: 通过 startService 启动。Service 启动的时候回经历生成-开始(onCreate-onStart)过程,Service 停止的时候直接进入销毁过程(onDestroy)。如果是调用者自己直接退出而没有调用stopService,Service 将在后台一直运行,直到下次
44、调用者再启动,并明确调用 stopService。 通过 bindService 启动。提供 bindService 启动 Service,其只会运行onCreate,这时候将 TestServiceHolder 和 TestService 绑定在一起,如果 TestServiceHolder 退出了,Service 就会调用 onUnbind-onDestroyed,所谓绑定在一起就共存亡了。基于 3G 手机的移动教务系统的设计和实现102.3.4 Content Provider在 Android 系统中,数据是私有的,一个 Content Provider 类实现了一组标准的方法接口(
45、如 query(),inset(),update(),delete()方法等 ),从而能够让其他的应用保存或读取此 Content Provider 的各种数据类型。也就是说,一个程序可以通过实现一个 Content Provider 的抽象接口将自己的数据暴露出去。外界根本看不到,也不用看到这个应用暴露的数据在应用中是如何存储的,即用数据库存储还是用文件存储还是通过网上获得这些都不重要,重要的是外界可以通过这一套标准而统一的接口和程序里的数据打交道。使用 Content Provider 能够灵活的替换底层使用的存储设备,是开发者可以专注于应用逻辑的开发,不用考虑底层存储设备的细节,从而使应
46、用系统具有良好的数据迁移性。2.4 Android 与其他手机操作系统的比较我们主要从手机操作系统的 Portability、Reliability、Connectivity、Product Diversity、Open Platform、Kernel Size、Standards、Security 和 Special Features这九个方面进行了比较,具体的比较结果如下表 2-1。表 2-1 手机操作系统对照表比较条件 Android Windows Mobile SymbianPortability 基于 Linux+Java,具有跨平台的特点,并允许所有厂商和个人在其基础上进行开发可
47、以运行于不同的平台,但是有些应用程序依赖于特点的硬件平台基于标准的架构,对其他制造商的软件开放,但是Symbian 大部分应用于特定的手机上Reliability 好 好 好Connectivity GSM telephony,EDGE Bluetooth,3D,Wi-FiGSM telephony,Wi-Fi Bluetooth,Infra redGSM telephony。Wi-Fi Bluetooth,Intra redProduct Diversity 积极参与软件的发展 积极参与软件的发展 积极参与软件的发第二章 Android 的架构分析11和帮助扩展操作系统,是相关的产品对市场开
48、放和帮助扩展操作系统,是相关的产品对市场开放展和帮助扩展操作系统,是相关的产品对市场开放Open Platform 开放 过于封闭 过于封闭Kernel Size 250kb 300kb 200kbStandards 好,基于 Java,具有跨平台的特点,具有很大的优势比较好 比较好Security 好 好 好Special Features 开源的 WebKit 引擎,优化的 Dalvik在计算机市场占有优越的地位,在计算机和手机之间同步比较容易无文献7对上表比较的九项每一项以 1 分、0.5 分、0 分三个级别来进行评分,综合各项评分,最后得到的评分结果是 Android8.5 分,Win
49、dows Mobile5.5 分,Symbian 6.5 分。Android 基于开源的 Linux 以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进行开发,其开源和免费政策赢得手机制造商的广泛支持。而且在其平台上集成了不少优秀的工程加入到 Android 中来。相比其他手机操作系统过于封闭的特性来说,Android 在手机操作系统领域占有很大的优势,其功能也将会越来越强大。2.5 本章小结本章对 Android 平台的特征,架构以及 Android 应用的构成和工作机制进行了详细的分析。对于 Android 应用程序来说,主要有 Activity、Broadcast Intent Receiver、Service 和 Content Provider 四个部分组成。Activity 是 Android的灵魂,是应用程序中最重要的一种构造块,我们对其进行了详细的分析,包括 Activity 的生命周期以及 Activity 之间的切换。最后对 Android 与其他的手机操作系统从九个方面进行了比较,说明了 Android 的优势。基于 3G 手机的移动教务系统的设计和实现12第三章 基于 3G 手机的