Android Framework初识

前言

如下图所示, 从顶层到底层Android的四层架构分别为:

  • 应用程序层
  • 应用程序框架层
  • 运行层(系统Native库和Android运行时环境)
  • Linux内核层

其中Framework层为我们开发应用程序提供了非常多的API,使得开发者通过简单调用API即可开始APP的开发,而不用详细了解Android系统纷繁复杂的底层知识。下面详细介绍下Framework到底在整个Android架构中的功能与构造。

Android框架结构

Framework简介

Framework是一个中间层,一方面向上提供基本服务接口API给应用层调用,另一方面向下与C/C++程序库以及硬件抽象层等进行衔接。其可以分为三个部分:framework Java、JNI、framework C++。

  • framework Java:用Java语言编写一些规范化的模块封装成框架(API),供APP层开发者调用开发出具有特殊业务的APP;
  • Java Native Interface ( JN I)I
    底层代码使用C/C++书写,而应用层代码则因为面向对象、代码复用、内存释放等原因使用的是Java 语言,JNI可以使得Java与C++层进行互相访问,其根据函数表查询调用核心库层里的底层方法,最终访问到Linux内核;
  • framework C++

Framework四大组件

组件功能
Activities描述UI,并且处理用户与机器屏幕的交互
Services处理与应用程序关联的后台操作
Broadcast Receivers处理Android操作系统和应用程序之间的通信
Content Providers处理数据和数据库管理方面的问题

Activities

负责管理Android应用程序的用户界面。一个活动标识一个具有用户界面的单一屏幕。举个例子,一个邮件应用程序可以包含一个活动用于显示新邮件列表,另一个活动用来编写邮件,再一个活动来阅读邮件。当应用程序拥有多于一个活动,其中的一个会被标记为当应用程序启动的时候显示。
一个活动是Activity类的一个子类,如下所示:

public class MainActivity extends Activity {

}

Services

服务是运行在后台,执行长时间操作的组件。举个例子,服务可以是用户在使用不同的程序时在后台播放音乐,或者在活动中通过网络获取数据但不阻塞用户交互。

一个服务是Service类的子类,如下所示:

public class MyService extends Service {

}

Broadcast Receivers

广播接收器简单地响应从其他应用程序或者系统发来的广播消息。举个例子,应用程序可以发起广播来让其他应用程序知道一些数据已经被下载到设备,并且可以供他们使用。因此广播接收器会拦截这些通信并采取适当的行动。

广播接收器是BroadcastReceiver类的一个子类,每个消息以Intent对象的形式来广播。

public class MyReceiver  extends  BroadcastReceiver {

}

Content Providers

内容提供者组件通过请求从一个应用程序到另一个应用程序提供数据。这些请求由ContentResolver类的方法来处理。这些数据可以是存储在文件系统、数据库或者其他其他地方。

内容提供者是ContentProvider类的子类,并实现一套标准的API,以便其他应用程序来执行事务。

public class MyContentProvider extends  ContentProvider {

}

未完待续。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值