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

时间:2016-05-27 23:43:12

标签: android couchbase-lite

我有一个特殊情况,我想访问Couchbase存储在设备上的数据。对于我的生活,我在Couchbase存储数据的设备上找不到。有人会碰巧知道这条路吗?

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

2 个答案:

答案 0 :(得分:1)

Everythihg存储在context.getFilesDir();

传递的Android上下文返回的内容中

v1.2的布局是:

(DBNAME).cblite2
|
__ db.sqlite3
__ db.sqlite3-shm(可能)
__ db.sqlite3-journal(可能)
__附件
__ |
__ __(所有附件)

请注意,它们将被存储为您选择的文件名,而是存储为其内容的哈希值。您可能最好直接从文档中获取数据。

答案 1 :(得分:0)

对于Couchbase Lite 2.6,数据库位置由DatabaseConfiguration(在下面的示例中为“ config”)管理。

...
CouchbaseLite.init(context)
DatabaseConfiguration config = new DatabaseConfiguration();
Database database = new Database("myDatabase", config);
String dbLocation = config.getDirectory();
String dbPath = database.getPath();

@borrden指出,此位置默认情况下指向context.getFilesDir()。

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

File oldDatabaseFile = context.getFileStreamPath("oldDatabaseName.cblite2");
File newDatabaseFile = context.getFileStreamPath("newDatabaseName.cblite2");
boolean success = oldDatabaseFile.renameTo(newDatabaseFile)
相关问题