2016-04-30 15 views
0

Ich habe versucht, Datenbank auf dem Server mit Aufruf von API mit Google Volley zu aktualisieren. Aber irgendwie wird die Datenbank nicht aktualisiert. Das Problem existiert nicht, während das Abrufen von Daten (Method.GET)Datenbank wird nicht aktualisiert mit Android Volley

Hier mein snipet Code:

HashMap<String, String> params = new HashMap<>(); 
    params.put(.....); 

    JsonObjectRequest postReq = new JsonObjectRequest(Request.Method.POST, 
      Api.URL_POST_DATA, new JSONObject(params), 
      new Response.Listener<JSONObject>() { 
       @Override 
       public void onResponse(JSONObject response) { 
        progressDialog.setVisibility(View.GONE); 
        if (response.toString().equalsIgnoreCase("{\"result\":\"OK\"}")) { 
         Toast.makeText(MainActivity.this, "Success", Toast.LENGTH_SHORT).show(); 
        } else { 
         Toast.makeText(MainActivity.this, "Failed", Toast.LENGTH_SHORT).show(); 
        } 
       } 
      }, 
      new Response.ErrorListener() { 
       @Override 
       public void onErrorResponse(VolleyError error) { 
        progressDialog.setVisibility(View.GONE); 
        Toast.makeText(MainActivity.this, "Check internet connection", Toast.LENGTH_SHORT).show(); 
       } 
      }); 

    postReq.setRetryPolicy(new DefaultRetryPolicy(10000, 
      DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
      DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 

    postReq.setShouldCache(false); 

    VolleyHelper.getInstance(this).addToRequestQueue(postReq); 
    VolleyHelper.getInstance(this).getRequestQueue().getCache().invalidate(Api.URL_POST_DATA, true); 

Dann habe ich versucht, Update-Datenbank manuell von PostMan mit, um sicherzustellen, dass das Problem nicht auf meiner Seite API und meine Datenbank wurde erfolgreich aktualisiert.

Habe ich meinen Code falsch gemacht? Irgendwelche Hilfen werden wirklich geschätzt.

Dank

+0

was senden Sie genau mit dem Postboten – djodjo

+0

@djodjo Ich habe gerade die HTTP-Post mit allen Parametern auf dem Körper gesendet. – paulsen

+0

hast du Json oder params im briefträger geschickt? – djodjo

Antwort

0

den Content-Type Wert Ihrer Request-Header auf "application/json". Dies könnte das Problem sein. Um dies zu tun, müssen Sie die Methode getHeaders() für Ihr Anfrageobjekt überschreiben.

0

Danke Jungs für den Hinweis, habe ich falsch gemacht. Ich habe die HashMap gesendet, aber auf meine Anfrage hin habe ich den JsonObjectRequest geschickt. Also habe ich StringObject anstelle von JsonObjectRequest verwendet.

Verwandte Themen