OkHttpUtils

package com.example.cartdamo.utils;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;

public class OkhttpUtils {
    private static OkhttpUtils okhttpUtils;
    private final OkHttpClient okHttpClient;

    public OkhttpUtils() {
        okHttpClient = new OkHttpClient.Builder()
                .build();
    }

    public static OkhttpUtils getInstace(){
        if(okhttpUtils==null){
            synchronized (OkhttpUtils.class){
                if(okhttpUtils==null){
                    okhttpUtils  = new OkhttpUtils();
                }
            }
        }
        return okhttpUtils;
    }

    public void getData(String url, HashMap<String,String> params, final RequestCallBack requestCallBack){
        StringBuilder urlsb = new StringBuilder();
        String allUrl = "";

        for (Map.Entry<String, String> stringStringEntry : params.entrySet()) {

            urlsb.append("?").append(stringStringEntry.getValue()).append("=").append(stringStringEntry.getKey()).append("&");
        }
        allUrl = url+urlsb.toString().substring(0,urlsb.length()-1);

        Request request = new Request.Builder()
                .url(allUrl)
                .get()
                .build();
        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                if(requestCallBack!=null){
                    requestCallBack.failure(call, e);
                }
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(requestCallBack!=null){
                    requestCallBack.onResponse(call, response);
                }
            }
        });
    }
    public void postData(String url, HashMap<String,String> params, final RequestCallBack requestCallBack){
        FormBody.Builder fromBodyBuilder = new FormBody.Builder();
        if(params!=null&&params.size()>0){
            for (Map.Entry<String, String> stringStringEntry : params.entrySet()) {
                fromBodyBuilder.add(stringStringEntry.getKey(),stringStringEntry.getValue());
            }
        }
        Request request = new Request.Builder()
                .url(url)
                .post(fromBodyBuilder.build())
                .build();
        okHttpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                if(requestCallBack!=null){
                    requestCallBack.failure(call, e);
                }
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                if(requestCallBack!=null){
                    requestCallBack.onResponse(call, response);
                }
            }
        });
    }
}
**

 

package com.example.cartdamo.utils;

import java.io.IOException;

import okhttp3.Call;
import okhttp3.Response;

public interface RequestCallBack {
    void failure(Call call, IOException e);
    void onResponse(Call call, Response response);
}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值