我有一个特殊情况,我想访问Couchbase存储在设备上的数据。对于我的生活,我在Couchbase存储数据的设备上找不到。有人会碰巧知道这条路吗?
一点点透视 - 我有来自Couchbase的数据,附有一些图像。我想访问存储这些图像的路径,以便我可以在ListView中显示它们。
答案 0 :(得分:1)
Everythihg存储在context.getFilesDir();
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)