将图像作为blob存储在文件系统中



我一直在blob字段中存储数据库中的图像,但由于性能差和1MB游标限制,我决定切换到文件系统。我只关心几件事。我应该把图像具体存储在哪里?只是创建一个文件夹然后把它们放进去吗?使用文件浏览器的用户能看到吗?我很担心,因为如果从用户中删除它们,我可能会失去对所有这些的引用。

你可以使用Android的缓存目录,它通常位于/Android/data/YOURPACKAGENAME/cache

使用此代码获取此路径。

final String cachePath =Environment.MEDIA_MOUNTED.equals (Environment.getExternalStorageState ())||! isExternalStorageRemovable () ?getExternalCacheDir(上下文).getPath ():.getPath context.getCacheDir () ();

有效地显示位图看看这个例子由谷歌提供,这是非常有用的,如果你的目标是缓存图像从网络。但是,它对用户是可见的,并且可以很容易地删除。

如果你想对用户隐藏这个文件,你可以简单地保存文件没有任何路径,它将在data/data/YOURPACKAGENAME中,这是对用户隐藏的,直到用户有root访问权限。示例

String FILENAME = "hello_file";String String = "hello world ";

FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
fos.write(string.getBytes());
fos.close();
存储选择

是该文件夹将对用户可见。但是,如果您担心用户可以删除该文件夹而不是隐藏该文件夹。

要隐藏文件夹,文件夹名称以点(.)开头。

相关内容

  • 没有找到相关文章

最新更新