【内容导航】
Android Overview
Android的学习内容和方法
1 Android Overview
Android就是架构在Linux Kernel上一套GUI系统,而Android中间层的完备强大远远强于传统GUI系统,比如MiniGui,QtEmbedded之类。当然其最最精华之处是引进了虚拟机,让广大的JAVA开发人员非常容易转到Android应用开发上,帮助其打造一个强悍的应用商店。这个应用商店就是粘住用户最最关键的东西。Android Market和App Store之间的竞争,是Android阵营和Iphone的竞争中最重要的部分。
首先来看Android Architeture:
从上至下分为5部分:Applications,Application Framework,Android Runtime,Linux Kernel,其中蓝色部分使用JAVA语言,黄色部分为Dalvik虚拟机,绿色部分用C++和C,红色部分用C和汇编。
以下内容将对android的架构图从上至下(从APP至Linux kernel)做一个描述,每描述完一部分就在框图上补上一部分内容,这样当我们把这张图补全时,就能完全了解了Android包含的内容,从事Android开发需要需要关注的领域。
1.1 Applications
常用的Application如上图所示,即基于Applicaiton Framework提供的API,开发出来的Android应用。绝大部分Android开发人员,都属于这一层。Application的开发基本都是脱离源码,使用Android SDK提供的标准API进行的,当然拥有自己硬件平台的手机/平板 OEM,可以修改源码扩展API,基于扩展API开发出来的应用只能在自己的平台上运行。
1.2 Application Framework
Application Framework向上对Application提供API,向下对系统提供的功能进行抽象封装。暴露给应用的Manager通常代码比较少,真正的工作通过bind service,让service来做,所以Manag