1. 程式人生 > >okhttp工具類使用

okhttp工具類使用

public class ok {
public static void doGet(String url, final OkhttpCallBack callBack){
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.build();
Request request = new Request.Builder()
.url(url)
.build();
Call call = okHttpClient.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
callBack.failed(e);
}

        @Override
        public void onResponse(Call call, Response response) throws IOException {
            String s = response.body().string();
            callBack.success(s);
        }
    });
}
public interface OkhttpCallBack{
    void success(String json);
    void failed(Exception e);
}

}

private void getHttp() {

    ok.doGet(url , new ok.OkhttpCallBack() {
        @Override
        public void success(String s) {
            handler.sendMessage(handler.obtainMessage(0, s));
        }

        @Override
        public void failed(Exception e) {
            handler.sendMessage(handler.obtainMessage(1));
        }
    });

private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case 0:
User user = new Gson().fromJson(msg.obj.toString(), User.class);
List<User.DataBean> data = user.getData();
if (data != null) {
list.clear();
list.addAll(data);
ma.notifyDataSetChanged();
}
break;
case 1:
Toast.makeText(MainActivity.this, “網路不給力哈”, Toast.LENGTH_SHORT).show();
break;
}
}
};