[英]Android Sqlite with ContentProvider or SQLiteOpenHelper
我正在研究android db,遇到了2种工作方法:
1)仅使用SqliteOpenHelper
2)使用ContentProvider
和SqliteOpenHelper
使用一个或另一个有什么好处吗?
这个问题主要是基于意见的,但可以总结一下:
1)仅使用SqliteOpenHelper
您将必须自己管理数据库访问。 提供CRUD访问的方法并具有完全控制权。 可以并且仍然应该使用SqliteOpenHelper
处理SqliteOpenHelper
。
2)使用ContentProvider和SqliteOpenHelper
这将使您可以通过框架方法访问数据库。 它使您可以立即使用CursorLoader
(更改时自动刷新), SyncAdapter
(将更改同步到服务器)以及其他一些功能。 由于您无权直接访问数据库,因此您将不得不使用URI
路径来标识您的元素并发布查询。
由于它是官方的android api,因此可以更好地记录此选项,尽管您必须先阅读一些内容才能最佳使用它。
同样值得注意的是,如果其他开发人员查看您的代码,他们可能会知道如何使用ContentProvider
(如果保持一致),但是他们将不得不阅读源代码(或文档)以了解如何使用您的ContentProvider
自定义实现。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.