博观而约取,厚积而薄发。这篇文章主要讲述在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。
另一答案【在Android上,我在哪里存储将在卸载应用时自行删除的文件】Refer to this,选择
Saving Files
,你可以看到有两种方法可以在android设备中存储文件:内部存储器
- 没有许可。
- 当用户卸载您的应用程序时,系统会从内部存储中删除所有应用程序的文件。
- This is how to use internal storage, and you can see its path。
- 有权限。
- 当用户卸载您的应用程序时,仅当您将应用程序的文件保存在getExternalFilesDir()目录中时,系统才会从此处删除应用程序的文件。
- This is about
ExternalStorageDirectory
。
推荐阅读
- 当后退按钮点击两次时如何让Xamarin.Android app退出(确认包含点击之间的消息)()
- 如何将ImageView放在Xamarin.Android应用程序中,根据设备屏幕大小自行调整大小()
- Kotlin内联函数和Android方法都很重要
- 添加编译'com.google.android.gms(play-services-ads:11.6.0'ERROR)
- 如何在android Firestore上实现Paginate查询[重复]
- lapply和do.call有什么区别()
- Android DatePicker显示月份名称
- 在Android上禁用蓝牙可发现模式
- 在Android 2.3上实现OBEX PUSH服务器