【问题标题】:What types of Databases are available in Android?Android 中有哪些类型的数据库可用?
【发布时间】:2011-04-06 10:48:03
【问题描述】:

大家好,谁能说说我为什么要为我的移动应用程序使用 SQLite 数据库?有没有我可以使用的数据库?

【问题讨论】:

  • 不。您可以使用基于文件的记录系统甚至 XML,但这不是原生的,您必须自己开发。
  • SQLite 是 Android 自带的,非常好用..

标签: android database sqlite


【解决方案1】:

SQLite 数据库 是要走的路 :-)

smashing 杂志上周发表了一篇很好的文章

http://www.smashingmagazine.com/2011/03/28/get-started-developing-for-android-with-eclipse-reloaded/

【讨论】:

  • 第二个链接现在失效了=(
【解决方案2】:

另一个选择是 Berkeley DB,它和 SQLite 一样是一个轻量级、快速、可靠的数据库库。对于如何在 Android 上使用 Berkeley DB,您有几种不同的选择:

  1. 通过SQL API 使用 Berkeley DB 作为 SQLite 的升级/替换。 BDB SQL API 完全兼容 SQLite,因此您的 SQLite 应用程序应该能够非常轻松地转换为使用 Berkeley DB。为什么要使用 Berkeley DB 而不是 SQLite?在 Android 上,它主要是关于并发性。 BDB 支持并发读写操作。如果您的 Android 应用程序需要它,那么 BDB 是一个很好的选择。在非 Android 平台上,BDB 可扩展性、性能、HA 和企业支持使其成为已经使用或考虑使用 SQLite 的应用程序的有吸引力的替代方案。 OTN 上有一个关于在 Android here 上使用 BDB SQL API 的有用讨论。
  2. 通过键值 API 使用 Berkeley DB 作为简单的本地数据存储。
  3. 通过键值、Java 集合或直接持久层 API 使用 Berkeley DB Java Edition 在纯 Java 环境中管理应用程序数据。这是关于在 Android 上使用 Berkeley DB JE 的有趣的 Blog 条目。

免责声明:我是 Berkeley DB 的产品经理。也就是说,我们认为 SQLite 是一个很棒的产品(我们是 SQLite 联盟的一部分),我们很高兴看到人们采用和使用它。在某些情况下,Berkeley DB 可能是更好的选择,因此我在这里提出了建议。

【讨论】:

    【解决方案3】:

    人们普遍认为,SQLite 是适用于 Android 的最佳数据库平台,因为它重量轻,非常适合处理能力和内存有限的移动设备。

    这并不是说你做不到,归根结底是 Java。您可以编写自己的代码,也可以找到开源代码,这样您就可以使用另一个数据库。问题是手机还必须有一个数据库守护进程来处理请求,而在 SQLite 中,数据库是存储在手机上的文件,因此可以很容易地用 Java 访问。

    在一天结束时,尝试在手机上运行 MySQL 守护程序是很愚蠢的,因为我非常怀疑它是否有足够的内存来应对。习惯 SQLite 会更好,因为它是一个非常灵活和流行的数据库平台。

    【讨论】:

      【解决方案4】:

      正如另一个答案中提到的,您可以交叉编译 Berkeley DB for Android 并使用 Java 绑定,包括它作为 .apk 中的 .so 本机库(打包时约为 710k)。有一个分步指南here(因为它需要稍作调整)。

      【讨论】:

        【解决方案5】:

        您也可以使用 DB4O 数据库。如需更多帮助,您可以查看他们的网站。 http://www.db4o.com/(S(tqvrulmp3ybmtw55i3mgop55))/Android/default.aspx

        【讨论】:

          最近更新 更多