OkHttpHelper.java 1.2 KB
Newer Older
1
package com.bgycc.smartcanteen.helper;
patpat committed
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

import okhttp3.*;
import org.json.JSONObject;

import java.util.concurrent.TimeUnit;

public class OkHttpHelper {

    private static OkHttpHelper sDefault;

    public static OkHttpHelper getDefault() {
        if (sDefault == null) {
            OkHttpClient http = new OkHttpClient.Builder()
                    .connectTimeout(6, TimeUnit.SECONDS)
                    .readTimeout(6, TimeUnit.SECONDS)
                    .writeTimeout(6, TimeUnit.SECONDS)
                    .build();
            sDefault = new OkHttpHelper(http);
        }
        return sDefault;
    }

    private OkHttpClient mHttp;

    private OkHttpHelper(OkHttpClient http) {
        mHttp = http;
    }

    public void post(String url, JSONObject params, okhttp3.Callback callback) {
        MediaType mediaType = MediaType.parse("application/json;charset:utf-8");
        RequestBody body = RequestBody.create(mediaType, params.toString());
        Request request = new Request.Builder()
                .url(url)
                .addHeader("Content-Type", "application/json;charset:utf-8")
                .post(body)
                .build();

        mHttp.newCall(request).enqueue(callback);
    }
}