排球删除请求,身体数据不起作用

时间:2017-01-12 12:55:07

标签: android performance android-volley http-delete

大家好我即将面临排球删除请求的问题。

我在用户处理任务时通过它的id添加或删除一些联系人。

我正在使用凌空库。

API与邮递员一起测试并且工作正常。

private void AddContactInList(final Contacts contacts,int RequestMethod) {

JSONArray ContactArray = new JSONArray();

ContactArray.put(StoredContactid);

final String jsonStr = ContactArray.toString();

String URl =  OrganizationModel.getApiBaseUrl() + getOrgId() + "/lists/" + contacts.getId()+"/contacts";

Log.i(TAG,URl);

RequestQueue requestQueue = Volley.newRequestQueue(getContext());

JsonObjectRequest jsonArrayRequest = new JsonObjectRequest(RequestMethod,URl,
        new Response.Listener<JSONObject>() {
            @Override
            public void onResponse(JSONObject response) {

                Log.i(TAG,response.toString());

                try {

                    JSONArray mJSONArray = response.getJSONArray("contactIds");

                    contacts.setCode(String.valueOf(mJSONArray.length()));

                    long time = System.currentTimeMillis();

                    sqliteDataBaseHelper.changeContactUpdatedON(StoredContactid, String.valueOf(time));

                    sqliteDataBaseHelper.updateListContactsAndLength(contacts.getId(), mJSONArray.toString(), (mJSONArray.length()));

                    dataAdapter.notifyDataSetChanged();

                } catch (JSONException e) {
                    e.printStackTrace();
                }
            }
        },
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Log.i(TAG,error.toString());
                String json = null;
                NetworkResponse response = error.networkResponse;
                if (response != null && response.data != null) {
                    switch (response.statusCode) {
                        case 400:
                        case 405:
                            json = new String(response.data);
                            json = dataHelper.trimMessage(json, "message");
                            if (json != null) dataHelper.displayMessage(json);
                            break;
                    }

                }


            }
        }) {
    @Override
    public String getBodyContentType() {
        return "application/json; charset=utf-8";
    }

    @Override
    public byte[] getBody() {
        try {
            return jsonStr == null ? null : jsonStr.getBytes("utf-8");
        } catch (UnsupportedEncodingException uee) {
            VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s",
                    jsonStr, "utf-8");
            return null;
        }
    }

    @Override
    public Map<String, String> getHeaders() throws AuthFailureError {
        Map<String, String> headers = new HashMap<String, String>();
        headers.put("Content-Type", "application/json; charset=utf-8");
        headers.put("Authorization", "Basic " + GetApiAccess());
        return headers;
    }
};
jsonArrayRequest.setRetryPolicy(new DefaultRetryPolicy(
        9000,
        DefaultRetryPolicy.DEFAULT_MAX_RETRIES,
        DefaultRetryPolicy.DEFAULT_BACKOFF_MULT));
requestQueue.add(jsonArrayRequest);

}

2 个答案:

答案 0 :(得分:0)

在我的SQLite数据库中,以下代码正常运行。希望它可以帮到你..

public void DeleteData(){
    btnDltData.setOnClickListener(
            new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Integer deleteRows = myDB.deleteData(editId.getText().toString());
                    if(deleteRows > 0)
                        Toast.makeText(MainActivity.this, "Task Clear..", Toast.LENGTH_SHORT).show();
                    else
                        Toast.makeText(MainActivity.this, "Task not Clear..", Toast.LENGTH_SHORT).show();

                    editId.setText("");

                }
            }
    );
}

答案 1 :(得分:-1)