OKhttp网络请求

来源:互联网 发布:2016江西统计局数据 编辑:程序博客网 时间:2024/05/20 23:07
public class OKHttpUtils {    private Handler handler=new Handler();    public  Handler getHandler(){        return handler;    }    //单例    private  static  OKHttpUtils okHttpUtils=new OKHttpUtils();    private OKHttpUtils(){};    public static OKHttpUtils getInstance(){        return  okHttpUtils;    }    private OkHttpClient client;    private  void  initOkHttpClient(){        //实例出来client对象        if (client==null){            client=new OkHttpClient.Builder().build();        }    }    //使用工具类,发起网络请求    public  void  doGet(String url, Callback callback){        initOkHttpClient();        Request request=new Request.Builder().url(url).build();        Call call=client.newCall(request);        call.enqueue(callback);    }}

public abstract class OnUiCallback implements Callback{    private Handler handler=OKHttpUtils.getInstance().getHandler();    public  abstract  void  onFailed(Call call, IOException e);    public  abstract  void  onsuccess(String result)throws  IOException;    @Override    public void onFailure(final Call call, final IOException e) {        handler.post(new Runnable() {            @Override            public void run() {                onFailed(call,e);            }        });    }    @Override    public void onResponse(Call call, Response response) throws IOException {        final String result=response.body().string();        handler.post(new Runnable() {            @Override            public void run() {                try {                    onsuccess(result);                } catch (IOException e) {                    e.printStackTrace();                }            }        });    }}

原创粉丝点击