拜读郭霖大神《第一行代码——第二版》笔记——你的第一行代码

写在前面:
用三个月的时间断断续续终于拜读完郭霖大神的《第一行代码——第二版》,从一个hello world的菜鸟,跟随书中一步一个脚印,到如今对android能有一个大概的理解。现在回过头看,那些曾经陌生的变得有些熟悉了,而原来熟悉的变得更透彻了。也正是基于这本好书,我决定趁尚有余温,来写这个读书笔记。android开发,在路上!

Android系统架构

拜读郭霖大神《第一行代码——第二版》笔记——你的第一行代码
以上Android系统架构图源自*。


Android分为四层架构:Linux内核层、系统运行库层、应用框架层、应用层。
Linux内核层:提供底层的驱动。如Display Driver(显示驱动)、Camera Driver(照相机驱动)等。
系统运行库层:分为C/C++库Android运动时库两部分。1)C/C++库提供主要的特性支持,如SQLite库提供数据库的支持,WebKit库提供浏览器内核的支持等。2)而Android运行时库包括一些核心的库Dalvik虚拟机,核心库使得开发都可以利用java语言来编写Android应用,Dalvik虚拟机使得每个Android应用都能独立运行在自己的Dalvik虚拟实例的进程中。
应用框架层:提供了各种API
应用层:所有安装在手机的应用程序都属于应用层。


Android四大组件

Activity 活动,也可以理解为界面,它是所有Android**应用程序的门面**,凡是在应用中看得到的东西,都是放在活动中的。
Service 服务,它是一直在后台默默地运行的,即使用户即出了应用,服务仍然可以继续运行。
BroadcastReceiver 广播接收器,它允许应用接收来自各处的广播消息,如电话、短信等,同时也可以向外发出广播消息
ContentProvider 内容提供器,它为应用程序之间的共享数据提供了可能,比如你想读取系统电话簿中的联系人,就需要通过内容提供器来实现。