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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Android上,我在哪里存储将在卸载应用时自行删除的文件相关的知识,希望对你有一定的参考价值。

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

答案

将文件保存在您的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();
    }
}
另一答案

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

另一答案

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

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

假设你想存储图像,你应该看看这个example

另一答案

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

内部存储器

外部存储

  • 有权限。
  • 当用户卸载您的应用程序时,仅当您将应用程序的文件保存在getExternalFilesDir()目录中时,系统才会从此处删除应用程序的文件。
  • This is about ExternalStorageDirectory

以上是关于在Android上,我在哪里存储将在卸载应用时自行删除的文件的主要内容,如果未能解决你的问题,请参考以下文章

Android应用程序包在手机上安装在哪里

Android 类似浏览器的实现,我在哪里缓存图像

卸载应用程序时未清除 LocalStorage - Android 6

Android 6.0 - 卸载应用程序时删除的外部存储文件

在哪里存储我的密钥以加密移动设备上的数据?

Android中的权限存储在哪里?