无法从网络加载图片

问题描述 投票:0回答:1

我正在尝试显示从另一个站点获得的随机URL的图像,但是该图像在运行时不显示,这是我尝试的代码(imageView在onCreate上方声明,在onCreate中调用parse) 。

void parse(String url){
    final RequestQueue requestQueue = Volley.newRequestQueue(cat.this);
    JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
            (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
                String message;
                @Override
                public void onResponse(JSONObject response) {
                    try{
                        message=response.getString("url");
                        imageView.setImageBitmap(getBitmap(message));
                    }
                    catch (JSONException e){ e.printStackTrace(); }
                }
            }, error -> {
                error.printStackTrace();
                requestQueue.stop();
            });
    requestQueue.add(jsonObjectRequest);
    requestQueue.stop();
}

public Bitmap getBitmap(String src) {
    try {
        java.net.URL url = new java.net.URL(src);
        HttpURLConnection connection = (HttpURLConnection) url
                .openConnection();
        connection.setDoInput(true);
        connection.connect();
        InputStream input = connection.getInputStream();
        return BitmapFactory.decodeStream(input);
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

这是此代码的结果enter image description here

android android-volley
1个回答
0
投票

使用加载图像服务,例如glide,fresco,picasso

© www.soinside.com 2019 - 2024. All rights reserved.