Android 学习笔记1:基本架构
2014-01-18 23:17
295 查看
Android平台架构
安卓操作系统分为四层:应用程序,应用程序框架,核心类库(包括运行时环境),linux kernel。linux kernel
提供android的系统服务,包括进程管理,内存管理,电源管理,网络协议栈等等,是硬件和软件之间的抽象层。
系统运行库
c/c++函数库:通过上层的应用程序框架供开发者调用运行时环境:android库(java库的大部分功能),Dalvik虚拟机(不同于java虚拟机,它是基于寄存器的所有运行速度快)
应用程序框架
提供了用来创建应用程序的类,通过API调用为应用层提供系统服务。Activity Manager(活动管理器)——管理系统中的Activity,比如Android生命周期,activity task等
Window Manager(窗口管理器)——管理所有窗口程序
Content Provider(内容提供者)——用于不同程序之前的数据分享等
View System(视图系统)——构建应用程序的基本组件
Notification Manager(通告管理器)——在状态栏显示自定义的提示信息
Package Manager(包管理器)——管理Android系统内的程序
Telephony Manager(电话管理器)——管理访问移动设备上的电话服务
Resource Manager(资源管理器)——管理应用程序中的使用本地资源,如图片,布局文件,颜色文件等
Location Manager(位置管理器)——提供位置服务
XMMP Service(XMPP服务)——提供Google Talk服务
应用程序层 包括系统应用程序和第三方应用程序
四大基本组件
学习资料/article/5665106.html
Activity
应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。
Service
一个Service 是一段长生命周期的,没有用户界面的程序,可以用来开发如监控类程序。例子:正在从播放列表中播放歌曲的媒体播放器。在一个媒体播放器的应用中,应该会有多个activity,让使用者可以选择歌曲并播放歌曲。然而,音乐重放这个功能并没有对应的activity,因为使用者当然会认为在导航到其它屏幕时音乐应该还在播放的。在这个例子中,媒体播放器这个activity 会使用Context.startService()来启动一个service,从而可以在后台保持音乐的播放。同时,系统也将保持这个service 一直执行,直到这个service 运行结束。另外,我们还可以通过使用Context.bindService()方法,连接到一个service
上(如果这个service 还没有运行将启动它)。当连接到一个service 之后,我们还可以service 提供的接口与它进行通讯。拿媒体播放器这个例子来说,我们还可以进行暂停、重播等操作。
BroadcastReceive广播接收器
你的应用可以使用它对外部事件进行过滤只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面。然而,它们可以启动一个activity或serice 来响应它们收到的信息,或者用NotificationManager 来通知用户。通知可以用很多种方式来吸引用户的注意力──闪动背灯、震动、播放声音等。一般来说是在状态栏上放一个持久的图标,用户可以打开它并获取消息。content provider
android平台提供了Content Provider使一个应用程序的指定数据集提供给其他应用程序。这些数据可以存储在文件系统中、在一个SQLite数据库、或以任何其他合理的方式,其他应用可以通过ContentResolver类(见ContentProviderAccessApp例子)从该内容提供者中获取或存入数据.(相当于在应用外包了一层壳),只有需要在多个应用程序间共享数据是才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中。它的好处:统一数据访问方式。相关文章推荐
- Android 学习笔记--android基本
- Android基础学习笔记之-基本文件读写实现
- Android知识体系梳理笔记五:Kotlin学习笔记一:类和继承以及Anko(全)的基本使用
- Android系统架构(简述)——《深入理解(I)》学习笔记1
- Android应用开发学习笔记05--使用基本的UI控件
- Android GPS 架构学习笔记
- 【学习笔记】Linux基本操作(4)--- Linux系统目录架构
- android 学习笔记(九)android底层架构9.1 Android MediaPlayer
- Android 学习笔记--android基本注意点
- 学习笔记(一):计算机体系架构的术语和基本概念
- android 开发零起步学习笔记(二十一):AsyncTask的基本用法
- API Demos 2.3 学习笔记 (1)-- Android应用程序架构
- 安卓学习笔记---【Android】获取手机的基本信息
- Android(java)学习笔记142:使用Sqlite基本流程
- Android第一行代码学习笔记一----android架构
- 【Android】学习笔记(3)——基本控件三
- View学习笔记(1)-Android控件架构
- android 学习笔记-基本控件
- Android 学习笔记 —— Android 四大组件 与 MVC 架构模式
- 【Android】学习笔记(4)——基本控件之ProgressBar