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;
}
}
};