开始
之前没有接触过客户端的知识,倒是使用JAVA自带的Swing和AWT写过Windows图形界面,自己也总是觉得应该利用空闲时间学习一下其它方面的知识,之前一直计划开始学习Android,于是踏上了学习Android的征程,当然鉴于自己以前学习编程的经验,实践的效果远远大于读书,尤其是对于这种偏实践性型的技术,但是自己的学习的过程中总是会有这样的现象:当天整个学习过程很顺畅,以为掌握了这部分知识,但是过了两天再看发现这部分知识还是崭新的,于是就希望能够把自己的收货记录下来,当然其中在学习的过程中会牵扯到各种各样安卓开发外的联想,这也是我我对编程认识的最基本的原则之一:技术之间都是互通的,基本原则总是就那么几条。
书籍选择
对于入门的我第一件事就是选择一个靠谱的教材,开始我考虑的是国外的经典教材,毕竟更权威一些,但是又想了一下觉得如果从一本这种书开始学起难免会拖慢自己的速度,毕竟开始还是考虑从动手的角度上先知道怎么做,然后在考虑为什么,所以对我来说无论哪本入门书都应该差不多,于是就选择了国产的《第一行代码》,从头开始学起吧。希望这本书不要像谭浩强那本书给我太多的误导,嘿嘿~
Android系统架构
根据书中的介绍,Android系统可以分成如下几层:
内核层,Androi是基于Linux内核的,除了通用的内核程序之外,还有一些为特殊硬件适配的驱动,包括Wifi、蓝牙、照相机驱动等。驱动一般是由硬件厂商开发的,提供了内核对这些硬件接口。
系统运行库层,类似于PC端的Linux系统提供的一些系统库,Android同样也提供了一些系统库,包括SQLite支持数据库支持,Webkit提供浏览器内核支持,JAVA虚拟机的支持等,这一层为了应用框架服务。
应用框架层:这一层是为应用程序提供开发API,主要包括Android系统API。
应用程序层:该层为普通的应用程序,包括系统自带