文章目录
学习《第一行代码》(一)
Android 框架
由下至上:Linux内核层–>系统运行层–>应用框架层–>应用层
Linux内核层
Android 系统是基于Linux内核的,这一层为Android设备的各种硬件提供底层的驱动,比如:显示驱动、WiFi驱动、相机驱动、蓝牙驱动等(没有这些驱动,这些功能就无法运行实现)
系统运行层
接着Linux内核层,通过一些C/C++的库来为Android系统提供主要的特性支持,如数据库是由SQLite库提供支持,3D绘图由OpenGL | ES库提供支持,浏览器内核由Webkit库支持等(承上启下的一层,想要实现的功能通过这一层来调用内核层驱动进而实现功能)
SQLite数据库
轻量级、运算速度极快的嵌入式关系型数据库,支持SQL语句,可通过Android封装好的API进行操作
OpenGL | ES库
OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。OpenGL ES 是从 OpenGL 裁剪的定制而来的,去除了glBegin/glEnd,四边形(GL_QUADS)、多边形(GL_POLYGONS)等复杂图元等许多非绝对必要的特性。
Webkit库
WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也称MSHTML,IE 使用)。
应用框架层
提供写代码的时候可能会用到的各种API,Android一些自带的核心应用就是用这些API 完成的
应用层
通过apk安装在手机上的应用
Android 四大组件
活动(Activity)
打开手机应用,能看到的东西都是放在Activity中
服务(Service)
在后台默默运行,比如切换手机应用
广播接收器(Broadcast Receiver)
提供接受广播信息或向外发送广播信息的方式,比如打电话/接电话,收发短信等等
内容提供器(Content Provider)
为应用程序之间共享数据提供可能,比如通过内容提供器读取系统电话簿中的联系人信息