码迷,mamicode.com
首页 > 移动开发 > 详细

Android Framework ContentProvider框架

时间:2014-11-30 00:57:19      阅读:269      评论:0      收藏:0      [点我收藏+]

标签:android   数据源   contentprovider   

ContentProvider统一了对数据源操作的接口,并支持进程间通信(IPC),应用进程之间可以通过ContentProvider对外暴露接口,来分享数据。 作为android中核心组件,不得不深入了解,翻看了android的源码写篇blog与大家分享。


1.我画了一个静态类结构图,看下图:

bubuko.com,布布扣

上图中已经把ContentProvider的核心结构列举了出来。

1.IContentProvider定义了所有可以操作数据源的接口,如:query,insert等。

2.ContentProviderNative是一个抽象类继承自Binder,它并没有真正实现IContentProvider接口,ContentProviderNative核心方法asInterface,这是一个static的方法负责得到ContentProviderProxy代理对象。

3.ContentProviderProxy实现了IContentProvider所有接口,并支持进程间通信(IPC),主要负责将形参打包到Parcel中通过IBinder.transact发送包并从reply parcel中得到cursor

4.Transport继承自ContentProviderNative,并通过getIContentProvider方法返回。


我画了一个时序图,来说明在Activity中使用getConentResolver().query时以上对象的调用时序:


bubuko.com,布布扣

本文出自 “ITLIFE” 博客,请务必保留此出处http://xwteacher.blog.51cto.com/9653444/1584552

Android Framework ContentProvider框架

标签:android   数据源   contentprovider   

原文地址:http://xwteacher.blog.51cto.com/9653444/1584552

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!