本博客地址:https://security.blog.youkuaiyun.com/article/details/82874945
一、基本理论
内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享功能,其允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。它可以选择只对哪一部分数据进行共享,从而保证程序中的隐私数据不被泄露。结合Binder进程间通信机制以及匿名共享内存机制,Content Provider组件就可以高效的将它里面的数据传递给业务层中的Android应用程序访问了。
Content Provider是不是单实例由android:multiprocess属性来决定的。当该属性值为false时,Content Provider为单实例,这也是默认值。当该属性值为true时,Content Provider为多实例,这时候在每个调用者的进程中都存在一个Content Provider对象。通常来说Content Provider都是单实例的。
二、访问其它应用程序中的数据
对于每一个应用程序来说,如果想访问内容提供器中共享的数据,就要借助ContentResolver类,可以通过Context中的getContentResolver()方法获取到该类的实例。
ContentResolver中的增删改查方法:insert()用于添加数据,