首页 > 解决方案 > Android 无法获取正确的数据库路径

问题描述

我正在尝试获取我的应用程序的 sqlite db 文件的路径,因为我想将它备份到应用程序中的 Google 驱动器,但它给了我不同的路径:

String Path = getApplicationContext().getDatabasePath("mydb.db").getAbsolutePath();
 File filePath = new File(Path);

这条路径给了我:/data/user/0/mypackage/databases/mydb.db

但是当我使用:

 File data = Environment.getDataDirectory();
 String Path ="/data/mypackage/databases/mydb.db";
File filePath = new File(data,Path);

因此,最终路径是/data/data/mypackage/databases/mydb.db,并且使用此路径,备份也可以正常工作。

连接设备后,我还可以在 android studio 的文件浏览器中看到 db 文件。

那么为什么getDatabasePath给我像 data/user/0/ 这样的路径呢?

标签: androidsqlite

解决方案


推荐阅读