通常,SQLite数据库位于/data/data/PACKAGE-NAME/databases/DBNAME
中,但是我在一台设备的/data/user/0/PACKAGE-NAME/databases/DBNAME
路径中找到了数据库。
那么,为什么在单个设备中发生这种情况?
谢谢。
最佳答案
您应该以编程方式获取数据库文件路径,而不要使用硬编码方式。请参阅API文档以获取getDatabasePath;例如。
// for `Activity`, `Service`. Otherwise simply get the context.
Context context = this;
String dbname = "dummy.db";
String dbpath = context.getDatabasePath(dbname).getPath();
Log.d("MY_TAG", dbpath);
如果要获取数据库文件夹路径,请使用如下所示的
getParent()
:String databaseFolderPath = context.getDatabasePath(dbname).getParent();