四大组件(4)-ContentProvider

一、功能

创新互联是专业的祁门网站建设公司,祁门接单;提供网站设计制作、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行祁门网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

应用之间共享数据

常见使用场景:通讯录 短信等

二、使用步骤

1.提供数据App - 定义ContentProvider

继承ContentProvider 复写相关初始化和查询方法,同时在Manifest中声明

<provider 

android:name=“xxx”

android:authorities=“testProvider” //访问路径名称

android:enabled=”true“

android:exported=“true”/>

2.获取数据app 使用ContentResolver获取数据

Uri uri = Uri.parse(“content://xxx”);

ContentResolver contentResolver = getContentResolver();

Curor cursor = contentResolver.query(uri,null,”query_where”,null,null);

三、原理

匿名共享内存(ASM) - binder机制

假设A应用访问B应用数据

1.A发送消息给AMS,想要访问B中的CP。

2.AMS检查发现,B中的CP没启动过,为此新开一个进程,启动B,然后获取到B启动的CP,把CP的代理对象返回给A。

3.A拿到CP的代理对象,也就是IContentProvider,就调用它的增删改查4个方法了,接下来就是使用ASM来传输数据或者修改数据了

参考:https://www.jianshu.com/p/c2ac0a54cdaa

四、扩展

Binder机制

https://www.jianshu.com/p/47731149c93c

AIDI使用

https://www.jianshu.com/p/29999c1a93cd

https://www.jianshu.com/p/23612b2cce30

本文名称:四大组件(4)-ContentProvider
文章源于:https://www.cdcxhl.com/article22/ghcpjc.html

成都网站建设公司_创新互联,为您提供软件开发电子商务服务器托管Google微信公众号网站建设

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设