快毕业那会儿就想搞下安卓,当时找工作没时间学新的东西,只好作罢。

这段时间刚好想搞点新东西了,于是就想把安卓好好学下,毕竟闲时自己鼓捣出来个东西还是比较有成就感的。同时安卓涉及到的面比较广,从系统到语言到设计模式到前端,刚好可以以此为线,串珠为链扩充自己的知识面。

从今天开始,我将自己对于安卓的粗浅的理解写到博文里,权当做笔记,也是自己一个学习的印记。

安卓系统架构

说起安卓的系统架构离不开这张图:

可以看出来从底层到表层可以主要分为四层:

1.Linux Kernel

这是最底层,主要跟硬件打交道,所以里面包含了各种驱动。

2.Library

一些系统运行库:主要有数据库支持,一些3D动画效果库和浏览器内核支持,主要由C/C++语言编写。

3.Application Framework

构建应用程序所要的一些API。

4.Application

所有手机上的安装程序都在这一层,包括手机短信等应用程序。

安卓四大组件

安卓系统主要提供了四大组件,这四大组件的功能如下图所示:

安卓项目的目录结构

一个安卓项目的主要目录结构如下:

安卓理念

逻辑与视图分离:即在业务逻辑里,从来不会设定要显示的页面的细节,这些都交给布局文件了,业务逻辑里面只要显示该布局文件即可。

拒绝字符串硬编码:所以要有values目录,这里存放了所有需要显示字符串的键值对应关系。

PS:极力推荐《第一行代码》这本书。讲得通俗易懂,看完这本书,再看官方API文档,相信一定会对安卓有个全面的了解的。