Android Exemple d'utilisation de base


Exemple

J'aime envelopper mon OkHttp dans une classe appelée HttpClient par exemple, et dans cette classe, j'ai des méthodes pour chacun des principaux verbes HTTP, post , get , put et delete , le plus souvent. (J'inclus généralement une interface, afin de la conserver pour l'implémenter, afin de pouvoir facilement passer à une implémentation différente, le cas échéant):

public class HttpClient implements HttpClientInterface{

private static final String TAG = OkHttpClient.class.getSimpleName();
public static final MediaType JSON
        = MediaType.parse("application/json; charset=utf-8");

OkHttpClient httpClient = new OkHttpClient();

@Override
public String post(String url, String json) throws IOException {
    Log.i(TAG, "Sending a post request with body:\n" + json + "\n to URL: " + url);

    RequestBody body = RequestBody.create(JSON, json);
    Request request = new Request.Builder()
            .url(url)
            .post(body)
            .build();
    Response response = httpClient.newCall(request).execute();
    return response.body().string();
}

La syntaxe est la même pour put , get et delete sauf pour 1 mot ( .put(body) ). L'utilisation est assez simple, il suffit d'appeler la méthode appropriée sur une url avec un payload json et la méthode retournera une chaîne en résultat que vous pourrez ensuite utiliser et analyser. Supposons que la réponse soit un json , nous pouvons facilement créer un objet JSONObject :

String response = httpClient.post(MY_URL, JSON_PAYLOAD);
JSONObject json = new JSONObject(response);
// continue to parse the response according to it's structure