2011-04-06 57 views
6

大家好,任何人都可以说为什么我应该为我的移动应用程序使用SQLite数据库?有没有我可以使用的数据库?Android中有哪些类型的数据库可用?

+0

没有。你可以使用基于文件的记录系统甚至XML,但这不是本地的,你必须自己开发它。 – st0le 2011-04-06 10:51:16

+1

SQLite是与Android来的,它是非常有用的.. – 2011-04-06 10:54:28

回答

2

另一种选择是Berkeley DB,它像SQLite是一个轻量级,快速,可靠的数据库库。你有你如何使用Berkeley DB的Android一些不同的选择:通过SQL API

  1. 使用的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 Collections或Direct Persistence Layer API使用Berkeley DB Java Edition来管理纯Java环境中的应用程序数据。以下是关于在Android上使用Berkeley DB JE的有趣Blog条目。

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

0

发布关于它的好文章,它是普遍认为SQLite是最好的数据库平台的方式Android,因为它具有轻量性,非常适合处理能力和内存有限的移动设备。

这并不是说你不能这样做,在一天结束时它就是Java。你可以编写你自己的,或者找到开源代码,这将使你能够使用另一个数据库。问题在于手机还必须有一个数据库守护程序来处理请求,而在SQLite中,数据库是存储在手机上的文件,因此可以通过Java轻松访问。

在一天结束时,尝试运行一个MySQL守护进程例如在手机上是愚蠢的,因为我非常怀疑它有内存可以应付。你会更习惯于SQLite,因为它是一个非常灵活和流行的数据库平台。

0

正如在另一个答案中提到的那样,您可以交叉编译Berkeley DB for Android并使用Java绑定,包括它作为.apk中的.so本地库(出来压缩在〜710k)。有一步一步的指导here(因为它需要较小的调整)。

0

您的数据存储选项如下:

共享偏好的键值对 店专用的基本数据。

内部存储器 将私有数据存储在设备存储器上。

外部存储 将公共数据存储在共享的外部存储上。

SQLite数据库 将结构化数据存储在专用数据库中。

网络连接 使用您自己的网络服务器将数据存储在网络上。

相关问题