android framework中的application framework层

来源:互联网 发布:mac上如何卸载程序 编辑:程序博客网 时间:2024/05/17 08:33

Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层。

应用框架层framework。---------为我们开发应用程序提供了很多API------

--------------activity,service,notification

那么Framework层的作用就有2个。


1.用Java语言编写一些规范化的模块封装成框架,供APP层开发者


调用开发出具有特殊业务的手机应用。


2.用Java Native Interface调用core lib层的本地方法,JNI的库是在


Dalvik虚拟机启动时加载进去的,Dalvik会直接去寻址这个JNI方


法,然后去调用。



Activity Manager

 

用来管理应用程序生命周期并提供常用的导航回退功能。

 

Window Manager

 

提供一些我们访问手机屏幕的方法。屏幕的透明度、亮度、背景。

 

Content Providers

 

使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。

 

View System

 

可以用来构建应用程序, 它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons), 甚至可嵌入

的web浏览器。

 

Notification Manager

 

使得应用程序可以在状态栏中显示自定义的提示信息。

 

Package Manager

 

提供对系统的安装包的访问。包括安装、卸载应用,查询permission相关信息,查询Application相关信息等。

 

Telephony Manager

 

主要提供了一系列用于访问与手机通讯相关的状态和信息的方法,查询电信网络状态信息,sim卡的信息等。

 

Resource Manager

 

提供非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。

 

Location Manager

 

提供设备的地址位置的获取方式。很显然,GPS导航肯定能用到位置服务。

 

XMPP

 

可扩展通讯和表示协议。前身为Jabber,提供即时通信服务。例如推送功能,Google Talk。

。。。
Framework层提供的服务还有很多,就不一一列出啦。

===============================================================================
===============================================================================
===============================================================================

Android Activity/Service/Broadcaster三大组件之间互相调用

1、Service如何通过Broadcaster更改activity的一个TextView。
(研究这个问题,考虑到Service从服务器端获得消息之后,将msg返回给activity)

2、Activity如何通过Binder调用Service的一个方法。
(研究这个问题,考虑到与服务器端交互的动作,打包至Service,Activity只呈现界面,调用Service的方法)



0 0