Android 基本用法示例

示例

我喜欢我的包裹OkHttp到一个名为类HttpClient例如,在这班我会为每个主要的HTTP动词的方法post,get,put和delete,最常见的。(我通常包括一个接口,以使其保持实现,以便能够轻松地更改为其他实现,如果需要的话):

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();
}

语法是相同的put,get而delete除了1字(),所以它可能是讨厌发布该代码。用法非常简单,只需在具有某些负载的对象上调用适当的方法,该方法将返回一个字符串,以供以后使用和解析。假设响应为,我们可以从中轻松创建一个:.put(body)urljsonjsonJSONObject

String response = httpClient.post(MY_URL, JSON_PAYLOAD);
JSONObject json = new JSONObject(response);
// 继续根据响应的结构解析响应