我需要从网络上获取图像并将其存储在手机中供以后使用。
我试过这个:
public Drawable grabImageFromUrl(String url) throws Exception
{
return Drawable.createFromStream((InputStream)new URL(url).getContent(), "src");
}
所以这是我从Url抓取图片的功能,我只需要一个进程来获取返回的drawable并保存。
我该怎么做?
答案 0 :(得分:3)
基于here,您实际上可以使用其他方法下载图像。在保存之前,是否绝对有必要将其存储为可绘制的?因为我认为你可以先保存它,然后打开它,如果需要的话。
URL url = new URL ("file://some/path/anImage.png");
InputStream input = url.openStream();
try {
//The sdcard directory e.g. '/sdcard' can be used directly, or
//more safely abstracted with getExternalStorageDirectory()
String storagePath = Environment.getExternalStorageDirectory();
OutputStream output = new FileOutputStream (storagePath + "/myImage.png");
try {
byte[] buffer = new byte[aReasonableSize];
int bytesRead = 0;
while ((bytesRead = input.read(buffer, 0, buffer.length)) >= 0) {
output.write(buffer, 0, bytesRead);
}
} finally {
output.close();
}
} finally {
input.close();
}
答案 1 :(得分:3)