Android - 如何下载图像并将其用作新资源?

时间:2010-09-07 09:57:16

标签: android image resources download

我想从远程服务器下载图像并将其用作资源。 可能吗 ? 我怎么能这样做?

4 个答案:

答案 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课程。