您的位置:首页 > 理论基础 > 计算机网络

OkHttp二次封装,单例模式

2018-04-05 11:55 351 查看
public class OkHttpUtils {
private OkHttpUtils okHttpUtils;
static OkHttpClient client;
public static  OkHttpClient getInstance(){
if (client == null) {
synchronized (OkHttpUtils.class){
if (client == null) {
File file=new File(Environment.getExternalStorageDirectory()+"client");
client=new OkHttpClient().newBuilder()
.cache(new Cache(file,10*1024*1024))
.connectTimeout(3000, TimeUnit.SECONDS)
.readTimeout(3000,TimeUnit.SECONDS)
.writeTimeout(3000,TimeUnit.SECONDS)
.build();
}
}
}
return client;
}
public static void doGet(String url, Callback callback){
OkHttpClient instance = getInstance();
Request request=new Request.Builder()
.url(url)
.build();
instance.newCall(request).enqueue(callback);
};
public static void doPost(String url, Map<String,String> params, Callback callback){
OkHttpClient instance = getInstance();
FormBody.Builder form=new FormBody.Builder();
for (String in:params.keySet() ) {
form.add(in,params.get(in));
}
Request request=new Request.Builder()
.url(url)
.post(form.build())
.build();
instance.newCall(request).enqueue(callback);
};
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: