在Android上,我在哪里存储将在卸载应用时自行删除的文件

时间:2017-12-15 18:25:52

标签: java c# android xamarin.android

我有一个应用程序从服务器下载一个zip文件并将它们解压缩到设备的照片目录或其他东西(我现在记不住了),唯一的问题是当删除应用程序时这些文件仍然存在(如预期的那样)。是否有一个应用程序附带的文件夹,我可以将下载的文件存储到其中,如果卸载该应用程序,它将被删除?

4 个答案:

答案 0 :(得分:0)

将文件保存在您的app目录中,您可以使用

public static void WriteFile(Context context, String fileName, String data) {
    try {
        FileOutputStream fileOut = context.openFileOutput(fileName, MODE_PRIVATE);
        OutputStreamWriter outputWriter = new OutputStreamWriter(fileOut);
        outputWriter.write(data);
        outputWriter.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

答案 1 :(得分:0)

尝试将您的应用无法访问的文件保存到其他应用,然后当您的应用未被取消时,该应用数据将自动删除。请参阅下面的链接以获取更多信息,因为您可以在此处获取一些代码。  https://developer.android.com/training/camera/photobasics.html

答案 2 :(得分:0)

您可以使用OutputStream存储与您的应用相关的文件。 这些文件可以从您的代码中访问(使用InputStream),并在卸载应用程序后删除。

Streams写入和读取字节,因此您需要将要存储的任何内容转换为字节。

假设您要存储图像,请查看此example

答案 3 :(得分:0)

Refer to this,选择Saving Files,您可以看到有两种方法可以在Android设备中存储文件:

内部存储

外部存储

  • 获得许可。
  • 当用户卸载您的应用时,只有将您的应用程序文件从getExternalFilesDir()保存到目录中时,系统才会从此处删除您的应用程序文件。
  • This is about ExternalStorageDirectory