Android将图像从URL加载到Bitmap对象中

时间:2017-11-03 14:11:47

标签: android image bitmap

我正在尝试将图像从URL加载到Bitmap对象中,但我总是遇到NetworkInUIThread异常。任何人都可以为我提供一个图书馆吗?

注意,我并不是想把图像放到ImageView中,我想先把它放到Bitmap对象中,因为稍后会在我的应用程序中使用它。

我在其他一些StackOverflow线程中找到了这段代码,但它不起作用。

backgroundpicture

4 个答案:

答案 0 :(得分:1)

    try {
        URL url = new URL("http://....");
        Bitmap image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
    } catch(IOException e) {
        System.out.println(e);
    }

答案 1 :(得分:1)

        Bitmap bitmap = null;
        InputStream iStream = null;
        URL url = new URL(urlString);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setReadTimeout(5000 /* milliseconds */);
        conn.setConnectTimeout(7000 /* milliseconds */);
        conn.setRequestMethod("GET");
        conn.setDoInput(true);
        conn.connect();
        iStream = conn.getInputStream();
        bitmap = BitmapFactory.decodeStream(iStream);

答案 2 :(得分:1)

您可以使用Glide从服务器下载图像并将其存储在位图对象中。

Bitmap theBitmap = Glide.
    with(this).
    load("http://....").
    asBitmap().
    into(100, 100). // Width and height
    get();

请参阅此处以在您的应用中添加滑行相关性 - > https://github.com/bumptech/glide

答案 3 :(得分:1)

将此代码放在T_nested_ind

forall P : T -> Prop, P C1 -> (forall l : list T, Forall P l -> P (C2 l)) -> forall t : T, P t 方法中

e.g。

doInBackground

并通过以下方式在您的活动中调用它:

AsyncTask