我想从远程服务器下载图像并将其用作资源。 可能吗 ? 我怎么能这样做?
答案 0 :(得分:7)
有可能吗?
您可以下载图片。但它不会是“资源”。资源打包在APK中,无法在运行时修改或添加。
答案 1 :(得分:7)
是的,你无法将其作为资源文件下载..你可以在SDCard或数据库上下载和存储图像并从那里加载......
要查看如何将图像下载到SDCard,请参阅此链接
http://snippets.dzone.com/posts/show/8685#related
您可以稍后从SDCard加载它
http://android-er.blogspot.com/2010/01/how-to-display-jpg-in-sdcard-on.html
这是您从数据库中存储和检索图像的方式
http://www.helloandroid.com/tutorials/store-imagesfiles-database
答案 2 :(得分:7)
我就是这样做的:
private class ImgDownload extends AsyncTask {
private String requestUrl;
private ImageView view;
private Bitmap pic;
private ImgDownload(String requestUrl, ImageView view) {
this.requestUrl = requestUrl;
this.view = view;
}
@Override
protected Object doInBackground(Object... objects) {
try {
URL url = new URL(requestUrl);
URLConnection conn = url.openConnection();
pic = BitmapFactory.decodeStream(conn.getInputStream());
} catch (Exception ex) {
}
return null;
}
@Override
protected void onPostExecute(Object o) {
view.setImageBitmap(pic);
}
}
答案 3 :(得分:4)
Android Group的工程师Gilles Debunne在博文Multithreading For Performance中讨论并解决了这个问题。
它内部已使用AsyncTask
。由于它是为Android制作的,因此可以下载图像并使用以下两行代码将其直接设置为ImageView
:
ImageDownloader imageDownloader = new ImageDownloader();
imageDownloader.download(url, imageView);
可以在链接的repository中找到ImageDownloader
课程。