android - 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/ 这样的路径呢?
解决方案
推荐阅读
- python - NameError:名称'cap'未定义
- grep - 如何显示使用 find 命令找到并提供给 grep 以匹配字符串的文件的完整路径
- android - Titanium 中的 Firebase 动态链接问题
- entity-framework - 我可以在使用实体框架的 bd 表中拥有我的类中不存在的属性吗?
- razor - 无法在 Razor 视图中使用标签
- python - 计算组中的唯一值 pandas
- c - 无法准确理解二维数组中的指针
- python - 当 np.corrcoef() 返回值时,熊猫 df.corr() 返回 nan,除非数据集中有 NaN
- excel - 在 Catalina 上的 Microsoft Excel 2019 上运行 vba
- python - 在python中下载文件夹