RequestQueue
. RequestQueue queue = Volley.newRequestQueue(this);
StringRequest
с помощью прослушивателя ответов и ошибок. StringRequest sr = new StringRequest(Request.Method.POST,"http://api.someservice.com/post/comment", new Response.Listener<String>() {
@Override
public void onResponse(String response) {
mPostCommentResponse.requestCompleted();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
mPostCommentResponse.requestEndedWithError(error);
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put("user",userAccount.getUsername());
params.put("pass",userAccount.getPassword());
params.put("comment", Uri.encode(comment));
params.put("comment_post_ID",String.valueOf(postId));
params.put("blogId",String.valueOf(blogId));
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("Content-Type","application/x-www-form-urlencoded");
return params;
}
};
RequestQueue
. queue.add(jsObjRequest);
PostCommentResponseListener
, чтобы вы могли его видеть. Это простой делегат для запроса async. public interface PostCommentResponseListener {
public void requestStarted();
public void requestCompleted();
public void requestEndedWithError(VolleyError error);
}
AndroidManifest.xml
. <uses-permission android:name="android.permission.INTERNET"/>
Перейдите к отладке> Новая точка останова (альтернативно CTRL + SHIFT + F8). Измените тип точки останова на Исключение в верхнем правом раскрывающемся меню. Введите java.lang.NullPointerException
в поле Класс исключения. Выберите, следует ли сломать пойманный, непойманный или и то, и другое.
Отлаживайте свой код и наблюдайте за великолепной автоматической точкой останова при возникновении исключения.