01_Android系统架构及四大应用组件
Android系统架构
-
应用程序(Application)
-
应用程序框架(Application Framework)
-
本地框架类库(Libraries)和Java在Android上的运行环境
-
Linux内核和驱动
Android系统架构-应用层:1、和用户交互的应用 2、应用开发者做到工作就在这层
Android系统架构-应用框架层:1、开发者提供了API及开箱即用的应用界面组件
Android系统架构-本地框架和java运行环境层:1、基于Linux内核开发的涉及底层的基础系统功能 2、运行Android应用的Dalvik虚拟运行环境
Android系统架构-Linux核心系统服务:1、涉及到硬件相关的底层服务 2、安全性 内存管理 进程管理 驱动等
Android的四大应用组件
Android的四大应用组件为Activity(活动)、Service(服务)、Broadcast Receiver(广播接收器)、Content Provider(内容提供者)。
Activity-交互
-
Activity展现为可视化用户界面,提供程序与用户交互的窗口
-
一个Activity占据当前的窗口,响应所有窗口事件,具备控件、菜单等界面元素
-
为保持各界面状态,Activity需要保存数据和调用系统功能、妥善管理生命周期和实现界面之间的跳转逻辑等
-
对于开发者而言,一般创建Activity的子类,在其基础上定义界面布局、添加业务逻辑等
Service-工作
-
运行在后台的一个组件
-
封装有完整的功能逻辑实现,像没有界面的Activity
-
一般用于执行长时间运行的操作,且不需要提供用户界面的操作。如 后台下载,后台播放音乐等
-
通过Intent与其他组件进行通信
-
支持同步和异步的消息机制
BroadcastReceiver:广播接收者-消息管道
BroadcastReceiver是对发送出的广播进行过滤接收并响应的一类组件,通过它实现了组件之间异步的消息通信
Content Provider:内容提供器-共享
-
每个Android应用独立运行,通过它存储并检索数据并向其他应用程序提供访问数据的接口。
-
Android系统提供诸多功能的Content Provider,比如:音频文件、视频、图片和私人通讯录等。
Intent(传递消息的容器):组件互相调用的相关信息
-
负责在不同的组件之间传递消息,包含具体请求信息的对象
-
系统中协助完成应用间的交互调用与通讯的一种机制