Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何发出HTTP POST请求并使用android中应该得到的Json响应_Java_Android_Httprequest_Android Volley - Fatal编程技术网

Java 如何发出HTTP POST请求并使用android中应该得到的Json响应

Java 如何发出HTTP POST请求并使用android中应该得到的Json响应,java,android,httprequest,android-volley,Java,Android,Httprequest,Android Volley,我尝试向web服务发出http登录请求。我按如下方式设置JSONobject请求,但当我尝试调试代码时,响应JSON对象似乎为null。(我应该得到一个JSON对象作为响应)。有什么想法吗 public UserData initLogin(Creds cr) { StringBuilder finalURL = new StringBuilder("https://"); finalURL.append(credentials.getUrl()); finalURL

我尝试向web服务发出http登录请求。我按如下方式设置JSONobject请求,但当我尝试调试代码时,响应JSON对象似乎为null。(我应该得到一个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;
}
public UserData initLogin(Creds-cr){
StringBuilder finalURL=新的StringBuilder(“https://”);
append(credentials.getUrl());
最终追加(“/s1服务”);
Response.Listener r1=新的Response.Listener(){
@凌驾
公共void onResponse(JSONObject响应){
res=response.toString();
us=gson.fromJson(String.valueOf(response),UserData.class);
}
};
JsonObjectRequest req=新的JsonObjectRequest(Request.Method.POST,finalURL.toString(),cr.serObj(),r1,new Response.ErrorListener()){
@凌驾
公共无效onErrorResponse(截击错误){
}
});
归还我们;
}

我应该把这个请求放到请求队列还是什么?我应该提到credentials类有一个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);
StringBuilder finalURL=新的StringBuilder(“https://”);
append(credentials.getUrl());
最终追加(“/s1服务”);
字符串url=finalURL.toString();
JsonObjectRequest JsonObjectRequest=新JsonObjectRequest
(Request.Method.GET,url,null,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
//在这里处理json响应
us=gson.fromJson(String.valueOf(response),UserData.class);
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
//TODO:句柄错误
}
});
//通过singleton类访问RequestQueue。
getInstance(this).addToRequestQueue(jsonObjectRequest);

请参阅:

是,但如何初始化Singleton类,以及在get实例方法中作为“this”传递什么?