Android FrameWork层框架

雨燕双飞 提交于 2019-12-05 03:03:57

Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层。我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得。
  Framework层为我们开发应用程序提供了非常多的API,我们通过调用特殊的API构造我们的APP,满足我们业务上的需求。写APP的人都知道,学习Android开发的第一步就是去学习各种各样的API,什么Activity,Service,Notification等。这些都是framework提供给我们的,那么我就详细的讲讲Framework到底在整个Android架构中扮演着什么角色。
  Framework其实可以简单的理解为一些API的库房,android开发人员将一些基本功能实现,通过接口提供给上层调用,可以重复的调用。
  我们可以称Framework层才真正是Java语言实现的层,在这层里定义的API都是用Java语言编写。但是又因为它包含了JNI的方法,JNI用C/C++编写接口,根据函数表查询调用核心库层里的底层方法,最终访问到Linux内核。那么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。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!