android emulator / eclipse在重新部署时删除应用程序文件

时间:2010-09-12 07:10:17

标签: android eclipse emulation

我的应用程序从服务器下载文件并将其存储在: /mnt/sdcard/Android/data/com.test/files。 (/ mnt / sdcard派生自Environment.getExternalStorageDirectory();

每次我将应用程序从eclipse(运行菜单)重新部署到模拟器时,它都会删除该文件。 取消选中运行配置中的复选框“目标/擦除用户数据”。 我正确地关闭了所有BufferedOutputStreams所以我不认为这是我的应用程序本身。 我是否使用正确的目录进行持久数据存储? (我的文件大约是70-100M)

任何提示?

1 个答案:

答案 0 :(得分:1)

来自getExternalStorageDirectory's doc

  

应用程序不应直接使用   这个顶级目录,以便   避免污染用户的根   命名空间。任何私有的文件   应该放在应用程序中   返回的目录   Context.getExternalFilesDir,其中   系统将负责删除if   应用程序已卸载。其他   共享文件应放在一个文件中   返回的目录   getExternalStoragePublicDirectory(字符串)。

您的/mnt/sdcard/Android/data/com.test/files应该在Context.getExternalFilesDir()中,并在卸载应用时被删除。