package com.idormy.sms.forwarder.utils; import android.support.annotation.NonNull; import com.zhy.http.okhttp.OkHttpUtils; import com.zhy.http.okhttp.callback.FileCallBack; import com.zhy.http.okhttp.callback.StringCallback; import java.io.File; import java.util.HashMap; import java.util.Map; import okhttp3.Call; import okhttp3.Request; import okhttp3.Response; public class HttpUtil implements HttpI { /** * 异步get * * @param url get请求地址 * @param params get参数 * @param callBack 回调 */ public void asyncGet(@NonNull String url, @NonNull Map params, @NonNull final Callback callBack) { params.put("aaa", "bbbbb"); params.put("ccc", "ddd"); Map headers = new HashMap<>(); OkHttpUtils.get() .url(url) .headers(headers) .params(params) .build() .execute(new StringCallback() { @Override public void onError(Call call, Response response, Exception e, int id) { callBack.onError(validateError(e, response)); } @Override public void onResponse(String response, int id) { callBack.onResponse(response); } }); } /** * 异步post * * @param url post请求地址 * @param params post请求参数 * @param callBack 回调 */ public void asyncPost(@NonNull String url, @NonNull Map params, @NonNull final Callback callBack) { params.put("eeee", "fff"); params.put("gggg", "hhhh"); Map headers = new HashMap<>(); headers.put("heada", "bb"); OkHttpUtils.post() .url(url) .headers(headers) .params(params) .build() .execute(new StringCallback() { @Override public void onError(Call call, Response response, Exception e, int id) { callBack.onError(validateError(e, response)); } @Override public void onResponse(String response, int id) { callBack.onResponse(response); } }); } /** * 下载 * * @param url 下载地址 * @param path 文件保存路径 * @param fileName 文件名称 * @param callback 回调 */ public void download(@NonNull String url, @NonNull String path, @NonNull String fileName, @NonNull final FileCallback callback) { OkHttpUtils.get() .url(url) .build() .execute(new FileCallBack(path, fileName) { @Override public void inProgress(float progress, long total, int id) { callback.onProgress(progress, total); } @Override public void onError(Call call, Response response, Exception e, int id) { callback.onError(validateError(e, response)); } @Override public void onResponse(File response, int id) { callback.onResponse(response); } @Override public void onBefore(Request request, int id) { super.onBefore(request, id); callback.onBefore(); } }); } }