1

我将数据库文件存储到/data/data/somefolder/我的应用程序的路径中。我想从我的系统或设备中的这个文件夹中获取文件,以便我可以查看其中的内容。我可以从模拟器中提取文件,但无法从设备中获取文件。有没有可以做到这一点的应用程序?

PS:以编程方式我可以访问该文件

4

3 回答 3

4

可以看到这里getExternalStorageDirectory()用方法获取“/data/data/somefolder/”目录

在插入和检索路径时,您必须存储完整路径才能解决问题。

已编辑: AFAIK 无法访问内部数据,但您可以在外部目录中创建相同的文件夹以供将来使用并在需要时访问它。

如果您想从设备访问它,那么您还可以在路径"sdcard/YOUR_APPLICATION/XYZ/"位置创建文件夹,并在数据库中使用完整路径位置。

于 2013-01-09T13:16:34.453 回答
1

您可以将文件存储在内部存储中,因此需要从根目录指定路径。只需您可以编写/创建文件,例如: File f= new File("myfile.txt");

并根据需要使用它。并且它不会对其他应用程序可见,因此它最安全。

如果您仍想存储在 micro SDCard 等外部​​存储设备或手机内置存储设备上,请尝试以下操作:

文件根 = 新文件(“/”);从root获取所有文件夹

String[] 文件夹 = root.list();

并根据需要使用其中之一。

或使用上述方法,如 getExternalStorageDirectory().......

于 2017-03-28T10:27:51.777 回答
0

当设备植根时,这很容易。如果没有,当您的应用程序以调试模式构建时,您仍然可以获取该文件。在你的开发机器上试试

adb shell

然后在设备上

run-as your.package.name
cd databases
cat your.db.file > /sdcard/your.db.file

然后你可以从你的SD卡复制它。

于 2013-01-09T13:25:36.657 回答