我想从服务器保存下载的图像。我希望这些图像只能从应用程序本身访问。我不希望图像可以从任何其他地方访问,即有人可以删除/修改它,就像它在SD卡上或从另一个不同的应用程序。我认为最好是使用内部存储,因为它是我的应用程序专用的。
http://developer.android.com/guide/topics/data/data-storage.html#filesInternal
那里有更好的选择吗?
答案 0 :(得分:0)
如果您想保密文件,内部存储是最佳选择。
但是,在大多数设备上,内部存储空间非常有限,如果您使用过多的应用程序,用户可能会卸载您的应用程序(图片可能非常大)。
您应该考虑使用外部存储来保存图像,如果您真的想将它们保密,可能需要加密它们。
答案 1 :(得分:0)
正如Raghav已经提到的,这将是一个不错的选择,并且如上所述,内部存储非常有限(主要是在较旧的设备上),但是如果您使用的是根设备,则无论如何都可以删除您的文件。考虑到有限的存储空间,因为人们也在SD卡上制作“交换分区”,因为内部存储空间非常有限。
答案 2 :(得分:0)
这是最简单的解决方案。另一种典型的解决方案是将图像作为blob存储在应用程序的数据库中。这将使您在应用程序之外完全无法访问。您可以使用此处显示的方法执行此操作:
How to store and retrieve a byte array (image data) to and from a SQLite database?
回溯到这是你为数据库提供的相对较小的存储空间(<60MB),所以这只适用于你有少量图像的情况。