2017-05-05 3 views
-1

Ich bin neu in Android-Entwicklung. Ich erstelle API mit Feder MVC und die Ausgabe der API ist wie folgt.Wie man Daten auf dem Server mit Volley und Android

und URL.
Wie Post-Daten mit Android und Volley verwenden, um Daten in MySQL-Datenbank zu speichern. bitte helfen.

+0

meine API-Ausgabe ist wie folgt {"id": 7, "Vorname": "Acer", "Nachname": "Aspire", "E-Mail": "[email protected]", "Telefon": "0476300225"} –

+0

und URL ist http://192.168.43.235:8080/ api/employee/save –

+0

Sicher, wir helfen dir, was hast du bisher probiert? Zuerst zu suchen wäre ein guter erster Schritt. – Denny

Antwort

0

Wenn Sie JsonRequest in Volley Erstellen von benutzerdefinierten GsonVolleyRequest und verwenden folgenden Code:

JSONObject request = new JSONObject(); 

      request.put("data", val); 

      GsonRequest gsonRequest = new GsonRequest(Request.Method.POST, 
        URL, Model.class, 
        request, new SuccessListner(), new ErrorListner(), true, new GsonRequest.onSuccessError() { 
       @Override 
       public void onMessageReceive(final String message) { 
        view.onSuccessError(message); 
       } 
      }); 
      requestQueue().addToRequestQueue(gsonRequest, false); 

Für diese Gson anfordern Verwendung unter Klasse:

public class GsonRequest<T> extends JsonRequest<T> { 
public static final String TAG = GsonRequest.class.getName(); 
private final Gson gson = new Gson(); 
private final Class<T> clazz; 
private final Response.Listener<T> listener; 
private SharedPreferenceApp preferenceApp; 
private boolean isHeader; 
private onSuccessError onSuccessError; 


public GsonRequest(int method, String url, Class<T> clazz, JSONObject jsonObject, 
        Response.Listener<T> listener, Response.ErrorListener errorListener, 
        boolean isHeader, onSuccessError onSuccessError) { 
    super(method, url, (jsonObject == null) ? null : jsonObject.toString(), listener, 
      errorListener); 
    if (BuildConfig.DEBUG) { 
     System.out.println("POST_URL : " + url); 
     if (jsonObject != null) 
      System.out.println("POST_REQUEST : " + jsonObject); 
    } 

    this.clazz = clazz; 
    this.listener = listener; 
    this.isHeader = isHeader; 
    preferenceApp = new SharedPreferenceApp(CrestereBuyerApp.getInstance()); 
    this.onSuccessError = onSuccessError; 
} 

@Override 
public Map<String, String> getHeaders() throws AuthFailureError { 
    if (isHeader) { 
     Map<String, String> headers = new HashMap<>(); 
     headers.put("Authorization", "Bearer " + preferenceApp.getApptoken()); 
     return headers; 
    } else { 
     return super.getHeaders(); 
    } 
} 

@Override 
protected Response<T> parseNetworkResponse(NetworkResponse networkResponse) { 
    try { 
     String json = new String(networkResponse.data, HttpHeaderParser.parseCharset(networkResponse.headers)); 
     if (BuildConfig.DEBUG) { 
      Log.e("Server Response : ", "" + json); 
      System.out.println("Server Response : " + json); 
     } 
     JSONObject jsonObject = new JSONObject(json); 
     if (jsonObject.has("success") && jsonObject.getBoolean("success")) { 
      return Response.success(gson.fromJson(json, clazz), HttpHeaderParser.parseCacheHeaders(networkResponse)); 
     } else if (jsonObject.has("errors")) { 
      JSONArray jsonArray = jsonObject.getJSONArray("errors"); 
      if (jsonArray.length() > 0) { 
       final JSONObject jsonObject1 = (JSONObject) jsonArray.get(0); 
       if (jsonObject1.has("message")) { 
        onSuccessError.onMessageReceive(jsonObject1.getString("message")); 
       } else if (jsonObject1.has("msg")) { 
        onSuccessError.onMessageReceive(jsonObject1.getString("msg")); 
       } else { 
        return Response.error(new AuthFailureError()); 
       } 
      } 
     } else if (jsonObject.has("responseHeader")) { 
      return Response.success(gson.fromJson(json, clazz), HttpHeaderParser.parseCacheHeaders(networkResponse)); 
     } else if (jsonObject.has("msg")) { 
      onSuccessError.onMessageReceive(jsonObject.getString("msg")); 
     } 
    } catch (UnsupportedEncodingException e) { 
     e.printStackTrace(); 
     Log.e("Response Error : ", "" + e.getMessage()); 
     return Response.error(new ParseError(e)); 
    } catch (JsonSyntaxException e) { 
     e.printStackTrace(); 
     Log.e("Response Error : ", "" + e.getMessage()); 
     return Response.error(new ParseError(e)); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
     return Response.error(new ParseError(e)); 
    } 
    return Response.error(null); 
} 


@Override 
protected void deliverResponse(T t) { 
    if (listener != null) 
     listener.onResponse(t); 
} 

public interface onSuccessError { 
    void onMessageReceive(String message); 
} 

}

Zur Referenzierung diese GsonRequest überprüfen link