您好,欢迎访问三七文档
Android开发技术文档Android一词的本义是指机器人,同时也是Google于2007年11月5日牵手34家移动技术和无线应用领域的领军企业联合组成的开发联盟(OpenHandsetAlliance)宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端打造的真正开放和完整的移动软件。其开放性保证该平台不存在任何阻碍移动产业创新的阻碍,开发人员在该平台开发的所有应用程序,必须是使用java语言编写的,在AndroidRuntime的Dalivk虚拟机上运行的。Android系统架构Android基本上就是一种嵌入式Linux系统再加上一些重要的手机应用开发软件,如果深入研究其系统架构,其整体自底向上由4个主要层次构成,包括LinuxKernel(Linux内核层)、Library(函数库)和AndroidRuntime(Android运行时库)、ApplicationFramework(应用软件架构)、Application(应用程序),如图1所示。图1、Android系统架构(1)LinuxKernel(Linux内核层):Android基于Linux2.6提供核心系统服务,负责硬件的驱动程序、网络堆栈、电源、系统安全机制、进程管理以及内存管理等功能。LinuxKernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务,分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。特别的是,这个内核操作系统并非GUN/Linux的,所以其系统库、系统初始化和编程接口都喝标准的Linux系统有所不同。它没有采用虚拟内存文件系统,而是采用YAFFS2文件系统。(2)Library(函数库)和AndroidRuntime(Andriod运行时库):Library(函数库)由大多数开放源代码的函数库组成,包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(ApplicationFramework)展示给开发者,例如准C函数库Libc、OpenSSL、SQLite等;网页函数库WebKit负责Android网页浏览器的运行;媒体库基于PacketVideo的OpenCORE,这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG;界面管理,管理访问显示子系统和无缝组合多个应用程序的二维和三维图像层;LibWebCore,新式的Web浏览器引擎,驱动Android浏览器和内嵌的Web视图;SGL,基本的2D图形引擎;3D库,基于OpenGLES1.0APIs的实现。所有应用程序都可以使用的强大而轻量级的关系数据库引擎。AndroidRuntime(Android运行时库)是和Library(函数库)并行的,在此提供的Android特有的Java内核函数库与可转换的Java运行码Bytecode,为Android专属的DalvikExecutable(.dex)文件格式的dalvik虚拟机,可以通过Java语言编写Android应用程序,并在Android平台上同时运行多个Java应用程序。Dalvik虚拟机依赖于Linux内核提供的基本功能,如线程和底层内存管理。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机基于寄存器的。(3)ApplicationFramework(应用软件架构):它是所有Android重点应用程序FramworkAPI的总集合,主要的目的是让程序开发者可以更方便地使用这些常用的应用程序进行设计架构,以便更快速地开发Android应用程序。而这些常见的API有显示功能,如消息方块、条列消息、按钮、内嵌式浏览器等;消息提供功能,如访问信息、分享信息;资源管理功能,如图形、地方化字符串、布局文件等;提供消息功能,主要用来显示警告消息、特别是当使用者操作错误时,等其它功能。所有的应用程序其实是一组服务和系统,包括视图,丰富的、可扩展的视图集合,可用于构建一个应用程序。包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器。内容提供者,使应用程序能访问其它应用程序的数据,或者共享自己的数据;资源管理器,提供访问非代码资源,如本地化字符串、图像和布局文件;通知管理器,使所有的应用程序能够在状态栏显示自定义警告;活动管理器,管理应用程序生命周期,提供通用的导航回退功能。(4)Application(应用程序):最上层的应用程序都是用Java语言开发的应用程序,例如GoogleMaps、E_mail、即时通信工具、计算机、浏览器、通讯本、MP3播放器等。1、开发环境:JDK1.6+Eclipse+AndroidSDK+ADT。2、开发语言:Java。3、信息传递:HttpPost+Json,HttpGet+Json。JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。它基于JavaScript(StandardECMA-2623rdEdition-December1999)的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C,C++,C#,Java,JavaScript,Perl,Python等)。这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。如果原有接口采用的是xml形式,在考虑成本的情况下,可以使用xml的方式。4、信息存储:小型数据库SQLite。SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
本文标题:安卓开发技术文档
链接地址:https://www.777doc.com/doc-5942027 .html