我一直在blob字段中将图像存储在数据库中,但由于性能不佳和游标限制为1MB,我决定切换到文件系统。我很担心一些事情。我在哪里专门存储图像?只需创建一个文件夹并将其放入其中?使用文件浏览器的用户是否可以看到它?我很担心,因为如果要从用户那里删除它们,我可能会失去对所有这些内容的引用。
答案 0 :(得分:3)
您可以使用Android的缓存目录,它通常位于/ Android / data / YOURPACKAGENAME / cache
使用此代码获取此路径。
final String cachePath = Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()) || !isExternalStorageRemovable()? getExternalCacheDir(context).getPath(): 。context.getCacheDir()的getPath();
Displaying Bitmaps Efficiently查看Google提供的此示例,如果您的目标是从网络缓存图片,则非常有用。但是,它对用户可见,并且可以轻松删除。
如果要隐藏用户的这些文件,您只需保存没有任何路径的文件,它将位于数据/数据/ YOURPACKAGENAME内部,在用户具有超级用户访问权限之前,这对用户是隐藏的。 实施例
String FILENAME =“hello_file”; String string =“hello world!”;
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
答案 1 :(得分:0)
是的,该文件夹对用户可见。但如果您担心用户可以删除该文件夹而不是隐藏文件夹。要隐藏文件夹,请使用点(。)开始文件夹的名称。