将图像保存到内部存储器并显示在库中

时间:2011-09-06 01:28:06

标签: android

我已经搜索了很多与我的问题相关的问题。无论如何,将图像存储在内部存储器中它也应该出现在图库中?

2 个答案:

答案 0 :(得分:1)

这完全有可能,我以前做过这个。

在将图像保存到内部存储器(或称为app文件夹等)之前,最好设置Context.MODE_WORLDREADABLE。虽然我设置了MODE_PRIVATE并且在我运行MediaScanner后可以从库中读取,但为了安全起见,我建议您设置MODE_PRIVATE。

将图像保存到内存后,可以像这样调用MediaScanner:

// call media scanner to refresh gallery
MediaScannerConnection.scanFile(getApplicationContext(), new String[]{filePath}, null, new MediaScannerConnection.OnScanCompletedListener() {
    @Override
    public void onScanCompleted(String path, Uri uri) {

        Log.i("MediaScanner", "Scanned " + path + ":");
        Log.i("MediaScanner", "-> uri=" + uri);
    }
});

复制/粘贴上面的代码应该可行。然后您的图像将显示在图库中。

Context

的参考

答案 1 :(得分:0)

您可以将内部存储器视为目录并在其上写入文件。可以找到示例代码here。从内存加载图像与从目录中读取二进制图像文件相同。然后使用decodeByteArray将您已阅读的文件转换为位图,并显示在您的图库中。

这是another example保存图像并在屏幕上显示(但这个是在webview而不是图库上)。