android - DbAdapter 类与 ContentProvider 在 android 中有什么区别?

标签 android sqlite android-contentprovider

我试图找出通过 DbAdapter 类设置数据库与在 Content Provider 中设置所有内容之间的区别是什么?

DbAdapter 类更像是一个临时的权宜之计,而 ContentProvider 是一个允许更多功能(例如搜索功能和东西)的长期解决方案,这是真的吗?

可以在 ContentProvider 中构建 Dbadapter 类的实例吗?这样我实际上就可以直接从 Provider 类调用和管理数据库中的所有内容?

最佳答案

我肯定会建议您花一些时间学习如何编写 ContentProvider。一开始它们有点令人生畏,但一旦您掌握了这个概念,您就会获得丰厚的返回;特别是如果您正在创建一个中等复杂的应用程序。

使用 ContentProvider 时:

  • 内容提供者可以从 其他过程和需要 Android 上的一些机制,例如 全局搜索
  • 其他应用程序将能够 访问您的数据。
  • 你可以换行 抽象了很多查询逻辑 您的内容提供商,并限制 使用权。
  • 你将能够依靠 系统允许诸如 托管查询。

实际上,ContentProvider 是您的 DBAdapter 的包装器,提供标准方法,例如查询、更新、删除等。

这是一个很好的教程: http://thinkandroid.wordpress.com/2010/01/13/writing-your-own-contentprovider/

关于android - DbAdapter 类与 ContentProvider 在 android 中有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6242099/

相关文章:

android - NFC:S-beam 和 Android beam 有什么区别?

javascript - Cordova 应用程序的本地存储与数据库(SQLite)

python - 收到错误 AttributeError : '_tkinter.tkapp' object has no attribute 'getitems'

android - 在 Android 上获取所有联系人姓名和号码作为字符串列表

android重复提供者权限

android - fastclick.js JQuery Mobile Phonegap 和 Android

android - 适用于 Android 的 Google 登录 : Cannot resolve RC_SIGN_IN

android - 在版本控制中存储 Android eclipse 项目?

c++ - Qt 中的 SQLite 验证

android - 如何一次查询到联系人的所有详细信息