0

我必须在 ListView 中显示 SQLite 数据库的内容,并在网上搜索我找到了 2 个选项:

Android Dev docs说访问数据库不需要内容提供者,它应该用于与其他应用程序共享数据(我不需要)。您认为在效率、容易出错和简单性方面哪个更好?

感谢你们!

4

1 回答 1

0

显然,共享数据是人们使用内容提供商的最常见原因。

  • 在 sqlite 和多个用户中存在一些错误,尽管不是绝对的,通常内容提供者在一个线程中并且可以解决这个问题,是的,这是您在应用程序之间共享数据的时候。
  • 内容提供者可以为您提供一定程度的抽象,并且可能需要较少的代码维护,尤其是在更改内部数据库结构的情况下。
  • 它允许您使用 CursorLoader 执行异步查询,卸载 UI 活动,这是设计建议。
  • 与数据库帮助程序结合使用,可以更轻松地使表名和列名正确,并缩小必须查看和维护代码的范围。
  • 在您的应用程序和内容提供者之间使用数据库助手或合同可以提供一些安全性,因为您向您的和任何其他应用程序提供有关如何更新数据的方法。
  • 这也可以为您提供更好的数据完整性,具体取决于您的数据库结构的复杂程度。它排除了我是否应该先更新表 A 然后更新表 B 或相反的猜测工作。
  • 它可以帮助处理表连接和视图,因此您只需弄清楚一次并将它们表示为 URI。
  • 您可以创建一个 URI 来处理内容提供​​程序内部的原始查询以提供结果,否则可能很难使用大多数教程中介绍的正常 URI 结构来编写。如果您必须编写相关查询,这也很有用。
于 2013-07-28T23:20:59.683 回答