0

        SQLiteDatabase db = getReadableDatabase();
        String path = db.getPath();

我知道我的数据库文件位于 path /data/data/com.packagename/databases/app.db

我的用户应该有权访问此文件以备份数据,例如他更换手机。我试图通过 Windows 资源管理器找到它,但其中没有/data像这样调用的文件夹。

我还通过搜索搜索了数据库文件,但没有成功。是不是不能用这种方式获得?

4

2 回答 2

1

最终用户 USB 大容量存储或 MTP 文件访问机制无法访问应用程序私有内部存储下的文件。

除非您明确设置一般访问权限或正在测试调试 APK 或在调试设备上,否则 adb 和 ddms 开发人员工具也无法访问它们。

您的选择将包括将数据库存储在外部存储上,或者在您的应用程序中设置一个菜单,让用户可以选择在其中制作副本,而原始文件保留在您应用程序的私人文件夹中,相对不受其他人的干预如果它在无主的外部存储上,可能会发生应用程序。

于 2013-06-04T15:46:50.720 回答
0

不,如果您没有 root 手机,这是不可能的。如果你有一个 root 手机,你可以通过执行 ADB 来获取它

adb pull /data/data/com.packagename/databases/app.db
于 2013-06-04T15:46:28.120 回答