Couchbase Lite在Android上的数据存储在哪里?

Couchbase Lite在Android上的数据存储在哪里?,android,couchbase-lite,Android,Couchbase Lite,我有一个特殊情况,我想访问Couchbase存储在设备上的数据。就我的一生而言,我在Couchbase存储数据的设备上找不到。会有人知道这条路吗 一点透视图-我有来自Couchbase的数据,附带了一些图片。我想访问存储这些图像的路径,以便在列表视图中显示它们。所有这些图像都存储在从context.getfiledir()传递的Android上下文返回的任何内容中 从v1.2开始,布局为: (dbname).cblite2 | __db.sqlite3 __db.sqlite3-shm(可能)

我有一个特殊情况,我想访问Couchbase存储在设备上的数据。就我的一生而言,我在Couchbase存储数据的设备上找不到。会有人知道这条路吗


一点透视图-我有来自Couchbase的数据,附带了一些图片。我想访问存储这些图像的路径,以便在列表视图中显示它们。

所有这些图像都存储在从
context.getfiledir()传递的Android上下文返回的任何内容中

从v1.2开始,布局为:

(dbname).cblite2
|
__db.sqlite3
__db.sqlite3-shm(可能)
__db.sqlite3-journal(可能)
__附件
__|
___uu(所有附件文件)


但请注意,它们不会存储为您选择的文件名,而是存储为其内容的散列。您最好直接从文档中获取数据。

使用Couchbase Lite 2.6,数据库位置由数据库配置管理(以下示例中的“配置”)

正如@borrden指出的,这个位置默认指向context.getFilesDir()

如果要直接访问文件对象(例如,在本地重命名数据库),请不要忘记文件名后缀“.cblite2”例如

...
CouchbaseLite.init(context)
DatabaseConfiguration config = new DatabaseConfiguration();
Database database = new Database("myDatabase", config);
String dbLocation = config.getDirectory();
String dbPath = database.getPath();
File oldDatabaseFile = context.getFileStreamPath("oldDatabaseName.cblite2");
File newDatabaseFile = context.getFileStreamPath("newDatabaseName.cblite2");
boolean success = oldDatabaseFile.renameTo(newDatabaseFile)