基于android平台的学生个人事务管理系统的设计与实现整理版内容摘要:

id 手机操作系统一度被业内视为最有希望的移动平台 [2]。 Android 由于其开放性、不受运营商束缚、丰富的硬件选择性、不受限制的开发和无缝结合的 Google 应用等几大特性牢牢地占据了手机系统开发的主导地位。 Android 的诞生不但给 Linux 带来了新的生机,也加剧了 Linux 移动平台内部的竞争。 [3]2.系统所用技术 Android 介绍 Android 一词的本义指“机器人”,同时也是 Google 于 2020 年 11月 5日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。 目前,最新版本为 Android Gingerbread 和 Android Honeyb。 [6] Android 的系统结构由四个层组成,分别为 Linux 内核层、系统运行库层、应用框架层和应用层组成。 Android 系统的整体构架如图 1 所示。 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。 DS 图 1 Android 系统的整体架构 Applications(应用层) 应用是用 Java 语言编写的运行在虚拟机上的程序,即图中最上层的蓝色部分,如图所示。 其实, Google 最开始时就在 Android 系统中捆绑了一些核心应用,比如 客户端、 SMS 短消息程序、日历、地图、浏览器、联系人管理程序,等等。 Application Framework 应用框架层 这一层即是编写 Google 发布的核心应用时所使用的 API 框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的架构设计, 但是必须遵守其框架的开发原则。 从图中可以看出 Android 提供了如下系统特色组件: 丰富而又可扩展的视图( Views):可以用来构建应用程序,它包括列表( lists)、网格( grids)、文本框( text boxes)、按钮( buttons), 甚至可嵌入的 Web 浏览器。 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。 DS 内容提供器( 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,该库支持多种常见格式的音频、视频的回放和录制,以及图片,比如 MPEG MP AAC、 AMR、 JPG、 PNG 等。 SGL: 2D 图形引擎库。 SSL:位于 TCP/IP 协议与各种应用层协议之间,为数据通信提供支持。 OpenGL ES : 3D 效果的支持。 SQLite:关系数据库。 Webkit: Web 浏览器引擎。 FreeType:位图( bitmap)及矢量( vector)。 在 Android 操作系统中,每个 Java 程序都运行在 Dalvik 虚拟机上,其只能执行 .dex 的可执行文件,当 Java 程序通过编译后,最后还需要通过 SDK中的 dx 工具转为成 .dex 格式才能正常在虚拟机上执行, Java 虚拟机运行的是Java 字节码,而 Dalvik 虚拟机运行的则是其专有的文件格式 dex( Dalvik Exceutable)的文件。 Dalvik 虚拟机有如下几个主要特征: DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。 DS dex 文件格式。 的优化, dex 文件的结构是紧凑的。 ,一个虚拟机实例,一个进程。 每一个 Android 应用度运行在一个 Dalvik 虚拟机实例中,每一个虚拟机实例都是一个独立的进程空间。 Linux Kernel( Linux 内核层) Android 的核心系统服务基于 内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于 内核。 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 标准的无线传输技术。 WiFi 驱动( Camera Drive):基于 IEEE 标准的驱动程序。 Binder IPC 驱动: Android 的一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能。 Power Management(能源管理):比如电池电量等。 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。 DS Android 的组件 Android 应用程序由 4 个模块构造而成: Activity、 Intent、 Content Provider、 Service。 由于本系统中主要用到的是 Activity,这里就着重介绍一下 Activity。 [7] Activity 是最基本的模块,一般称之为“活动”,在应用程序中,一个Activity 通常就是一个单独的屏幕。 简单理解, Activity 代表一个用户所能看到的屏幕,主要用于处理应用程序的整体性工作,例如监听系统事件,为用户显示指定的 View,启动其他 Activity 等。 所有应用的 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 个状态间的转换时机。 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。 DS 图 2 Activity 的生命周期及其 4个状态间 的转换时机 DSJKFHJKDH FJDHJKFH KDSJH JKDHF JKDS HKJ HGFDSJHF JHFJK HFKSD JKFJDSKJF DSJF。 DS SQLite 轻型数据库 SQLite,是一款轻型的数据库,是遵守 ACID 的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百 K 的内存就够了。 它能够支持 Windows/Linux/Unix 等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、 C、 PHP、 Java 等,还有 ODBC 接口,同样比起 Mysql、 PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。 SQLite 第一个 Alpha 版本诞生于 2020 年 5 月。 至今已经有 11个年头,目前SQLite 的最新版本 SQLite 3 已经发布。 [8] 本系统使用 SQLite 作为存储单词的数据库,添加索引并优化查询算法后在 G7 上测试可以达到查询单词平均耗时低于 55ms 的查询效率。 JNI 技术 JNI 是 Java Native Interface 的缩写,中文为 J。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。