【发布时间】:2011-08-22 05:46:31
【问题描述】:
我一直在搜索并发现,android 只支持 SQLite 数据库,不支持其他数据库。这是真的吗?
【问题讨论】:
我一直在搜索并发现,android 只支持 SQLite 数据库,不支持其他数据库。这是真的吗?
【问题讨论】:
是的。 Android 库仅对 SQLite 提供本机支持。当然,这并不意味着你绝对不能在 Android 上使用其他数据库;如果您需要使用其他数据库,则必须寻找已经存在的第三方库 (1),或者推出自己的 API。
(1) 注意:如果您寻找第三方库,请确保它们是专门为 Android 构建的,因为 Android 仅包含 Java 标准库的子集。如果它们不是专门为 Android 构建的,则这些库可能会由于缺少类而无法工作。
【讨论】:
【讨论】:
虽然 SQLite 在 Android 上原生支持并且是最常用的数据库,但也存在其他选项。下面列出其中的一些;
领域: 反应式、并发和轻量级,允许您使用实时的本地对象。 https://realm.io/docs/
H2: 完整的 Unicode 支持,包括 UPPER() 和 LOWER()。 用于 BLOB 和 CLOB 数据的流式 API。 全文搜索。 多个连接。 http://www.h2database.com/html/tutorial.html#android
沙发数据库: 完整的 CRUD 和查询功能、NoSQL、轻量级、嵌入式、可同步 https://developer.couchbase.com/mobile/
级别数据库: 轻量级和单一用途(不是 SQL 数据库) http://leveldb.org/ Java 包装器:https://github.com/hf/leveldb-android
我在这里不包括 BerkeleyDB,因为 (AFAIK) 它需要进行操作系统级别的更改来替换 SQLite 例程。更多信息在这里https://blogs.oracle.com/berkeleydb/now-you-can-build-berkeley-db-into-your-android-apps
【讨论】:
SQLite 是我见过的唯一一个实际使用过的。我建议使用它,因为它重量轻且免费使用。在开发您的应用程序时,轻量级是关键,这些设备上的内存是有限的!您不想使用 SQLite 有什么具体原因吗?您正在寻找的任何您在 SQLite 中看不到的功能?
【讨论】: