首页 > 解决方案 > 图片不会从网络加载

问题描述

我正在尝试显示从另一个站点获取的随机 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;
    }
}

这是这段代码的结果 在此处输入图像描述

标签: androidandroid-volley

解决方案


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

千倍比这种方式更容易和更快


推荐阅读