本人现在在狂学Android, 在此写博客的目的有两个:首先是能够把自己学到的知识记录下来已方便日后回顾;另外就是通过博客和大家进行交流。
我主要看的两本书: Android4高级编程(第三版)和Android讲义
现在开始正题
1 什么是Android
Android 是一种基于Linux的自由及开放源代码的操作系统。它主要应用在移动设备,如手机,平板等。起初,Android是由Andy Rubin开发,之后被google收购,依靠谷歌的强大开发能力,Android已成为应用最广泛的手机操作系统。
2 Android 平台架构
Android Software Stack
LInux Kernel: 核心服务(硬件驱动,进程和内存管理,安全,网络,电源管理)。内核版本是Linux 2.6,提供硬件的抽象层(硬件和其它层之间)。
Libraries: 提供媒体播放控制库,显示控制库,图形控制库,数据库控制库,集成浏览器和网络安全库。
Android Runtime: 核心类库和Android 虚拟机。
Android Framework: 提供创建Android应用的类,提供抽象层来控制硬件,应用界面,应用资源。
Applications: 包含系统的核心程序,包括联系人,浏览器,电话,SMS(短信)。
补充:Android应用程序使用Java语言编写,其大部分Java语言基础功能都由Android核心库提供,比如基础数据结构、数学、I/O、工具、数据库、网络等库。其中大部分实现来源于ApacheHarmony项目,核心库的具体实现位于libcore目录中,Java部分最终会被打包为core.jar包,经过安装,最终将被放置在目标文件系统的system\framework\目录中,当桌面启动时首先加载,作为Java程序的一个基础包。
Applications 和 Application Framework主要是用java语言编写的,第三层的和第四层是用C和C++编写的。
对于我们初学者,我们都是用java语言进行编写Android应用的,如果我们要提高程序的运行性能,则可以进行NDK编程,需要用到C++.
如果有错误的地方希望大家能批评指正!!!谢啦