Java 更改Android中缓存文件的外观

Java 更改Android中缓存文件的外观,java,android,caching,Java,Android,Caching,对于我的应用程序,我下载了一些资源,如图像和小型mp3,并将它们保存在外部存储器中(例如,at/mnt/sdcard/Android/data/com.example.packagename/cache)。 但我不希望,如果用户浏览该文件夹时发现所有资源都是“通用格式”的 我的一个选择是删除扩展名(我知道即使没有扩展名,也很容易猜测文件类型,但这是对大多数用户的基本保护) 我注意到,大多数在外部存储器中有缓存的程序并没有将缓存作为原始文件 我想知道是否有任何简单的方法(使用某些类或其他东西)“隐

对于我的应用程序,我下载了一些资源,如图像和小型mp3,并将它们保存在外部存储器中(例如,at/mnt/sdcard/Android/data/com.example.packagename/cache)。 但我不希望,如果用户浏览该文件夹时发现所有资源都是“通用格式”的

我的一个选择是删除扩展名(我知道即使没有扩展名,也很容易猜测文件类型,但这是对大多数用户的基本保护)

我注意到,大多数在外部存储器中有缓存的程序并没有将缓存作为原始文件

我想知道是否有任何简单的方法(使用某些类或其他东西)“隐藏”这些文件并透明地访问它们,或者我必须实现自己的系统

(这些文件保持隐藏并不重要,但我想让这些资源保持“未知”,除非用户有特殊困难才能看到它们)


感谢您可以使用
ObjectOutputStream
,它将数据保存为二进制数据,当用户尝试打开它时,即使使用文本编辑器,它也会显示损坏的数据,这里有一些示例如何使用它您可以使用
ObjectOutputStream
,当用户尝试打开它时,甚至使用文本,它将数据保存为二进制数据编辑器,它将显示损坏的数据,这里有一些示例如何使用它

您是否将
缓存
网络视图
一起使用?否。基本上是图像和mp3,用于在我的应用程序中将其用作资源(如图像视图、视频、背景声音中的位图),但我无法将它们添加到项目中,因为它们必须在几天内频繁更改(我在下载任何内容之前询问用户)但是
缓存
可能会被系统清除,因此我认为您需要将文件保存在sd卡上应用程序的特定位置,不是吗?是的,我正在使用缓存,但当我注意到我考虑更改为sd时。但是如果我使用内部存储,所有下载的临时文件都会显示为sd卡使用的空间我的应用程序,如果我使用外部存储器,基本用户只需在usb模式下安装手机即可访问文件。我想使用第二个,但有一些预防措施,您是否将
缓存
网络视图
一起使用?否。基本上是图像和mp3,用于在我的应用程序中将其用作资源(如图像视图、视频、背景声音中的位图)但我不能将它们添加到项目中,因为它们必须经常更改(我在下载任何内容之前询问用户)但是
缓存
可能会被系统清除,因此我认为您需要将文件保存在sd卡上应用程序的特定位置,不是吗?是的,我正在使用缓存,但当我注意到我考虑更改为sd时。但是如果我使用内部存储,所有下载的临时文件都会显示为sd卡使用的空间我的应用程序,如果我使用外部存储,基本用户只需在usb模式下安装手机即可访问文件。我想使用第二个,但需要注意一些事项