我是用的是接口传值,所以第一步是接口的创建
public interface NetWorkModelInterface {
//失败
void failure(Exception e);
//成功
void success(String result);
}
工具类
public class NetWorkModel {
//声明接口
public static NetWorkModelInterface mNetWorkModelInterface;
public void setNetWorkModel(NetWorkModelInterface netWorkModelInterface) {
mNetWorkModelInterface = netWorkModelInterface;
}
//声明类
private static volatile NetWorkModel mNetWorkModel;
//私有构造
private NetWorkModel() {
}
//唯一静态访问
public static NetWorkModel getInstance(){
if(mNetWorkModel == null){
//上锁
synchronized (NetWorkModel.class){
//实例化对象
mNetWorkModel = new NetWorkModel();
}
}
return mNetWorkModel;
}
public void neeeWooo(String path){
//创建client
OkHttpClient client = new OkHttpClient.Builder()
.readTimeout(10, TimeUnit.SECONDS)
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(10, TimeUnit.SECONDS)
.build();
//创建request
Request request = new Request.Builder()
.url(path)
.build();
//创建call
Call call = client.newCall(request);
call.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
//失败操作
mNetWorkModelInterface.failure(e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
//成功
String string = response.body().string();
mNetWorkModelInterface.success(string);
}
});
}
}
三、调用
NetWorkModel instance = NetWorkModel.getInstance();
instance.neeeWooo(path);
instance.setNetWorkModel(new NetWorkModelInterface() {
@Override
public void failure(Exception e) {
mNetWorkPrensenterInterface.failure(e);
}
@Override
public void success(String result) {
mNetWorkPrensenterInterface.success(result);
}
});