一、概述
ContentProvider ,Android 四大组件之一,可用于不同应用之间的数据获取,这里简单介绍下App2通过 ContentProvider 从App1获取数据的使用(需要涉及到)
二、具体使用
1、App1需要自己实现ContentProvider,暴露给其他应用使用。(App1 提供数据)
2、App2 通过 ContentResolver 使用App1暴露的形式进行获取数据(App2 获取数据)
三、开始使用
1、App1 中需要的操作:
新建一个类,继承 ContentProvider,之后实现对应的需要实现的方法,具体为增删改查类的方法,如:
分别的增删改查中的实现为一些数据库的基本操作,比如其中的insert方法的实现,如下:
具体各个方法的实现可以参考文章末尾的demo链接。
我们在实现了自己想要的ContentProvider之后,同时需要在AndroidManifest中进行申明
至此,App1这个对外暴露数据的应用所需要的操作已经完成了。
2、App2 中需要的操作
在App2 中执行的操作非常简单,举一个其中的列子
直接在activity中通过 getContentResolver. 对应的方法进行操作即可。
四、总结
总的来说,其中涉及到的点我觉得主要是俩块,一个是对于数据库的一些基本操作,即增删改查,主要是在调用时其中的一些参数的含义,如果不是很清楚的,可以参考这里;另一个是一些校验相关的,比如URI, 在Manifest中声明的authority会与Uri的拼接会存在一定的关系,一些大致的拼接可以参考如下