【问题标题】:On Android, where do I store files that will delete themselves when app is uninstalled在Android上,我在哪里存储应用程序卸载时会自行删除的文件
【发布时间】:2018-05-29 23:51:32
【问题描述】:

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

【问题讨论】:

    标签: java c# android xamarin.android


    【解决方案1】:

    将文件保存在你的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();
        }
    }
    

    【讨论】:

      【解决方案2】:

      尝试保存您的文件,只有您的应用可以访问,其他应用不能访问,然后当您的应用卸载时,该应用数据将自动删除。有关更多信息,请参阅下面的链接,因为这里有一些线路可供您关注。 https://developer.android.com/training/camera/photobasics.html

      【讨论】:

        【解决方案3】:

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

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

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

        【讨论】:

          【解决方案4】:

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

          内部存储

          外部存储

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

          【讨论】:

            猜你喜欢
            • 2016-05-14
            • 2011-10-30
            • 1970-01-01
            • 1970-01-01
            • 2011-06-26
            • 1970-01-01
            • 2010-12-31
            • 2011-06-27
            • 2015-02-21
            相关资源
            最近更新 更多