1.Android简介
Android Developer‘s Guide 中将Android定义为针对移动设备的软件栈———用于实现完整的功能解决方案的软件子系统集合。这个栈中包括操作系统(由Linux内核修改而来)、部分基于Java的中间件(用于连接底层操作系统和高层应用的软件),以及诸如浏览器(即Browser)和联系人管理器(即Contacts)一类的关键应用(都是用Java编写的)。
Android具有以下特点:
允许重用和替换应用组件的应用程序框架(本章稍后会展开讨论);
支持蓝牙、EDGE、3G和Wi-Fi(需硬件支持);
支持摄像头、GPS、罗盘和加速度计① (需硬件支持);
针对移动设备优化的Dalvik虚拟机(DalvikVirtualMachine,DVM);
GSM 电话支持(需硬件支持);
集成了基于开源WebKit引擎的浏览器;
支持常见的音频、视频和静态图片格式(MPEG-4、H.264、MP3、AAC、AMR、JPG、PNG、GIF);
自定义的2D图形库,提供了经优化的图形显示;基于OpenGLES1.0规范的3D图形显示(硬件加速可选);
用于结构化数据存储的SQLite。
Android强大的开发环境(包括设备仿真器和EclipseIDE的插件)并不是Android设备软件栈的一部分,但也应该被视为Android的一大特点。
2.Android演化史
跟很多人想象的不一样,Android并不是源自Google。Android最早是由美国加州帕洛阿尔托市的一家名叫Android的创业公司开发的。2005年7月,Google收购了这家公司,并于2007年11月发布了AndroidSDK的预览版。
2008年8月中旬,Google发布了Android0.9SDK的beta版,一个月后发布了Android1.0SDK。表1-1罗列了SDK随后的更新。(从1.5版开始,每个主要版本都会有一个相应的代号,每个代号都是某种甜点的名称。)
表1-1 Android的主要版本
3.Android系统架构
Android软件栈的顶层是应用,中间是中间件(由应用框架、库和Android运行时组成),底层则是带有各种驱动的Linux内核。图1-1展示了这种分层架构。
图1-1 Android的分层架构由若干主要部分构成
用户关心的是应用,Android发行时就附带了很多有用的核心应用,包括浏览器(Browser)、联系人(Contacts)和电话(Phone)。所有的应用都是用Java语言编写的。应用构成了Android架构的最顶层。
直接支撑应用层的是应用框架(application framework),这是一组用于构建应用的高层构件。应用框架是预装在Android设备中的,其中包含以下组件。
Activity管理器(Activity Manager):该组件用于管理所有Activity的生命周期,并维护一个用于实现应用内部和应用之间切换Activity的共享活动栈。本章稍后会详细讨论。
内容提供器(Content Providers):这些组件将数据(例如浏览器应用中的书签)封装成能在应用间共享的形式
位置管理器(Location Manager):该组件使Android能获取设备的物理位置。
通知管理器(Notification Manager):该组件使应用可以将重要的事件(例如有新短消息)在状态栏中显示出来且不会打断用户当前的活动。
包管理器(Package Manager):该组件使应用可以知道设备上安装的其他包的情况。(本章稍后会讨论应用包。)
资源管理器(Resource Manager):该组件使应用可以访问各种资源,稍后会在攻略1-5中讨论该主题。
电话管理器(Telephony Manager):该组件使应用可以知道设备的电话服务状态。它还负责电话的拨打和接听。
视图系统(View System):该组件负责管理用户界面元素和生成面向用户界面的事件。(在攻略1-5中会简要探讨这些内容。)
窗口管理器(Window Manager):该组件将屏幕上的元素组织到窗口中,分配绘图界面,同时执行其他窗口相关任务。
应用框架中的组件在完成各自任务时都要依赖一些C/C++库。开发人员通过应用框架中的API与下面这些库交互。
FreeType:这个库用于支持点阵字和向量字的渲染。
libc:这是一个源自BSD系统的标准C系统库的实现,该C库针对嵌入式Linux设备进行了优化。
LibWebCore:这个库为Android浏览器和嵌入式Web视图提供了现代化的高速Web浏览器引擎。它是基于WebKit的(http://en.wikipedia.org/wiki/WebKit),Google的Chrome和苹果的Safari浏览器使用的也是WebKit。
媒体框架(Media Framework):这些基于Packet Video的Open CORE的库支持多种流行的影音格式的播放和录制,还能处理静态图片文件。支持的格式包括MPEG-4、H.264、MP3、AAC、AMR、JPEG和PNG。
Open GL|ES:这是Android基于OpenGL|ES1.0API的OpenGL实现的3D 绘图库。它可以使用硬件3D加速(如果能用的话)或是内建的(经过高度优化的)3D 软件光栅器。
SGL:这个库提供了底层的2D绘图引擎。
SQLite:这个库提供了一个功能强大的轻量级关系数据库引擎,可供所有应用使用。Mozilla的Firefox和苹果的iPhone也用这个引擎实现持久化存储。
SSL:这个库提供了基于SSL (安全套接层)的网络通信安全机制。
外观管理器(Surface Manager):这个库负责管理显示子系统的访问方式并将各种应用的2D和3D图形层无缝地组合在一起。
Android运行时环境由核心库(ApacheHarmonyJava第5版实现的一个子集)和Dalvik虚拟机组成。Dalvik不是基于栈的,而是一个基于寄存器的非Java虚拟机。
——摘自《Android攻略》
分享到:
相关推荐
在Android开发领域,掌握基础知识是至关重要的,而这套"Android开发从入门到精通【视频教程+课程源码】"提供了一条系统学习的路径。它不仅包括了详细的视频讲解,还有配套的源代码,旨在帮助初学者从零开始,逐步...
Android APP 开发入门教程 Android APP 开发入门教程主要介绍了 Android APP 的开发流程,从 SDK 下载、开发环境搭建、代码编写、APP 打包等步骤一一讲解。本教程通过实践操作,带领读者一步步完成 Android APP 的...
《Android开发从入门到精通》是一本针对Android Studio的详细开发指南,旨在帮助初学者和有一定基础的开发者深入了解和掌握Android应用开发的核心技术。在学习Android开发的过程中,Android Studio是官方推荐的集成...
Android开发从入门到精通 扶松柏编著。通过具体实例,详细讲解安卓技术的具体应用和实现过程。
《Android Studio从入门到精通》是一本针对初学者的详细指南,旨在帮助读者掌握这款强大的Android应用程序开发环境。虽然书中可能基于的是较旧版本的Android Studio,但核心概念和大部分功能在新版本中依然适用,...
从标题《Android Studio 简易入门》来看,本文应该是一份关于如何使用Android Studio进行Android应用开发的入门指南。Android Studio是Google官方提供的集成开发环境(IDE),专为Android应用开发设计,它简化了应用...
《Android从入门到精通》是一本专为初学者设计的Android开发指南,旨在帮助读者全面了解并掌握Android应用开发的基本技能。这本书详细介绍了Android开发环境的搭建、Android应用程序的基础架构、UI设计、数据存储、...
"Android开发从入门到精通光盘源代码"是一个很好的学习资源,提供了随书配套的详细代码示例,帮助开发者深入理解Android应用开发的各个环节。这里我们将围绕这个主题,深入探讨Android开发中的关键知识点。 首先,...
"Android入门快速入门第一天"这个主题旨在帮助新接触Android开发的朋友们迅速建立起对这个平台的理解和实践能力。在这个阶段,我们将涵盖以下几个核心知识点: 1. **Android系统概述**:Android是由Google主导的...
在Android游戏开发领域,入门是每个开发者都需要经历的阶段。Android平台因其开源、广泛的设备覆盖以及丰富的用户基础,成为许多游戏开发者首选的目标平台。本文将深入探讨Android游戏开发的基础知识,帮助初学者...
Android开发从入门到精通第二版项目案例+视频讲解
《Android开发从入门到精通》是一本专门为Android编程新手量身打造的教程。这本书全面覆盖了Android开发的基础知识,旨在帮助读者快速掌握Android应用开发的核心技能。以下是对书中的主要知识点进行的详细解读: 1....
《Android入门到精通》这本书是为想要学习和掌握Android应用开发的初学者量身打造的指南。Android作为全球最流行的移动操作系统,拥有庞大的用户群体,为开发者提供了广阔的应用市场和无限的创新空间。本书旨在帮助...
《Android Studio从入门到精通》是一本全面介绍Android Studio开发环境和Android应用开发技术的教程。这本书以超高清完整PDF格式呈现,具有文字可复制的特点,方便读者学习和查阅。目录结构清晰,使得读者能够系统地...
"Android 游戏开发入门随书光盘的代码"提供了一个理想的资源库,帮助新手们快速进入游戏开发的殿堂。这个压缩包包含了与书籍配套的源代码,以及一些重要的学习材料,比如"JavaApk源码说明.txt",这很可能是对源代码...
Android开发从入门到精通是扶松柏编著的一本关于Android应用程序开发的书籍。该书面向初学者,旨在通过简洁明了的语言和生动的实例,详细介绍Android应用开发中所需掌握的各种技术。书中可能覆盖的内容包括但不限于...
《Android从入门到精通源代码 孙更新》是一份针对初学者和进阶开发者精心编写的资源包,旨在帮助读者全面掌握Android应用开发的核心技术。这份资料由知名Android讲师孙更新提供,通过深入浅出的讲解和实际源代码示例...
Android开发应用从入门到精通 朱桂英 中国铁道出版社 本书循序渐进地讲解了android技术的基本知识,并通过实例直观地演示了android在各个领域中的具体应用。本书内容新颖、知识全面、讲解详细,全书分为4篇17章,第...