compile 'com.squareup.okhttp3:okhttp:3.4.1' compile 'com.squareup.okio:okio:1.5.0' compile 'com.google.code.gson:gson:2.2.4'
private OkhttpgetListener okhttpgetListener; //解析url串的方法 public void okgetnet(String url){ OkHttpClient okHttpClient = new OkHttpClient(); //创建请求对象 Request request = new Request.Builder().url(url).build(); //创建Call请求队列 //请求都是放到一个队列里面的 Call call = okHttpClient.newCall(request); //开始请求 call.enqueue(new Callback() { //处理失败的方法 @Override public void onFailure(Call call, IOException e) { Message message=new Message(); message.obj="处理失败"; message.what=0; handler.sendMessage(message); } //处理成功的方法 @Override public void onResponse(Call call, Response response) throws IOException { String string = response.body().string(); Message message=new Message(); message.obj=string; message.what=1; handler.sendMessage(message); } }); } @SuppressLint("HandlerLeak") Handler handler=new Handler(){ @Override public void handleMessage(Message msg) { int i=msg.what; //等于0失败 if (i==0){ String shi = (String) msg.obj; okhttpgetListener.error(shi); } //等于1成功 if (i==1){ String json = (String) msg.obj; okhttpgetListener.success(json); } } }; public interface OkhttpgetListener{ //失败的方法 void error(String error); //成功的方法 void success(String json); } //主线程获取网络解析后json的方法 public void setOnOKHttpGetListener(OkhttpgetListener okhttpgetListener){ this.okhttpgetListener=okhttpgetListener; }