亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何獲取 Volley POST 響應正文?

如何獲取 Volley POST 響應正文?

喵喵時光機 2022-06-23 20:38:25
我正在使用類似的功能來創建 GET 和 POST api 請求,但是 GET 函數將 textview 設置為響應正文,我不知道如何讀取狀態代碼,POST 函數將 textview 設置為響應代碼,我不知道如何讀取響應身體。你能幫我嗎?我也嘗試登錄 parseNetworkResponse() response.data.toString() 但這不是 api 返回的數據。也許我需要以某種方式對其進行編碼?public void createGet(Context context, String url) {      final TextView apiResultTextview = (TextView) ((Activity)   context).findViewById(R.id.api_result_textview);      // Instantiate the RequestQueue.         RequestQueue queue = Volley.newRequestQueue(context);    // Request a string response from the provided URL.    StringRequest stringRequest = new StringRequest(Request.Method.GET, url,            new Response.Listener<String>() {                @Override                public void onResponse(String response) {                    // Display the first 500 characters of the response string.                    apiResultTextview.setText("Response is: " + response.substring(0, 50));                }            }, new Response.ErrorListener() {        @Override        public void onErrorResponse(VolleyError error) {            apiResultTextview.setText(error.toString());        }    });    // Add the request to the RequestQueue.    queue.add(stringRequest);}public void createPost(Context context, String url, JSONObject body) {    final TextView apiResultTextview = (TextView) ((Activity) context).findViewById(R.id.api_result_textview);    RequestQueue requestQueue = Volley.newRequestQueue(context);    final String mRequestBody = body.toString();    StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {        @Override        public void onResponse(String response) {            Log.i("LOG_RESPONSE", response);        }    }, new Response.ErrorListener() {        @Override        public void onErrorResponse(VolleyError error) {            Log.e("LOG_RESPONSE", error.toString());        }    }) { 
查看完整描述

2 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

我通過更改下面的代碼調用方法來解決它。問題可能出在 JsonObjectRequest 與 StringRequest 中。這就是為什么我只得到響應代碼字符串的原因。


public void createCall(int type, String url, JSONObject data, final int callback) {

    JsonObjectRequest jsonRequest = new JsonObjectRequest(type, url,data,

            new Response.Listener<JSONObject>() {

                @Override

                public void onResponse(JSONObject response) {

                    Log.d("Response", response.toString());

                    try {

                        callback(response, callback);

                    } catch (Exception e){

                        Log.d("API callback error", e.getMessage());

                    }


                }

            },

            new Response.ErrorListener() {

                @Override

                public void onErrorResponse(VolleyError error) {

                    Log.d("Error response", error.toString());

                }

            }

    );

    queue.add(jsonRequest);

}


查看完整回答
反對 回復 2022-06-23
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

在你的 onResponse() 方法中添加這段代碼


 JSONObject jsonObj = new JSONObject(response);

 String response_value = jsonObj.getString("response");


查看完整回答
反對 回復 2022-06-23
  • 2 回答
  • 0 關注
  • 118 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號