从服务器获取图像并使用异步 HTTP 响应处理程序设置为 imageView



我的问题是如何从服务器获取图像并使用异步 Http 响应处理程序设置为 imageview。图像的JsonObject是"profile_image",需要从Rest api获取并显示到我的ImageView中。

我的代码:

AsyncHttpClient client = new AsyncHttpClient();
        //private ProgressDialog Dialog = new ProgressDialog(post.this);
        List<String> userCredentials = UserUtils.getLoginDetails();
        client.addHeader("x-user-id", userCredentials.get(0));
        client.addHeader("x-auth-token", userCredentials.get(1));
        client.get("https://", new AsyncHttpResponseHandler() {
            @Override
            public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
                final String response = new String(responseBody);
                android.util.Log.e("Response", "" + response);
                try {
                    JSONObject jsonObject = new JSONObject(response);
                    JSONObject object = jsonObject.getJSONObject("user");
                    String attr1 = object.getString("name");
                    data = "" + attr1;
                    textView15.setText(data);
                    if (object.has("profession")) {
                        String attr2 = object.getString("profession");
                        data2 = "" + attr2;
                        textView16.setText(data2);
                    }
                    if(object.has("company")){
                        String attr3 = object.getString("company");
                        data3 = "" + attr3;
                     textView38.setText(data3);
                    }
                    if(object.has("profile_image")){
                    }
                    JSONObject jsonObject1 = object.getJSONObject("emails");
                    JSONArray jsonArray = jsonObject1.getJSONArray("address");
                    for (int i = 0; i < jsonArray.length(); i++) {
                        data += "n"
                                + jsonArray.getJSONObject(i).getString("address")
                                .toString();


                       // data += " Name= "+ attr1 +"  n ";
                    }
                    textView15.setText(data);
                    //Dialog.dismiss();
                } catch (JSONException e) {e.printStackTrace();}
            }

接口代码:

 "user": {
                                                                      "profile_image": "https:////image/upload/v1455884587/endflvkyqv3ot37g4unc.png",
                                                                   "profile_public_id": "endflvkyqv3ot37g4unc"
                                                                    }
                                                                  }

使用 Picasso 从服务器/URL 加载图像:

但是,首先检查您的图像响应

在使用毕加索

之前,不要忘记添加毕加索图书馆,有关图书馆和更多关于毕加索的信息,请参见此处

if(object.has("profile_image")){
Picasso.with(this)
          .load("" + object.getString("profile_image"))
          .fit()
          .into(imageView);
}

最新更新