安卓系统中有哪些类型的数据库可用?

6

大家好,有谁能说一下为什么我应该在移动应用程序中使用SQLite数据库?还有其他可以使用的数据库吗?


不行。你可以使用基于文件的记录系统,甚至是XML,但这不是原生的,你需要自己开发它。 - st0le
1
SQLite是Android自带的,非常有用。 - Ajay Singh
5个回答

3

第二个链接现在已经失效了 =( - Thomas

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或考虑使用它的应用程序的有吸引力的替代方案。关于在Android上使用BDB SQL API的讨论,请参见OTN 这里
  2. 通过键值API使用Berkeley DB作为简单的本地数据存储。
  3. 通过键值、Java集合或直接持久化层API使用Berkeley DB Java Edition来管理纯Java环境中的应用程序数据。这里有一篇有趣的博客文章介绍了如何在Android上使用Berkeley DB JE。
免责声明:我是伯克利数据库的产品经理。话虽如此,我们认为 SQLite 是一个很棒的产品(我们是 SQLite 联盟的一部分),我们很高兴看到人们采用和使用它。但在某些情况下,伯克利数据库可能是更好的选择,因此我在这里提出建议。

0

SQLite通常被认为是Android最好的数据库平台,因为它的轻量级特性非常适合移动设备,其中处理能力和内存受到限制。

这并不是说你不能做到,毕竟它是Java。您可以编写自己的代码或查找开源代码,以使您可以使用其他数据库。问题在于手机还必须有一个数据库守护程序来处理请求,而在SQLite中,数据库是存储在手机上的文件,因此可以很容易地在Java中访问。

归根结底,试图在手机上运行MySQL守护程序是愚蠢的,因为我非常怀疑它是否有足够的内存来应对。你最好习惯SQLite,因为它是一个非常灵活和流行的数据库平台。


0

0

如另一个答案中所提到的,您可以为Android交叉编译Berkeley DB并使用Java绑定,将其作为.so本地库包含在您的.apk中(打包后大小约为710k)。这里有一份逐步指南(需要进行轻微调整)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接