简单的OkHttp 网络请求(成功方法)
import android.os.Handler;
import android.os.Message;
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
public class OKHttpUtils {
//封装hanlder 和实例化 重写handler 方法
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
//用传进来的msg 返回下面的字符串 强转
String string = (String) msg.obj;
//记住去下面发送消息
//去下面定义接口
//调用接口方法 传字符串
okHttpListener.success(string);
}
};
private OkHttpListener okHttpListener;
//公共的get 方法
public OKHttpUtils get(String url){
//new ok httpclient 返回值
OkHttpClient client = new OkHttpClient();
//new request 返回值 .burlder .get .url 填字符串 .build 提交
Request request = new Request.Builder().get().url(url).build();
//用client new call 括号里传reqest .enqueue 异步 new 快捷键
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//失败方法
}
//成功方法
@Override
public void onResponse(Call call, Response response) throws IOException {
//用reponse 调用body 小写字符串 返回值 string
String string = response.body().string();
// 信息 obtain 返回值
Message message = Message.obtain();
//信息 obj=字符串
message.obj=string;
//用handler发送消息
handler.sendMessage(message);
}
});
//记得返回this 强转
return this;
}
//定义一个回调方法 result 括号 实例化接口
public void result(OkHttpListener okHttpListener){
//接口返回值 this. 提上去
this.okHttpListener = okHttpListener;
}
//定义接口
public interface OkHttpListener{
//定义一个成功方法 传字符串
void success(String string);
}
}