Android Dev Guide说
内容提供商也很有用 读取和写入数据 私有你的应用程序,而不是 共享。
通常,内容提供商用于向不同的应用程序提供数据或在它们之间共享数据。我想知道私人提供商是否有任何用处并且不想分享它。如果没有直接访问DB或文件系统,是否有任何好处?
谢谢, Rajath
答案 0 :(得分:78)
CursorLoader
)以确保您的应用程序在UI端顺利运行ContentProvider
访问的任何线程本地化重入数据库访问,这样所有锁定都可以完全在您的ContentProvider覆盖调用中发生,而不是在DB层,服务中跟踪它和一个UI层。对于数据库的重入锁定,它不能完全执行,但它有帮助 - 您的ContentProvider类实现了四个简单的函数(CRUD接口),如果您选择覆盖它,则第五个,batchAdd () - 这会使您的锁定本地化。骨简单的答案是简单地在功能级别标记所有四个/五个功能声明“synchronized”并完成。比试图从5个不同的活动中访问你的数据库的20个地方找出锁定要清楚得多。
答案 1 :(得分:1)
例如,多进程应用程序使用场景(如:音乐播放服务通常在远程进程中运行),在两个进程之间,在一个应用程序共享数据库中应该使用私有ContentProvider。