首先我使用Httpurlconnection
并且遇到同样的问题(Dosent在某些设备的服务器中找到我的Url并且其他设备很容易)并且我认为错误和Httpurlconnection并且我决定使用Volley和同样的问题使用时存在
错误:
com.android.volley.VolleyError:java.lang.NullPointerException
排球代码:
StringRequest postRequest = new StringRequest(Request.Method.POST, uri,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("HOOOO", response);
progressDialog.dismiss();
try {
JSONObject jsonobj = new JSONObject(response);
int success = Integer.parseInt(jsonobj.getString("success"));
String msg = jsonobj.getString("message");
check(Flag,success,msg,pass,email);
}catch (Exception e){
Snackbar snackbar1 = Snackbar.make(Mainlayout,e.toString(), Snackbar.LENGTH_LONG);
snackbar1.show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
progressDialog.dismiss();
Log.i("Error Respone", error.toString());
Snackbar snackbar1 = Snackbar.make(Mainlayout,error.toString(), Snackbar.LENGTH_LONG);
snackbar1.show();
}
}
) {
@Override
protected Map<String, String> getParams()
{
Map<String, String> params = new HashMap<>();
if(Flag=="Insert") {
params.put("email", email);
params.put("fact", DeviseBrand);
params.put("model", DeviseModel);
}else if((Flag=="signin") ||(Flag=="update") ){
params.put("email", email);
}
// the POST parameters:
return params;
}
};
postRequest.setRetryPolicy(new DefaultRetryPolicy(
9000,
DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
Volley.newRequestQueue(this).add(postRequest);
和我的uri:
http://domain.com/App/Register.php
发布数据并在服务器上获取_Request [];
答案 0 :(得分:0)
Volley是一个非常强大的API,我认为他们不会有这样的问题,检查你的代码可能在某些情况下它没有正确初始化对象。 我使用Volley超过1年并且没有这样的问题。 1 - 检查您使用的是this link的最新版本。 2 - 你的代码有问题,所以我们可以和你一起检查,日志可能有助于追踪问题,你正在使用的设备是什么?