关于不一样应用程序之间的数据共享,已有的方式包括SharedPreferences和文件存储或者数据库,这几种操做的一个特色是,第三方程序直接操做数据,能够根据本身的须要随意进行数据操做,而不须要知道文件内部数据的组织方式和逻辑结构,这样就比较容易致使数据混乱,完整性受到威胁。数据库
ContentProvider与这些方式不一样,可是ContentProvider必须创建这些数据之上,或者数据库或者存储文件,当这些文件存在了以后,能够基于这些文件的数据结构和逻辑结构,定义一套规范的数据操做方法,以ContentProvider的方式公布这些操做方法,也就是说ContentProvider不是一个独立存在的数据,而只是一套操做已经存在数据的特定方法的集合,至于ContentProvider的注册和使用就是技术上得实现问题了,其实也是很简单的吧。数据结构
另外,ContentProvider有系统提供的和自定义的两种,Android系统提供了许多的ContentProvider共享接口,这些要在工程项目中逐渐积累的吧,至于自定义的ContentProvider,理解,多多练习啦。ide