我已经在.Net Core中制作了一个后端API,其中所有内容都首先由代码制成。因此,我有一个Entity Framework设置,其他所有内容都在此解决方案中完成。一个实体(足球运动员)具有一些属性,其中之一是图像。
API post方法将此图像设置为字节数组,一旦尝试获取,您将收到一个位图。
现在,我正在使用Volley Library的Android Java应用程序中尝试执行Get请求。到目前为止,一切正常,除了获取图像。
这是我现在除了图像以外的所有代码:
private void retrievePlayers(String url) {
showSimpleProgressDialog(this, "Loading...", "Fetching Json", false);
StringRequest stringRequest = new StringRequest(Request.Method.GET, URLstring + url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.d("strrrrr", ">>" + response);
try {
JSONObject obj = new JSONObject(response);
playerArrayList = new ArrayList<>();
JSONArray dataArray = obj.getJSONArray("players");
for (int i = 0; i < dataArray.length(); i++) {
Player playerModel = new Player();
JSONObject dataobj = dataArray.getJSONObject(i);
playerModel.setFirstName(dataobj.getString("firstName"));
playerModel.setLastName(dataobj.getString("lastName"));
playerModel.setShirtNumber(dataobj.getString("backNumber"));
playerArrayList.add(playerModel);
}
adapter = new MyViewAdapter(getApplicationContext(), playerArrayList);
pList.setHasFixedSize(true);
pList.setLayoutManager(linearLayoutManager);
pList.addItemDecoration(dividerItemDecoration);
pList.setAdapter(adapter);
removeSimpleProgressDialog();
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
//displaying the error in toast if occurrs
Toast.makeText(getApplicationContext(), error.getMessage(), Toast.LENGTH_SHORT).show();
}
});
// request queue
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
是否可以将接收到的位图设置为ImageView?
ImageView mImg;
mImg = (ImageView) findViewById(R.id.(your xml img id));
mImg.setImageBitmap(img);