我的问题是如何从服务器获取图像并使用Async Http Response Handler设置为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();}
}
API代码:
"user": {
"profile_image": "https:////image/upload/v1455884587/endflvkyqv3ot37g4unc.png",
"profile_public_id": "endflvkyqv3ot37g4unc"
}
}
答案 0 :(得分:0)
使用Picasso从SERVER / URL加载图像:
但是,首先检查你的ImageResponse
在使用Picasso之前不要忘记添加Picasso库,For Library以及更多关于Picasso see here
if(object.has("profile_image")){
Picasso.with(this)
.load("" + object.getString("profile_image"))
.fit()
.into(imageView);
}