package com.example.mvplibrary.net;
import android.annotation.SuppressLint;
import android.os.Message;
import com.example.mvplibrary.iml.HttpListener;
import com.squareup.okhttp.Callback;
import com.squareup.okhttp.OkHttpClient;
import com.squareup.okhttp.Request;
import com.squareup.okhttp.Response;
import android.os.Handler;
import java.io.IOException;
public class OKHttpHelper {
public int HTTP_FAILURE = 101;
public int HTTP_SUCCESS = 200;
private HttpListener listener;
public void result(HttpListener listener){
this.listener = listener;
}
public OKHttpHelper get(String url){
OkHttpClient client = new OkHttpClient();
final Request request = new Request.Builder()
.get()
.url( url )
.build();
client.newCall( request ).enqueue( new Callback() {
@Override
public void onFailure(Request request, IOException e) {
handler.sendEmptyMessage( HTTP_FAILURE );
}
@Override
public void onResponse(Response response) throws IOException {
String string = response.body().string();
Message obtain = Message.obtain();
obtain.what = HTTP_SUCCESS;
obtain.obj = string;
handler.sendMessage( obtain );
}
} );
return this;
}
@SuppressLint("HandlerLeak")
private final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
super.handleMessage( msg );
switch (msg.what){
case 200:
String data = (String) msg.obj;
listener.Success(data);
break;
case 101:
break;
}
}
};
}
//接口写出来了
package soexample.umeng.com.liushibuju.utils;
public interface OkHttpListener {
void Success(String data);
void Error();
}