logo资料库

基于Android平台的学生宿舍管理系统.doc

第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
资料共18页,剩余部分请下载后查看
1. 应用背景
1.1嵌入式领域的开发
2.系统所用技术
2.1 Android介绍
2.2 Android的组件
2.3 SQLite轻型数据库
2.4 JNI技术
2.5 Android系统的优点
3. 系统分析
3.1 可行性分析
3.2 需求分析
4. 系统设计
4.1 概要设计
4.2 数据存储
4.2.1 SQLite
4.2.1.2 SQLite数据表的设计
4.2.2 Preference
4.3 程序中的主要类
4.3.1 ShowActivity类
4.3.2 DataBaseDao类
5. 系统的实现
6. 系统测试
6.1 单元测试
6.1.1 单元测试简介
6.1.2 单元测试工具
6.1.3 单元测试结果
6.1.4 单元测试作用
结束语
参考文献
目 录 1. 应用背景........................................................................................................................ 1 1.1 嵌入式领域的开发.................................................................................................................................. 1 2.系统所用技术................................................................................................................. 2 2.1 ANDROID 介绍 ..................................................................... 2 2.2 ANDROID 的组件 ................................................................... 6 2.3 SQLITE 轻型数据库................................................................................................................................8 2.4 JNI 技术................................................................................................................................................. 8 2.5 ANDROID 系统的有点............................................................................................................................ 8 3. 系统分析....................................................................................................................... 9 3.1 可行性分析........................................................................................................................................... 9 3.2 需求分析................................................................................................................................................ 9 4. 系统设计...................................................................................................................... 10 4.1 概要设计............................................................................................................................................. 10 4.2 数据存储............................................................................................................................................. 10 4.2.1 SQLite..............................................................................................................................................10 4.2.2 Preference ........................................................................................................................................ 11 4.3 程序中的主要类...................................................................................................................................11 4.3.1 ShowActivity 类............................................................................................................................... 11 4.3.2 DataBaseDao类........................................................................................错误!未定义书签。 5. 系统的实现................................................................................................................. 12 6. 系统测试..................................................................................................................... 13 6.1 单元测试............................................................................................................................................. 13 6.1.1 单元测试简介.............................................................................................................................. 13 6.1.2 单元测试工具............................................................................................................................ 13 6.1.3 单元测试结果............................................................................................................................ 13 6.1.4 单元测试作用............................................................................................................................ 14 结束语................................................................................................................................. 15 参考文献............................................................................................................................. 16 I
1. 应用背景 步入 21 世纪以来,随着国际互联网(Internet)的迅猛发展和世界经济 一体化的加速,网络信息急剧膨胀,国际交流日益频繁,如何克服语言障碍已 经成为国际社会共同面对的问题。由于人工翻译的方式远远不能满足需求,利 用语言信息处理技术协助人们快速获取信息,已经成为必然的趋势。 Android 是 Google 推出的基于 Linux 内核的软件平台和操作系统。Google 已经与 Sony Ericsson、HTC、NTT DoCoMo、KDDI、Motorola 等世界通讯领域 34 家公司于免费提供达成一致,今后对于移动通讯的影响势必会进一步体现出 来。 [1 ] 本课题为“基于 Android 的宿舍管理系统的设计和开发”,为 Android 设 备提供了一个本地及在线处理多国信息的解决方案。 1.1 嵌入式领域的开发 随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广 泛。嵌入式系统将向网络化、智能化、规范化、集成化方向发展。在与各个行 业的具体应用相结合的过程中,嵌入式系统将对国民经济进行全方位的渗透, 在我国国家现代化进程中发挥巨大推进作用。 随着技术进步的不断加速,我们有理由相信计算机还将继续快速发展并进 一步改变我们的生活,让计算变得“无所不能”、“无处不在”。其中“无所 不能”将是人工智能技术和超级计算机的结合,而“无所不在”则是嵌入式技 术应用的广阔天地。现在普通消费者已经可以从市场中买到数码相机、移动电 话、打印机等众多的数码产品、航空设备、ATM 机、计算机网络设备等电子产 品中都用到了嵌入式系统。 当今,嵌入式系统已成为一个时髦的名词,嵌入式系统的开发也成为了一 个炙手可热的行业。在嵌入式系统开发的领域中,手机系统的开发尤为热门。 目前,市场上使用的较多的智能手机操作系统包括 Symbian,Palm OS,windows 1
Mobiles 等,而 Google 基于 Linux 的 Android 手机操作系统一度被业内视为最 有希望的移动平台 [2 ]。Android 由于其开放性、不受运营商束缚、丰富的硬件 选择性、不受限制的开发和无缝结合的 Google 应用等几大特性牢牢地占据了 手机系统开发的主导地位。Android 的诞生不但给 Linux 带来了新的生机,也 加剧了 Linux 移动平台内部的竞争。 [3] 2.系统所用技术 2.1 Android 介绍 Android 一词的本义指“机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中 间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完 整的移动软件。目前,最新版本为 Android 2.4 Gingerbread 和 Android 3.0 Honeycomb。 [6] Android 的系统结构由四个层组成,分别为 Linux 内核层、系统运行库层、 应用框架层和应用层组成。Android 系统的整体构架如图 1 所示。 2
图 1 Android 系统的整体架构 Applications(应用层) 应用是用 Java 语言编写的运行在虚拟机上的程序,即图中最上层的蓝色 部分,如图所示。其实,Google 最开始时就在 Android 系统中捆绑了一些核心 应用,比如 e-mail 客户端、SMS 短消息程序、日历、地图、浏览器、联系人管 理程序,等等。 Application Framework 应用框架层 这一层即是编写 Google 发布的核心应用时所使用的 API 框架,开发人员 同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的架构设 计,但是必须遵守其框架的开发原则。从图中可以看出 Android 提供了如下系 统特色组件: 丰富而又可扩展的视图(Views):可以用来构建应用程序,它包括列表 (lists)、网格(grids)、文本框(text boxes)、按钮(buttons), 甚 至可嵌入的 Web 浏览器。 3
内容提供器(Content Providers):它可以让一个应用访问另一个应用 的数据(如联系人数据库), 或共享它们自己的数据。 资源管理器(Resource Manager):提供非代码资源的访问,如本地字符 串、图形、和布局文件(layout files)。 通知管理器 (Notification Manager):应用可以在状态栏中显示自定 义的提示信息。 活动管理器(Activity Manager):用来管理应用程序生命周期并提供常 用的导航退回功能。 窗口管理器(Window Manager):管理所有的窗口程序。 包管理器(Package Manager):Android 系统内的程序管理。 Libraries、Android Runtime(系统运行库层) 当使用 Android 应用框架时,Android 系统会通过一些 C/C++库来支持我 们使用的各个组件,使其能更好地为我们服务。 Bionic 系统 C 库:C 语言标准库,系统最底层的的库,C 库通过 Linux 系 统来调用。 多媒体库(MediaFramework):Android 系统多媒体库,基于 PackerVideo OpenCORE,该库支持多种常见格式的音频、视频的回放和录制,以及图片,比 如 MPEG4、MP3、AAC、AMR、JPG、PNG 等。 SGL:2D 图形引擎库。 SSL:位于 TCP/IP 协议与各种应用层协议之间,为数据通信提供支持。 OpenGL ES 1.0:3D 效果的支持。 SQLite:关系数据库。 Webkit:Web 浏览器引擎。 FreeType:位图(bitmap)及矢量(vector)。 在 Android 操作系统中,每个 Java 程序都运行在 Dalvik 虚拟机上,其只 能执行.dex 的可执行文件,当 Java 程序通过编译后,最后还需要通过 SDK 中 的 dx 工具转为成.dex 格式才能正常在虚拟机上执行,Java 虚拟机运行的是 Java 字节码,而 Dalvik 虚拟机运行的则是其专有的文件格式 dex(Dalvik Exceutable)的文件。 Dalvik 虚拟机有如下几个主要特征: 4
1.专有的 dex 文件格式。 2.dex 的优化,dex 文件的结构是紧凑的。 3.基于寄存器。 4.一个应用,一个虚拟机实例,一个进程。每一个 Android 应用度运行在 一个 Dalvik 虚拟机实例中,每一个虚拟机实例都是一个独立的进程空间。 Linux Kernel(Linux 内核层) Android 的核心系统服务基于 Linux2.6 内核,如安全性、内存管理、进程 管理、网络协议栈和驱动模型等都依赖于 Linux2.6 内核。Linux 内核同时也作 为硬件和软件栈之间的抽象层。 Android 更多的是需要一些与移动设备相关的驱动程序,主要的驱动如下 所示: 显示驱动(Display Driver):基于 Linux 的帧缓冲(Frame Buffer)驱动。 键盘驱动(KeyBoard Driver):作为输入设备的键盘驱动。 Flash 内存驱动(Flash Memory Driver):基于 MTD 的 Flash 驱动程序。 照相机驱动(Camera Driver):常用的基于 Linux 的 v4l2(Video for Linux) 驱动。 音频驱动(Audio Driver):常用的基于 ALSA(Advanced Linux Sound Architecture)的高级 Linux 声音体系驱动。 蓝牙驱动(Bluetooth Driver):基于 IEEE 802.15.1 标准的无线传输技 术。 WiFi 驱动(Camera Drive):基于 IEEE 802.11 标准的驱动程序。 Binder IPC 驱动:Android 的一个特殊的驱动程序,具有单独的设备节点, 提供进程间通讯的功能。 Power Management(能源管理):比如电池电量等。 5
2.2 Android 的组件 Android 应用程序由 4 个模块构造而成:Activity、Intent、Content Provider、Service。由于本系统中主要用到的是 Activity,这里就着重介绍 一下 Activity。 [7] Activity 是最基本的模块,一般称之为“活动”,在应用程序中,一个 Activity 通常就是一个单独的屏幕。简单理解,Activity 代表一个用户所能 看到的屏幕,主要用于处理应用程序的整体性工作,例如监听系统事件,为用 户显示指定的 View,启动其他 Activity 等。所有应用的 Activity 都继承于 android.app.Activity 类,该类是 Android 提供的基层类,其他的 Activity 继承该父类后,通过父类的方法来实现各种功能。 在 Android 中,Activity 拥有四种基本状态:Running、Paused、Stoped 和 Killed。 Runing 一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶 端,此时它处于可见并可和用户交互的激活状态。 Paused 当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖 时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所 以它仍然可见,但它已经失去了焦点故不可与用户交互。 Stoped 当 Activity 被另外一个 Activity 覆盖、失去焦点并不可见时 处于 Stoped 状态。 Killed Activity 被系统杀死回收或者没有被启动时处于 Killed 状态。 当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它 在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。图 2 是 Android 官方文档中 Activity 的生命周期及其 4 个状态间的转换时机。 6
图 2 Activity 的生命周期及其 4 个状态间的转换时机 7
分享到:
收藏