Volley库在某些设备中连接到服务器

时间:2016-02-29 10:13:22

标签: java android android-volley httpurlconnection

首先我使用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 [];

1 个答案:

答案 0 :(得分:0)

Volley是一个非常强大的API,我认为他们不会有这样的问题,检查你的代码可能在某些情况下它没有正确初始化对象。 我使用Volley超过1年并且没有这样的问题。 1 - 检查您使用的是this link的最新版本。 2 - 你的代码有问题,所以我们可以和你一起检查,日志可能有助于追踪问题,你正在使用的设备是什么?