使用Android App中的volley库将数据发布到服务器

时间:2017-06-21 07:53:49

标签: java android networking python-requests android-volley

伙计我需要帮助我试图将这些数据发布到我的服务器这里,但是它返回了一个错误,它似乎在邮递员工作得很好,问题进来时试图在Android应用程序中使用google' s凌空图书馆。

Link到服务器脚本。

这是在邮递员休息客户端工作的成功帖子的屏幕截图:2

private void SaveDataToServer() {

    StringRequest serverPostRequest = new StringRequest(Request.Method.POST, Config.SAVE_INVENTORY_URL,

            new Response.Listener<String>() {
                @Override
                public void onResponse(String json) {
                    try {
                        Toast.makeText(SelectItemsActivity.this, json.toString(), Toast.LENGTH_SHORT).show();
                        Log.e("RESPONSE FROM SERVER",json);
                        JSONObject dataJson=new JSONObject(json);
                        JSONObject myJson=dataJson.getJSONObject("status");
                        String status=myJson.getString("status_text");
                        if (status.equalsIgnoreCase("Success.")){
                            Toast.makeText(SelectItemsActivity.this, "Data saved Successfully", Toast.LENGTH_SHORT).show();
                            proggressShow.dismiss();
                        }else {
                            Toast.makeText(SelectItemsActivity.this, "An error occured while saving data", Toast.LENGTH_SHORT).show();
                            proggressShow.dismiss();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }

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


        }

    }){

        @Override
        protected Map<String, String> getPostParams()  {
            HashMap<String, String> params = new HashMap<String, String>();
            params.put("api_key",Config.API_KEY);
            params.put("move_id", "1");
            params.put("room_name", "Attic room");
            params.put("item_name", "Halloween Broom");
            params.put("item_id", "6");
            Log.e("datat to server",params.toString());
            return params;
        }
    };
    saveDataRequest.add(serverPostRequest);
}

2 个答案:

答案 0 :(得分:0)

尝试在请求中添加getHeaders方法

  @Override
            public Map<String, String> getHeaders() throws AuthFailureError {
                final HashMap<String, String> headers = new HashMap<>();
                headers.put("Content-Type", "multipart/form-data");
                return headers;
            }

答案 1 :(得分:0)

将此行添加到我的请求标头后,我能够成功将数据库提交到我的数据库。 此外,我确保我使用stringRequest为jsonRequest它不起作用我不知道。

        @Override
        public Map<String, String> getHeaders() throws AuthFailureError {
            HashMap<String, String> headers = new HashMap<>();
            headers.put("Content-Type","application/x-www-form-urlencoded");
            return headers;
        }