前言

整理Github时, 找到了这篇以前不知是看哪本书时做的笔记。

1. 简析Android安装文件

1.1 Android SDK目录结构

  • add-ons:包含了官方提供的API包,例如常用的Google Map API
  • docs:包含了帮助文档和说明文档
  • platforms:包含了针对每个版本的SDK版本,提供了和其对应的API包以及一些示例文件,其中包含了各个版本的Android
  • temp:包含了一些常用文件模板
  • tools:包含了一些通用的工具文件
  • usb_driver:包含了AMD64和X86下的驱动文件
  • SDK Setup.exe:Android的启动文件

1.2 android.jar及其内部结构

在”platforms”目录下的每个Android版本中都有一个名为”android.jar”的压缩包
01

1.3 阅读SDK文档需要技巧

  • 在解压缩文件”android.jar”之后,就可以了解其内部API的包结构和组织方式了。
  • 使用浏览器打开”docs”目录下的文件index.html,这个网页就是SDK帮助文档的主页。

1.4 不简单的SDK工具

SDK里面集成了很多其他有用的开发工具:

  • Android模拟器
  • 集成开发插件ADT
  • 调试监视服务ddms.bat
  • Android调试桥adb.exe
  • Android虚拟设备

2. 实例教学

Android安装目录中有一个名为”samples”的子目录, 在里面保存了SDK中的几个演示实例, 如android-7里面:
02

执行各个实例体验效果


3. 剖析Android系统架构

3.1 Android体系结构的介绍

Android是一个移动设备的开发平台,其软件层次结构包括操作系统(OS)、中间件(MiddleWare)和应用程序(Application)。根据软件框图,其软件层次自上而下分为以下四层:

  • 操作系统层(OS)
  • 各种库(Libraries)和Android运行环境(RunTime)
  • 应用程序框架(Application Framework)
  • 应用程序(Application)

上述各个层具体结构如下图示:
03

    1. 操作系统层(OS)——最底层
      Android对操作系统的使用包括核心和驱动程序两部分,Android的Linux核心为标准的Linux2.6内核,Android更多的是需要一些与移动设备相关的驱动程序,主要驱动程序如下:
    • 显示驱动(Display Driver)
    • Flash内存驱动(Flash Memory Driver)
    • 照相机驱动(Camera Driver)
    • 音频驱动(Audio Driver)
    • Wifi驱动(Wifi Driver)
    • 键盘驱动(KeyBoard Driver)
    • 蓝牙驱动(Bluetooth Driver)
    • Binder IPC驱动:Android的一个特殊驱动程序,具有单独的设备节点,提供进程间通信的功能
    • Power Management(能源管理)
    1. 各种库(Libraries)和Android运行程序(RunTime)——中间层
      Android的这一层分为两部分:一是各种库,另一个是Android运行环境。本层包含的库如下:
    • C库
    • 多媒体框架(MediaFramework)
    • SGL
    • SSL
    • OpenGL ES 1.0
    • 界面管理工具(Surface Management)
    • SQLite
    • WebKit
    • FreeType
      Android的各种库一般是以系统中间件的形式提供的
      Android运行环境主要是指虚拟机技术——Dalvik
    1. 应用程序(Application)
    1. 应用程序框架(Application Framework)
      Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。
      一个基本的Android应用程序可以利用应用程序框架中的以下五个部分:
    • Activity(活动)
    • Broadcast Intent Receiver(广播意图接收者)
    • Service(服务)
    • Content Provider(内容提供者)
    • Intent and Intent Filter(意图和意图过滤器)

3.2 Android应用工程文件组成

  • src目录——程序文件
  • AndroidMainfest.xml文件——设置文件
  • 常量的定义文件

4. 简述五大组件

4.1 用Activity来表现页面

4.2 用Intent和IntentFilter实现切换

4.3 Service

  • 如何使用服务
  • Service生命周期
  • 进程生命周期

4.4 用BroadcastIntentReceiver发送广播

4.5 用ContentProvider存储数据


5. 进程和线程


6. 应用程序生命周期

进程的类型多种多样,按重要程度分为以下几类:

  1. 前台进程(Foreground)
  2. 可见进程(Visible)
  3. 服务进程(Service)
  4. 后台进程(Background)
  5. 空进程(Empty)