Android SDK
Android SDK 提供了在 Window/Linux/Mac 等平台上开发 Android 应用程序的相应的开发组件。它含有在 Android 平台上开发应用程序的工具集。
-
总体架构
- Android 最底层基于 Linux 2.6 内核实现,负责硬件驱动、网络管理、电源管理、系统安全、内存管理等
- Android 的第二层由大多数开源的函数库组成,在这一层中的 Android Runtime 提供了 Android 特有的 Java 内核库
- Surface Manager : 支持显示子系统的访问,提供应用与 2D 、3D 图像层的平滑连接
- Media Framework : 实现音视频的播放和录制功能
- SQLite : 轻量级的关系数据库引擎
- OpenGL ES : 基于 3D 图像加速
- FreeType : 位图与矢量字体渲染
- WebKit : Web浏览器引擎
- SGL : 2D 图像引擎
- SSL : 数据加密与安全运输的函数库
- Libc : 标准 C 运行库、Linux 系统中底层应用开发程序接口
- Android Runtime
- Core lib : 提供 Android 系统特有函数功能和 Java 语言函数功能
- Dalvik VM : 用于运行 Android 程序
- Android 的第三层是应用程序架构,它为应用程序层的开发者提供了用于软件开发的 API
- Activity Manager:管理应用程序的生命周期
- Windows Manager:启动应用程序的窗体
- Content Provider:共享私有数据,实现跨进程的数据访问
- Package Manager:管理安装在Android系统内的应用程序
- Teleghony Manager:管理与拨打和接听电话的相关功能
- Resource Manager:允许应用程序使用非代码资源
- Location Manager:管理与地图相关的服务功能
- Notification Manager:允许应用程序在状态栏中显示提示信息
- View System:View是用户界面控件的基础
- Android 的第四层是应用程序层,Android 本身已经提供了一些简单的应用,如主屏幕、联系人、电话等应用。开发者也可以使用 Android 提供的 API 开发自己的程序
-
简单的 Android 应用程序组成
- Activity
相当于 Windows 应用程序的对话框或窗口或应用程序的 Web 页面窗口 - Content Provider
提供应用程序使用的数据存储 - Service
和 Activity 独立的可以保持后台运行的服 - Intent
运行时绑定的机制,用来描述一个程序想要做什么事情、从一个 Activity 跳到另一个 Activity 等
- Activity
Dalvik 虚拟机
众所周知,Java 程序运行时需要 JRE 运行环境,Android 也有自己的 Dalvik 虚拟机。Dalvik 虚拟机针对手机的实际情况进行优化,并且和普通 Java 虚拟机不同的是,Dalvik 支持运行的文件格式是特殊的,它需要将普通 Java 的 Class 文件用 Android SDK 中的 dx 工具转换为 .dex 格式的文件(这些转换对开发者而言是透明的,编程人员无需分神关注)。
虚拟仿真器 AVD
在设置好集成环境之后,就可以编写 Android 应用程序了。可以先在虚拟手机上仿真而不必真正放到手机上运行。但模拟器 AVD 毕竟不是真实的手机,有些真实手机的功能并不具备。