【问题标题】:the data is not properly receiving?数据没有正确接收?
【发布时间】:2017-03-15 06:25:09
【问题描述】:

我开发了一个 android 应用程序,它将传感器数据发送到灯服务器,以便在后台使用服务发送数据,并且我使用了 php。当我运行应用程序时,后台服务启动时,我从服务器获取数据成功插入消息,灯服务器行正在更新,但值未存储。正在存储空值,请帮我找出代码中的问题所在?

public void data() throws JSONException {
final String LIGHTSENS, LIGHTDATA, TEMPSENSOR, TEMPDATA, AMBTEMPSENSOR, AMBTEMDATA, PRESSURESENS, PRESSUREDATA, LATTITUDE, LONGITUDE, DATE, TIME;
        LIGHTSENS = String.valueOf(lr1);
        LIGHTDATA = String.valueOf(ld1);
        TEMPSENSOR = String.valueOf(tr1);
        TEMPDATA = String.valueOf(td1);
        AMBTEMPSENSOR = String.valueOf(atr1);
        AMBTEMDATA = String.valueOf(atd1);

        PRESSURESENS = String.valueOf(pr1);
        PRESSUREDATA = String.valueOf(pd1);
        LATTITUDE = String.valueOf(la);
        LONGITUDE = String.valueOf(lg);


StringRequest stringRequest = new StringRequest(Request.Method.POST, Server_url,
                new Response.Listener<String>()
                {
                    @Override
                    public void onResponse(String response)
                    {
                        Toast.makeText(sens.this, response.toString(), Toast.LENGTH_SHORT).show();


                    }
                }, new Response.ErrorListener()
        {
            @Override
            public void onErrorResponse(VolleyError error)
            {

                Toast.makeText(sens.this, error.toString(), Toast.LENGTH_SHORT).show();
            }
        }) {
            @Override
            protected Map<String, String> getParams() throws AuthFailureError, AuthFailureError {
                HashMap<String, String> params = new HashMap<String, String>();
                params.put("LIGHTSENS", LIGHTSENS);
                params.put("LIGHTDATA", LIGHTDATA);
                params.put("TEMPSENSOR", TEMPSENSOR);
                params.put("TEMPDATA", TEMPDATA);
                params.put("AMBTEMPSENSOR", AMBTEMPSENSOR);
                params.put("AMBTEMDATA", AMBTEMDATA);
                params.put("PRESSURESENS", PRESSURESENS);
                params.put("PRESSUREDATA", PRESSUREDATA);
                params.put("LATTITUDE", LATTITUDE);
                params.put("LONGITUDE", LONGITUDE);


                return  super.getParams();
                //params.put("Content-Type", "application/json; charset=utf-8");
                //params.put("User-agent", System.getProperty("http.agent"));

                //return params;

            }

        };

        //Mysingleton.getmInstance(sens.this).addTorequestque(stringRequest);


       // RequestQueue rq = Volley.newRequestQueue(this);
        RequestQueue requestQueue= Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);

       // RequestQueue requestQueue = Volley.newRequestQueue(this);
        //requestQueue.add(stringRequest);
    }

【问题讨论】:

  • 为什么返回 super.getParams();
  • 即使我把return.params;我无法接受我尝试过的那种。你可以看到我评论了那行代码。
  • 请先调试您的服务以确保您收到 null... 您的服务可能在插入数据时遇到问题。

标签: php android android-volley


【解决方案1】:

试试这个,

    private void data() {

        final String LIGHTSENS, LIGHTDATA, TEMPSENSOR, TEMPDATA, AMBTEMPSENSOR, AMBTEMDATA, PRESSURESENS, PRESSUREDATA, LATTITUDE, LONGITUDE, DATE, TIME;
        LIGHTSENS = String.valueOf(lr1);
        LIGHTDATA = String.valueOf(ld1);
        TEMPSENSOR = String.valueOf(tr1);
        TEMPDATA = String.valueOf(td1);
        AMBTEMPSENSOR = String.valueOf(atr1);
        AMBTEMDATA = String.valueOf(atd1);

        PRESSURESENS = String.valueOf(pr1);
        PRESSUREDATA = String.valueOf(pd1);
        LATTITUDE = String.valueOf(la);
        LONGITUDE = String.valueOf(lg);

        StringRequest stringRequest = new StringRequest(Request.Method.POST, Server_url,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        Toast.makeText(sens.this, response.toString(), Toast.LENGTH_SHORT).show();
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        Toast.makeText(sens.this, error.toString(), Toast.LENGTH_SHORT).show();
                    }
                }) {
            @Override
            protected Map<String, String> getParams() {
                Map<String, String> params = new HashMap<>();
                params.put("LIGHTSENS", LIGHTSENS);
                params.put("LIGHTDATA", LIGHTDATA);
                params.put("TEMPSENSOR", TEMPSENSOR);
                params.put("TEMPDATA", TEMPDATA);
                params.put("AMBTEMPSENSOR", AMBTEMPSENSOR);
                params.put("AMBTEMDATA", AMBTEMDATA);
                params.put("PRESSURESENS", PRESSURESENS);
                params.put("PRESSUREDATA", PRESSUREDATA);
                params.put("LATTITUDE", LATTITUDE);
                params.put("LONGITUDE", LONGITUDE);
                Log.d(TAG, "@@@ params:" + params + " URL:" + Server_url);
                return params;
            }
        };

        RequestQueue requestQueue = Volley.newRequestQueue(sens.this);
        requestQueue.add(stringRequest);
    }

【讨论】:

    猜你喜欢
    • 2015-08-19
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-04-21
    • 1970-01-01
    相关资源
    最近更新 更多