Android Dev Guide指出:
内容提供程序还可用于读取和写入应用程序私有且不共享的数据。
通常情况下,内容提供程序用于为不同的应用程序提供数据或在它们之间共享数据。我想知道是否有使用私有提供程序并不想分享的用途?相对于直接访问数据库或文件系统,是否提供任何优势?
谢谢, Rajath
Android Dev Guide指出:
内容提供程序还可用于读取和写入应用程序私有且不共享的数据。
通常情况下,内容提供程序用于为不同的应用程序提供数据或在它们之间共享数据。我想知道是否有使用私有提供程序并不想分享的用途?相对于直接访问数据库或文件系统,是否提供任何优势?
谢谢, Rajath
CursorLoader
),以确保您的应用程序在UI方面运行流畅。ContentProvider
访问的任何线程本地化可重入的DB访问,因此所有锁定都可以完全发生在您的ContentProvider覆盖调用中,而无需在数据库层、服务层和UI层中进行跟踪。至于数据库的可重入锁定,它没有完全实现,但是有助于解决此问题——您的ContentProvider类实现了四个简单函数(CRUD接口),如果您选择覆盖它,则可以实现第五个批处理函数batchAdd()。这将本地化您的锁定。最简单的答案是仅在函数级别上将这四个/五个函数声明全部“同步化”,然后就完成了。这比尝试从访问您的DB的20个位置中的5个不同Activity中弄清楚锁定要容易得多。
SQLiteDatabase
实例,那么您不需要同步锁定,因为它已经在内部管理锁定。 - Karakuri