簡體   English   中英

使用JSON和齊射發送數據

[英]send data with JSON and volley

我正在嘗試使用Volley和JSON將數據發送到Web服務,但是我不知道如何將數據正確地放入我的字符串請求中

在此處輸入圖片說明

我的密碼

String url = "http://api.jasamedika.co.id/service/pegawai/1200034";

    final ProgressDialog loading = ProgressDialog.show(getContext(), "Uploading...", "Please wait...", false, false);
    StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
            new Response.Listener<String>() {
                @Override
                public void onResponse(String response) {
                    Log.e(TAG, "Response: " + response.toString());

                    try {
                        JSONObject jObj = new JSONObject(response);
                        succes = jObj.getInt(TAG_SUCCESS);

                        if (succes == 1) {
                            Toast.makeText(getContext(), jObj.getString(TAG_MESSAGE), Toast.LENGTH_LONG).show();
                            //kosong();
                        } else {
                            Toast.makeText(getContext(), jObj.getString(TAG_MESSAGE), Toast.LENGTH_LONG).show();
                        }
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                    //menghilangkan progress dialog
                    loading.dismiss();
                }
            },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    //menghilangkan progress dialog
                    loading.dismiss();
                    //menampilkan toast
                    Toast.makeText(getContext(), error.toString(), Toast.LENGTH_LONG).show();
                    Log.e(TAG, error.getMessage().toString());
                }
            }) {
        @Override
        protected Map<String, String> getParams() {
            //membuat parameters
            Map<String, String> params = new HashMap<String, String>();
            //menambah parameter yang di kirim ke web servis
            params.put("Content-Type", "application/json");

            params.put("ID",id.getText().toString().trim());
            params.put("Nama", nama.getText().toString().trim());
            params.put("Jenis_Kelamin", jenis_kelamin.getText().toString().trim());
            params.put("Tgl_Lahir",tgl_lahir.getText().toString().trim() );
            params.put("ID_Jabatan",id_jabatan.getText().toString().trim());
            params.put("Salary",salary.getText().toString().trim());
            //kembali ke parameters

            Log.e(TAG, "" + params);
            return params;
        }
    };

    AppController.getInstance().addToRequestQueue(stringRequest, tag_json_obj);
}

錯誤信息 在此處輸入圖片說明

在您的代碼中

  StringRequest stringRequest = new StringRequest(Request.Method.POST, 
  url,new Response.Listener<String>() {})

更改為

 StringRequest stringRequest = new StringRequest(Request.Method.PUT, url,  
   new Response.Listener<String>() {})

改造更易於使用

在第一個屏幕上,您的方法是PUT,但是在排球請求中使用POST,請嘗試更改放置

您必須發送字符串而不是json

您可以通過添加到hasmap發送,例如:

params.put("ID",id.getText().toString().trim());
        params.put("user[Nama]", nama.getText().toString().trim());
        params.put("user[Jenis_Kelamin]", jenis_kelamin.getText().toString().trim());
        params.put("user[Tgl_Lahir]",tgl_lahir.getText().toString().trim() );
        params.put("user[ID_Jabatan]",id_jabatan.getText().toString().trim());
        params.put("user[Salary]",salary.getText().toString().trim());
enter code here

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM