簡體   English   中英

我如何發出HTTP POST請求並使用我應該在android中獲得的Json響應

[英]How can i make an HTTP POST request and and use the Json Response i should get in android

我嘗試向Web服務發出http登錄請求。 我按如下所示設置JSONobject請求,但是當我嘗試調試代碼時,響應JSON對象似乎為空。 (我應該得到一個JSON對象作為響應)。 任何想法?

 public UserData initLogin(Creds cr) {

    StringBuilder finalURL = new StringBuilder("https://");
    finalURL.append(credentials.getUrl());
    finalURL.append("/s1services");

    Response.Listener<JSONObject> r1 = new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            res = response.toString();
            us = gson.fromJson(String.valueOf(response), UserData.class);

        }
    };
    JsonObjectRequest req = new JsonObjectRequest(Request.Method.POST, finalURL.toString(), cr.serObj(), r1, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });






    return us;
}

我應該將此請求放入請求隊列或其他東西嗎? 我應該提到憑證類具有URL屬性和getUrl()方法。

我將按照Android文檔中的示例進行操作:

StringBuilder finalURL = new StringBuilder("https://");
finalURL.append(credentials.getUrl());
finalURL.append("/s1services");
String url = finalURL.toString();

JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
    (Request.Method.GET, url, null, new Response.Listener<JSONObject>() {

    @Override
    public void onResponse(JSONObject response) {
        //handle your json response here
        us = gson.fromJson(String.valueOf(response), UserData.class);
    }
  }, new Response.ErrorListener() {

  @Override
  public void onErrorResponse(VolleyError error) {
      // TODO: Handle error

  }
});

// Access the RequestQueue through your singleton class.
MySingleton.getInstance(this).addToRequestQueue(jsonObjectRequest);

參見: https : //developer.android.com/training/volley/request

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM