1、 本科 毕业 设计 (论文 ) (二零 届) 基于 Android 模拟考试系统 所在学院 专业班级 计算机科学与技术 学生姓名 学号 指导教师 职称 完成日期 年 月 摘要: 学习交通法规、安全驾驶常识知识以及进行理论测试是考取汽车驾驶证的重要环节。设计基于智能手机的驾考模拟系统,方便用户学习或 查询交通知识,提高学习效率。 本系统采用 Eclipse 3.6 + JDK 1.6 平台,利用 Android 便捷的 SDK 2.2 进行开发,UI 利用 XML 进行控制,后台数据库通过 XML 进行存储。论文主要工作如下:首先,介绍了论文中使用的相关技术;其次,根据实际进行需求分析、数据库设
2、计以及系统概要设计;最后是系统的具体实现部分以及效果。 关键词: 汽车;智能手机; Android;考试系统。 Drivers license based on the Android system simulation test system Abstract: Learning about traffic laws, knowledge of driving safely and theoretical testing, are an important part of automobile drivers license. Driving the design of smart phon
3、es based on test simulation system, will be effective to study and inquiry traffic knowledge. The system uses Eclipse 3.6 + JDK 1.6 platform, using Android SDK 2.2 to develop convenient, UI using XML to control the back-end database through XML for storage. Paper as follows: Firstly, the paper intro
4、duces the use of related technologies; Secondly, according to actual needs analysis, database design and system outline design; the final part of the system implementation and effects of specific. Keywords: Automobile; smart phones; Android; examination system. 目 录 第一章 绪论 1 1.1课题研究背景以及意义 1 1.2移动应用开发
5、的特点 1 1.3 嵌入式操作系统发展概况 2 1.4本文的主要研究工作 2 第二章 嵌入式系统软件开发的相关知识 3 2.1 嵌入式系统的相关概念 3 2.1.1 嵌入式操作系统的定义 3 2.1.2 相关概念 3 2.2 当前主流的嵌入式操作 系统以及开发技术 4 2.2.1 当前流行嵌入式操作系统厂商支持及其各自特点 4 2.2.2 主流平台的开发技术 5 2.3 Android嵌入式操作系统的特点以及发展前景 5 2.3.1 Android系统特点 5 2.3.2 开发前景 6 2.4 Android软件开发环 境 7 2.4.1 开发工具 Eclipse简介 7 2.4.2 Andr
6、oid 2.2 Froyo系统开发环境简介 7 第三章 系统设计 9 3.1 系统的需求分析 9 3.1.1 引言 9 3.1.2 任务目标 9 3.1.3 运行环境 9 3.2 系统的总体设计 10 3.2.1 Main类的设计 11 3.2.2 Seq类的设计 12 3.2.3 Rand、 Subject类的设计 13 3.2.4 ErrorList类的设计 13 3.2.5 Test类的设计 14 第四章 系统实现 15 4.1基于 Android程序实现 15 4.2 UI设计与实现 15 4.3 算法的实现 18 4.4 系统运行效果 21 4.1.1 程序的安装及运行 21 4.1
7、.2 顺序练习 21 4.1.3 随机练习 22 4.1.4 专题测试 23 4.1.5 模拟考试 23 结束语 25 致谢 错误 !未定义书签。 参考文献 26 - 1 - 第一章 绪论 1.1 课题研究背景以及意义 2009 年 1 月 7 日,工业和信息化部位中国移动、中国电信和中国联通发放 3 张第三代移动通信( 3G)牌照,词句标志着我国正式进入 3G 时代 1。 根据时代背景,智能手机的出现,是人类发展史上一个里程碑,随着它的不断研发、日益普及,且基于 Internet 的产生、网络化,手机在人们日常生活中所扮演的角色越来越不可缺少也越来越重要。智能手机全球化时代,人们已经不能满足
8、于从电话、书籍、口头等日常方式来获取他们所需要的信息,更多的是通过便 携的手机,这个无形的、巨大的载体,甚至不仅仅局限在信息的获取,更多的是要求获取信息时的便捷性、时效性、速效性等。 Android 是智能手机系统中比较突出的,随着 Android 系统的持续火爆,运行 Android系统的智能手机将不断增加,人们肯定会越来越多跨入 Android 的阵营,而模拟考试系统也必定会越来越广泛的被使用,可以给更多的手机用户带来更多的便利。 1.2 移动应用开发 的特点 开发工具和开发环境 移动嵌入式系统在进行程序开发时候遇到的环境比较独特。一般来讲,通用计算机在使用的普通操作系统具有相当好的人机
9、接口,只要在上面添加一些开发应用程序即可进行开发,甚至包括对操作系统和计算机系统本身的开发。而嵌入式系统由于受到硬件条件的限制,一般不具备自举开发能力。即使在应用项目完成开发以后。用户通常也是不能对其中的程序进行修改。所有的工具必须在专用的开发工具和环境下才能进行。 开发嵌入式系统应用软件需要实时开发平台 通用计算机具有完善的操作系统和应用程序接口( API),是计算机基本组成不可分割的一部分,应用程序的开发以及完成后的软件都在 OS 平台上运行,但一般不是实时的。嵌入式系统则不同:在多任务嵌入式系统中,对重要性 各不相同的任务进行统筹兼顾的合理调度是保证每个任务几十执行的关键,单纯通过提高处
10、理器速度是无法完成和没有效率的,这种任务调度只能由优化编写的操作系统软件来完成,因此嵌入式应用软件具有实时特性是基本要求。 2 开发出的嵌入式应用软件要求严格 1)要求软件体积小。为了提高执行速度和系统可靠性,嵌入式操作系统软件短小而精悍,占用系统资源少,执行效率高。 2)要求软件代码具有高质量、高可靠性特点。尽管半导体技术的发展使得处理器 速度不断提高,存储器容量不断增加,但存在实时性的要求。为此要求程序编写和编译工具的质量要高,以减少程序二进制代码长度,提高执行速度。在嵌入式设备开始工作以后,应该避免系统出现差错而引起设备不能工作。同时,有的嵌入式设备工作环境比较恶劣,这就要求- 2 -
11、嵌入式应用软件必须能够在各种环境下可靠地不间断地工作。 从上面的分析可以看出,不是任何一种嵌入式操作系统都能够很好满足这些要求的。相比之下,先进的 Android 系统在许多方面独具特色。 23 1.3 嵌入式操作系统 发展概况 嵌入式操作系统是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,如能够有效管理越来越复杂的系统资源;能够把硬件虚拟化,使得开发人员从繁忙的驱动程序移植和维护中解脱出来;能够提供库函数、驱动程序、工具集以及应用程序。与通用操作系统相比较,嵌入式操作系统在
12、系 统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。嵌入式操作系统伴随着嵌入式系统的发展经历了三个比较明显的阶段: 第一阶段:无操作系统的嵌入算法阶段,通过汇编语言编程对系统进行直接控制,运行结束后清除内存。系统结构和功能都相对单一,处理效率较低,存储容量较小,几乎没有用户接口,比较适合于各类专用领域中。 第二阶段:以嵌入式 CPU为基础、简单操作系统为核心的嵌入式系统。 CPU 种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应 用软件较专业,用户界面不够友好;系统主要用来控制系统负载以及监控应用程序运行。
13、 第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统。能运行于各种类型的微处理器上,兼容性好;内核精小、效率高,具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口 API;嵌入式应用软件丰富。 1.4 本文的主要研究工作 论文的主要工作如下: 需求分析,分析设计方案,选择开发工具、搭建开发环境以及调试虚拟机,对本系统需要用到的 Java、人工智能等进行全面了解; 对系统进行总体分析与设计; 设计并实现系统。 - 3 - 第二章 嵌入式系统软件开发的相关知识 2.1 嵌入式系统的相关概念 2.1.1
14、 嵌入式操作系统的定义 嵌入式系统( Embedded system),是一种 “完全嵌入受控器件内部,为特定应用而设计的专用 计算机 系统 ”,根据 英国电器工程师协会 ( U.K. Institution of Electrical Engineer)的定义,嵌入式系统为控制、监视或辅助设备、机器或用于工厂运作的设备。与 个人计算机 这样的通用 计算机 系统不同,嵌入式系统通常执行的是带有特定要求的预先定义的任务。 4 2.1.2 相关概念 1、嵌入式处理器 嵌入式系统的核心,是控制、 辅助系统 运行的硬件单元。范围极其广阔,从最初的位处理器,目前仍在大规模应用的位单片机,到最新的受到广泛
15、青睐的 32位, 64位嵌入式 CPU。 5 2、 嵌入式操作系统 嵌入式操作系统 EOS( Embedded Operating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国 防系统领域。 EOS负责嵌入系统的全部软、硬件资源的分配、调度作,控制、协调并 发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的 EOS产品系列。随着 Internet 技术的发展、信息家电的普及应用及 EOS的微型化和专业化, EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统 实时高效性、硬件的相关依赖性、软
16、件固化以及应用的专用性等方面具有较为突出的特点。 EOS是相对于一般操作系统而方的,它除具备了一般操作系统最基本的 功能,如任 务调度、同步机制、中断处理、文件处理等外,还有以下特点: 可装卸性。开放性、可伸缩性的体系结构。 强实时性。 EOS实时性一般较强,可用于各种设备控制当中。 统一的接口。提供各种设备驱动接口。 操作方便、简单、提供友好的图形 GUI,图形界面,追求易学易用。 提供强大的网络功能,支持 TCP/IP协议及其它协议,提供 TCP/UDP/IP/PPP- 4 - 协议支持及统一的 MAC访问层接口,为各种移动计算设备预留接口。 强稳定性,弱交互性。嵌入式系统一旦开始运行就不
17、需要用户过多的干预,这就要负责系统管理的 EOS 具有 较强的稳定性。嵌入式操作系统的用户接口一般不提供操作命令,它通过系统的调用命令向用户程序提供服务。 固化代码。在嵌入式系统中,嵌入式操作系统和应用软件被固化在嵌入式系统计算机的 ROM中。辅助存储器在嵌入式系统中很少使用,因此,嵌入式操作系统的文件管理功能应该能够很容易地拆卸,而用各种内存文件系统。 更好的硬件适应性,也就是良好的移植性。 6 2.2 当前主流的嵌入式操作系统以及开发技术 2.2.1 当前流行嵌入式 操作系统厂商支持及其各自特点 表 2-1 主流嵌入式操作系统及其特点 开发公司 操作系统 厂商支持 特点 Google An
18、dorid Google、 HTC、 PHILIPS、 T-Mobile、高通、魅族、摩托罗拉、三星、 LG、索尼爱立信、中国移动、中兴、华为 开源、快速开发、应用程序极丰富、厂商支持众多 Apple iOS Apple 美国苹果公司 UI 极其优秀、用户体验极佳、流畅、应用程序极丰富、厂商支持较完善 NOKIA Symbian NOKIA 诺基亚 应用范围广、兼容性和拓展性出色、功耗 低、资源占用少 Microsoft Windows CE、 Windows Mobile、Windows Phone 7 Microsoft 、 HTC、 NOKIA、 Samsung、LG、 索尼爱立信、 阿
19、联酋 i-mate、各大山寨厂商 操作类似桌面系统、应用程序丰富、多媒体性能强大、商务性 RIM BlackBerry OS、 PlayBook OS RIM 系统运行速度以及多任 务并行极为流畅快速、执行效率高、安全性好、商务性强 HP Palm webOS HP 基于浏览器 、基于云、网络应用广 Samsung baba Samsung 配置灵活、用户交互性好、面向服务 开源、操作界面简洁、厂商支持好 NOKIA、Intel MeeGo NOKIA、 Intel、 LG Beta 版,开发中 ing - 5 - 其他 uC/OSII 、 uCLinux 、Arm-Linux、 VxWork
20、s、 pSOS、Nucleus、 PalmOS、 Windows CE、嵌入式 Linux、 ECOS、QNX、 Lynx 等 众多 厂家 / 2.2.2 主流平台的开发技术 操作系统和开发平台的区别 以 Symbian为例, Symbian既是操作系统,本身又是一个软件运行平台。一般来说,在 Symbian开发平台上开发的程序也只能在 Symbian操作系统上运行。 Windows Mobile、 Linux、 Android、 iOS、 BlackBerry OS都 Symbian一样既是操作系统,又是软件运行平台,通过各自的 SDK开发的程序都可以直接在各自运行平台上运行。 J2ME、
21、BREW仅仅是一个软件运行平台,只有支持了 J2ME、 BREW、 WAP的手机上才能运行相应的程序,做开发则需要相应的 SDK。 J2ME 现在绝大多数手机都支持。 BREW在大多数 CDMA手机上支持。 主流的开放式平台包括 Symbian、 Windows Mobile、 Linux、 Android、iOS、 BlackBerry、 J2ME、 BREW、 WAP等,支持手机应用程序 OTA( Over the Air)下载和安装。 6 2.3 Android 嵌入式操作系统的特点以及发展前景 2.3.1 Android 系统特点 1. Android 概述 Android 是一个平台,主要包括 Linux 微内核,中间件( SQLite 等),关键应用(电话本、邮件、短消息、 GoogleMap、浏览器等),提供的 Java 框架,以及 Android 中的 JVM。 7 2.关键类 View( 视图 )、ContentProviders(应用 图 2-1 Android 系统构架