如何通过http将远程图像复制到android中的gallery文件夹?

如何通过http将远程图像复制到android中的gallery文件夹?,android,android-image,android-gallery,Android,Android Image,Android Gallery,我想将远程图像(例如“”)复制到android用户手机内置的多媒体资料中…我该怎么做?为此,您应该下载图像并将其保存在内存中 您可以自己下载图像: public static Bitmap getBitmap(String url) { try { InputStream is = (InputStream) new URL(url).getContent(); Bitmap d = BitmapFactory.decodeStream(is);

我想将远程图像(例如“”)复制到android用户手机内置的多媒体资料中…我该怎么做?

为此,您应该下载图像并将其保存在内存中

您可以自己下载图像:

public static Bitmap getBitmap(String url) {
    try {
        InputStream is = (InputStream) new URL(url).getContent();
        Bitmap d = BitmapFactory.decodeStream(is);
        is.close();
        return d;
    } catch (Exception e) {
        return null;
    }
}
但是,对于大型图像,您的内存会出现问题。我强烈建议您使用类似或的构建库。在这里您可以找到一个

可以使用类中定义的contants确定目标路径。常量目录\u DCIM指向父目录,在该目录下,所有活动都可以创建一个自定义文件夹,在其中存储其映像。您可以将自己的子文件夹设置为目标文件夹

当您的图像下载完成后,您会注意到它不会被列在默认的gallery应用程序中,这是因为Android会建立一个包含所有媒体文件的索引,并且仍然不知道您新下载的图像。每次启动Android设备时,此索引都会更新,但由于每次添加文件时重新启动设备有点不方便,因此您也可以通过代码方式通知索引服务已创建新文件,需要使用以下代码进行索引:

Intent intent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE);
intent.setData(Uri.fromFile(file));
sendBroadcast(intent);

删除文件后也应进行此扫描。

库文件夹不存在。Gallery只是一个可以显示设备上所有图片的应用程序。所以你们可以把图片放在任何你们想要的文件夹里。首先它应该被下载到外部存储器中,因为那个是Gallery应用程序可以访问的地方。其次,如果一个.jpg文件中的jpg数据可以直接保存到文件中,那么制作位图是一个非常糟糕的主意。