Android应用程序中的截击请求
在我的Android应用程序中,我有一个StringRequest并使用截击发送它。问题是onResponse和onErrorResponse都没有被调用!!我在应用程序的其他部分使用JSONRequest,我对它绝对没有问题。 我错过了什么 这已经困扰了我几个小时了,我不知道是什么原因造成的。非常感谢您提供的任何线索 代码如下:Android应用程序中的截击请求,android,request,android-volley,Android,Request,Android Volley,在我的Android应用程序中,我有一个StringRequest并使用截击发送它。问题是onResponse和onErrorResponse都没有被调用!!我在应用程序的其他部分使用JSONRequest,我对它绝对没有问题。 我错过了什么 这已经困扰了我几个小时了,我不知道是什么原因造成的。非常感谢您提供的任何线索 代码如下: public class AccountManagerProxy { StringRequest req; public void run() { tr
public class AccountManagerProxy {
StringRequest req;
public void run() {
try {
String s1 = URLEncoder.encode("user", "UTF-8");
String s2 = URLEncoder.encode("pass", "UTF-8");
String uri = String.format("http://****/token?grant_type=password&username=%1$s&password=%2$s", s1, s2);
req = new StringRequest(Request.Method.GET, uri, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
VolleyLog.v("Response:%n %s", response);
Log.d("##", "##");
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
VolleyLog.e("Error: ", error.getMessage());
Log.d("@@", "@@");
}
}) {
@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;
}
@Override
protected Response<String> parseNetworkResponse(NetworkResponse response) {
String parsed;
try {
parsed = new String(response.data, HttpHeaderParser.parseCharset(response.headers));
} catch (UnsupportedEncodingException e) {
parsed = new String(response.data);
}
return Response.success(parsed, HttpHeaderParser.parseCacheHeaders(response));
}
}
;
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} Singleton.getInstance().getRequestQueue().add(req);
}
公共类AccountManagerProxy{
StringRequest-req;
公开募捐{
试一试{
字符串s1=URLEncoder.encode(“用户”、“UTF-8”);
字符串s2=URLEncoder.encode(“pass”,“UTF-8”);
字符串uri=String.format(“http://**/token?grant_type=password&username=%1$s&password=%2$s”,s1,s2);
req=newstringrequest(Request.Method.GET,uri,new Response.Listener()){
@凌驾
公共void onResponse(字符串响应){
VolleyLog.v(“响应:%n%s”,响应);
Log.d(“##”,“##”);
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
e(“Error:,Error.getMessage());
Log.d(","",;
}
}) {
@凌驾
公共映射getHeaders()引发AuthFailureError{
Map params=新的HashMap();
参数put(“内容类型”、“应用程序/x-www-form-urlencoded”);
返回参数;
}
@凌驾
受保护的响应parseNetworkResponse(NetworkResponse响应){
字符串解析;
试一试{
parsed=新字符串(response.data,HttpHeaderParser.parseCharset(response.headers));
}捕获(不支持的编码异常e){
parsed=新字符串(response.data);
}
返回Response.success(已解析,HttpHeaderParser.parseCacheHeaders(Response));
}
}
;
}捕获(不支持的编码异常e){
e、 printStackTrace();
}Singleton.getInstance().getRequestQueue().add(req);
}
}try块中是否可能存在异常,并且StringRequest行永远不会执行?在try块的底部打印一条日志消息,只是为了检查它是否已执行,或者在catch块中打印log-in,您最终是否正确处理了这个问题?