我正在研究android db,遇到了2种工作方法:

1)仅使用SqliteOpenHelper

2)使用ContentProviderSqliteOpenHelper

使用一个或另一个有什么好处吗?

最佳答案

这个问题主要是基于意见的,但可以总结一下:


  1)仅使用SqliteOpenHelper


您将必须自己管理数据库访问。提供用于CRUD访问的方法并具有完全控制权。可以并且仍然应该使用SqliteOpenHelper处理更新。


  2)使用ContentProvider和SqliteOpenHelper


这将使您可以通过框架方法访问数据库。它使您可以立即使用CursorLoader(更改时自动刷新),SyncAdapter(将更改同步到服务器)和其他一些功能。由于您无权直接访问数据库,因此必须使用URI路径来标识元素并发布查询。
此选项记录更佳,因为它是官方的android api,尽管您必须先阅读一些内容才能最佳使用它。



同样值得注意的是,如果其他开发人员查看您的代码,他们可能会知道如何使用您的ContentProvider(如果保持一致),但是他们将不得不阅读源代码(或文档)以了解如何使用您的自定义实现。

关于android - 具有ContentProvider或SQLiteOpenHelper的Android Sqlite,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35681269/

10-12 01:55