【问题标题】:android emulator/eclipse deletes application files on redeploymentandroid emulator/eclipse 在重新部署时删除应用程序文件
【发布时间】:2010-09-12 07:10:17
【问题描述】:

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

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

有什么提示吗?

【问题讨论】:

  • com.test 你的应用包名对吗?可能是不同的 SD 卡位置..标记为所有人可读的文件还是仅适用于应用程序?

标签: android eclipse emulation


【解决方案1】:

来自getExternalStorageDirectory's doc

应用程序不应直接使用 这个顶级目录,为了 避免污染用户的root 命名空间。任何私有文件 应用程序应放置在 返回的目录 Context.getExternalFilesDir,其中 系统将负责删除,如果 应用程序被卸载。其他 共享文件应该放在一个 返回的目录 getExternalStoragePublicDirectory(String)。

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

【讨论】:

    猜你喜欢
    • 2013-02-08
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 2014-03-29
    • 2015-09-12
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    相关资源
    最近更新 更多