Android学习 – 认识Android
以下内容是参考官方文档,我大致翻译了一下,因水平有限,很多就是直译甚至逐字译,有不对的地方请各位指正
一、什么是Android
Android是为移动设备所提供的一系列软件,这包含了一个Android的操作系统、基于此操作系统的一些关键应用、以及为开发人员提供的Android SDK。其中Android SDK包含了用于开发Android平台应用程序所需要的工具和API,这些应用是使用Java开发的。
二、Andorid的特性
- 可重用以及可替换的应用程序框架
- 优化的Dalvik虚拟机
- 集成了基于开源WebKit引擎的浏览器
- 优化的图形库
- 用于数据存储的SQLite
- 支持常见的音频、视频、图片媒体库
- 支持手机硬件的驱动(GMS、蓝牙、WIFI、摄像头、GPS等等)
- 丰富的开发环境(模拟器、调试器、内存和性能分析工具、ADT)
三、Andorid的架构
官方提供了一张很详尽的架构图,如下。
-
应用层
Android自带了一些核心应用,比如Email客户端、SMS程序、日历、浏览器等等,当然第三者开发的应用也属于这一层。
-
Android应用框架
这是与开发人员关系最密切的一个部件,通过Android提供的开放的开发平台,开发人员可以自由的与移动设备的硬件进行交互、运行后台程序、设置报警、添加状态栏通知、创建与用户互动的界面等等,就像Android自带的核心应用一样,你可以访问Android框架提供的API。
Android的应用框架旨在简化组件的重用,当某个应用如果公开了某个功能,那么其他应用可以直接重用这个公开的部分。举个例子:如果你开发的一个应用程序需要用到发邮件这个功能,那么你可以直接方便的调用Android核心应用的发邮件,而不必再自己开发一套。
在这些Android应用的背后,有一系列的组件、服务在支撑着它们:
- View System提供丰富的以及可扩展的UI控件,让开发者构建出与终端用户互动的界面:List、Button、TextBox等等
- Content Providers让应用可以共享数据以及从其他应用获取数据
- Resource Manger让应用可以访问一些非代码的资源,如本地图片、布局文件
- Notification Manager让应用可以自定义状态栏信息
- Activity Manager管理着应用的生命周期
-
Android类库
包含了很多Android系统组件用到的一些C/C++类库,这些组件特性通过Android FrameWork提供给开发者。
-
Andorid运行时
包含了一些Java开发的运行时类库
-
Linux内核
提供了Android的系统核心服务依赖,如安全、内存管理、进程管理、网络服务、驱动模型等,可以理解为介于硬件和软件的中间层。