Android ContentProvider用法解惑
PHPz
PHPz 2017-04-17 17:03:14
0
3
706
PHPz
PHPz

学习是最好的投资!

répondre à tous(3)
巴扎黑

不好意思,又自问自答了。这个问题我已经在代码层面解决,解决方案是:

  1. 如果ContentProvider的update、insert、delete会影响到UI的显示,那代码中就不能直接操作DB了,而应该统一使用ContentProvider,同时需要注册ContentObserver进行Uri的监听,以便切换UI。

  2. 如果ContentProvider的操作不会影响UI,那就无所谓了。内部直接操作DB也是可以的。

迷茫

根据ContentProvider定义,它是在不同应用中进行数据交换的标准API,当一个应用需要把数据暴露给其他应用时可以使用它,而其他应用可以通过ContentResolver去操作暴露的数据,通过ContentProvider暴露自己的数据操作接口,其他应用就可以通过该接口进行相应的增删改查操作。但通过ContentResolver操作本质就是调用了ContentProvider的操作,而其中的操作使用的还是SQLiteOpenHelper的db。所以个人认为不需要重写,不过这也是个人观点,还是要你自己去试试就知道结果了。

Peter_Zhu

应该是的,直接通过数据写的数据是应用私有数据,其他应用无法访问,不过如果DB文件在SD卡里面进行操作就好像可以访问。

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal