基于安卓android的软件管理工具的开发毕业论文内容摘要:

Android 是 Google 开发的基于 Linux 平台的开源手机操作系统。 它包括操作系统、用户界面和应用程序 —— 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。 Google 与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 TMobile 在内的 30 多家技术和无线应用的领军企业组成。 Google 通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借 助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android 简介 Android 作为谷歌企业战略的重要组成部分,将进一步推进 随时随地为每个人提供信息 这一企业目标的实现。 我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话。 谷歌的目标是让 (移动通讯 )不依赖于设备甚至平台。 出于这个目的, Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务 ,并推广这些产品。 Android 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发日更具差异性的应用。 采用了对有限内存、电池和 CPU 优化过的虚拟机 Dalvik,Android 的运行速度比想象的要快很多。 运营商 (中国移动等 )的大力支持,产业链条的热捧。 良好的盈利模式 X3/7 开 ),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。 Android 的源代码遵循 ApacheV2 软件 许可,而不是通常的 GPL v2 许可。 有利于商业开发。 具有强大的 Linux 社区的支持。 哈尔滨理工大学学士学位论文 6 Android 模拟器开发环境特点 Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 提供了在 Android 平台上使用 Java 语言进行 Android 应用开发必须的工具和 API [9]接口。 应用程序框架支持组件的重用与替换。 其主要的内容和功能有: Dalvik 虚拟机专为移动设备优化;集成的浏览器基于开源的 WebKit 引擎;优化的图形库包括定制 的 2D 图形库, 3D 图形库基于 OpenGL ES ; SQLite 用作结构化的数据存储;多媒体支持包括常见的音频、视频和静态图像格式 (如 MPEG4,。 MP3, AAC,AMR, JPG, PNC。 GSM 电话技术 (依赖于硬件 );蓝牙 Bluetooth, EDGE, 3G,和 WiFi(依赖于硬件 );照相机, GPS,指南针,和加速度计 (accelerometer)(依赖于硬件 );丰富的开发环境包括设备模拟器,调试工具,内存及性能分析图表,和 Eclipse 集成开发环境插件。 Android 会同一系列核心应用程序包一起发布,该应用程序包包括 客户端, SMS 短消息程序,日历地图,浏览器,联系人管理程序等。 所有的应用程序都是使用 JAVA 语言编写的。 开发人员也可以完全访问核心应用程序所使用的 API 框架。 该应用程序的架构设计简化了组件的重用。 任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块 (不过得遵守框架的安全性限制 )。 同样,该应用程序重用机制也使用户可以方便的替换程序组件。 下面简单介绍隐藏在每个应用后面的一系列的服务和系统,其 中包括:丰富而又可扩展的视图 (views),可以用来构建应用程序,它包括列表 (lists),网格 (grids),文本框 (texrboxes),按钮 (buttons),甚至可嵌入的 web 浏览器。 通知管理器 (Notification Manager)使得应用程序可以在状态栏中显示自定义的提示信息。 内容提供器 (ContentProviders)使得应用程序可以访问另一个应用程序的数据 (如联系人数据库 ),或者共享它们白己的数据。 活动管理器(Activity Manager)用来管理应用程序生命周期并提供常用的导 航回退功能。 Android 包含一些 C/C++库,这些库能被 Android 系统中不同的组件使用。 它们通过 Android 应用程序框架为开发者提供服务。 以下将简单介绍 android 中的一些核心库系统 C 库是专门基于 embedded linux 的设备定制的。 它是从 BSD 继承来的标准 C 系统函数库 (libc);媒体库:该库基于 PacketVideoOpenCORE。 并且支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。 编码格式包括 MPEG4, , MP3,AAC,AMR, JPG, PNG。 Surface Manager—— 为多个应用程序提供了 2D 和 3D 图层的无缝融合,显示了系统的管理。 LibWebCore:支持 Android 浏览器和一个可嵌入的 web 视图。 一个最新的 web 浏览器引擎用。 SGL:底层的 2D 图形引擎 3D libraries:该库可以使用硬件 3D 加速哈尔滨理工大学学士学位论文 7 (如果可用 )或者使用高入度优化的 3D 软加速。 基于 OpenGL ES 实现 FreeType:位图 (bitm ap)和矢量 (vector)字体显示。 SQLitej 库:功能强劲的轻型关系型数据库引擎并且对于所有应用程序可用。 Android 还包括了一个核心库,该核心库提供了 JAVA 编程语言核心库的大多数功能。 每一个 Android 应用程序都在它白己的进程中运行,都拥有一个独立的 Dalvik 虚拟机实例。 Dalvik 被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik 虚拟机执行 (dex)的 Dalvik 可执行文件,该格式件针对小内存使用做了优化。 同时虚拟机是基于寄存器的,所有的类都由编译器编译,然后通别 DK 中的” dx工具转化成 .dex 格式由虚拟机执 行。 Dalvik 虚拟机依赖于 linux 内核的一些功能,比如线程机制和底层内存管理机制。 Android 系统结构组成分析 Android 系统架 Android 系统由底层到应用层的系统结构,下面由底层逐步向上做一个简单的介绍。 Android 的内核采用 Linux 内核版本 ,其位于硬件和软件堆之间的抽象层,提供的核心服务 :安全机制、内存管理、进程管理、网络、硬件驱动。 系统结构如图 21 : 图 21 Android 系统框架图 哈尔滨理工大学学士学位论文 8 Android 依赖 Linux 内核 提供核心服务,比如安全、内存管理、进程管理、网络、硬件驱动。 这里, Linux 内核扮演的是硬件层和系统其它层次之间的一个抽象层的概念。 这个操作系统并非完全等同于 unix/linux 系统库,系统初始化和编程接口都和标准的 Linux 系统是有所不同的。 内核的结构如图 22: 图 22 Android 中 linux 内核图 内核的结构和标准的 Linux 内核一样, Android 内核要实现内存管理、进程调度、进程间通信等功能 Android 内核是在标准 Linux 内核的基础上修改成为了适应嵌入式硬件环境和移动应用程序的开发, Android 对标准 Linux 内核进行了一定的修改为了对比分析 Android 内核,在 U buntu 操作系统上搭建了 Android 内核的编译开发平台,通过 repo,下载最新的 Android 内核代码版本 Linux 内核版本为 )从获得的内核源码树的根目录结构。 经过与 unix 标准内核比较可以发现, Android 内核与标准 Linux 内核在文件系统、进程间通信机制、内存管理等方面存在不同。 文件系统:不 同于桌面系统与服务器,移动设备大多采用的不是硬盘而是采用 flash 作为存储介质,因此, Android 内核中,增加了标准 Linux 内核,采用日志结构的文件系统,提供了损耗平衡和掉电保护,可以有效地避免意外断电对文件系统一致性和完整性的影响。 按层次结构设计,分为文件管理接口、内部实现层和 HAND,简化了其本身与系统的接 口设计,能更方便地集成到系统当中。 进程间通信机制: Android 增加了一种进程间的通信机制在内核源代码驱 动 程 序 文 件 为 、 oredroid/includellinux/ 和、oredroid/drivers/android/binder.、 Binder 通过守护进程 Service Manager 管理系统的服务,负责进程间的数据交换各进程通过 Binder 访问同一块共享内存,以达到数据通信的机制从应用层的角度看,进程通过访问数据守护进程获取用于数据交换的程序框架接口,调用并通过接口共享数据,而其他进程要访问数据,也只需与程序框架接口进行交互,方便了程序员开发需要交互数据的应用程序。 内存管理:在内存管理模块, Android 内核采用了一种不用于标准 Linux 内 核的低内存管理策略,在标准 Linux 内核使用一种叫做 OOM(Out of Linux 内核 Dispiay Driver Camera Driver Flash MemoryDriver Bider(IPC) Driver Keypad Driver Wifi Driver Audo Driver Power Management Darvin OS X Mach/BS 内核 哈尔滨理工大学学士学位论文 9 Memory)的低内存管理策略。 当内存不足时,系统检查所有的进程,并对进程进行限制评分,获得最高分的进程将被关闭 (内核进程除外 )Android 系统采用的则是一种叫作 LMK(Low MemoryKiller)的机制,这种机制将进程按照重要性进行分级、分组内存不足时,将处于最低级别组的进程关闭例如,在移动设备当用户界面处于最高级别,所以该进程永远不会被关闭这样,在终端用户看来,系统是稳定运行的在 Andorid 内核源码 LMK 的置是 oredroid/drivers/mist/ 与此同时, Android 新增加了一种内存共享的处理方式 Ashmem (AnonymousShared Memory ,匿名共享内存 )通过 Ashmem,进程间可以匿名自由共享具名的内存块。 这种共享方式在标准 Linux 当中不被支持。 Ashmem 分配情况如下: fd = ashmem_create_region(“my_shm_region”,size) if(fd 0) return 1。 data = mmap(NULL,size,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0)。 if (data == MAP_FAILED) goto out。 但出于安全原因,其他进程无法访问此名称 (my_shm_region)区域 .文件描述符指向该共享内存区域,实际上是通过 IPC 绑定接口。 在 Andorid 内核源码中 Ashmem 的位置是 coredroid/mm/。 图 23 Lib 和运行环境示意图 如图 23 所示 : C/C++库被各种 Android 组件使用并且通过应用程序框架开发者可以使用其功能,这些功能包括单不限于 :媒体库如 MPEG4 、 MP JPG 、 PNG 等; WebKit/LibWebCore Web 浏览引擎; SQLite 关系数据库引擎; 2D, 3D 图形库、引擎; android 有丰富的类库支持,包括: 2D 和 3D 图像库 OpenGL、数据库 SQLite、对象数据库 db 类库、媒体库、基本 linux 底层系统 C 库等等,让应用开发更简单多样。 Google 使用 Apache 的 Harmony 类库, Harmony 某些方面速度快于 Sun 的 VMoRuntime 在 Dalvik Java VM 上, Dalvik 采用简练、高效的 bytecode Suface Manager Media Framework SQLite OpenGLJES FreeTypc Webkit SGL SSL libc Core Libraries DalvikVirual Machine Core Servies Media Android 执行程序 程序库 哈尔滨理工大学学士学位论文 10 格式运行,它能够在低资耗和没有应用相互干扰的情况下并行执行多个应用。 其在运行时的主要特点有:每一个 Android 应用程序在它自己的 Dalvik VM 实例中运行 VM 执行优化的 Dalvik 可执行文件。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。