1.创建回调类
public abstract class CallBackResult<T> {
public abstract void onSuccess(T t);
public abstract void onError();
}
2.创建网络请求方法
public class HttpUtil {
private void load(String s, String s1, CallBackResult<String> callBack) {
// TODO
// 提交参数获取网络请求结果
// TODO 获取结果成功回调
if (true) {
callBack.onSuccess("this is result");
} else {
callBack.onError();
}
}
}
3.请求网络,处理结果
public class NetRequest {
private void requestHttp() {
HttpUtil httpUtil = new HttpUtil();
httpUtil.load("1", "2", new CallBackResult<String>() {
@Override
public void onSuccess(String s) {
}
@Override
public void onError() {
}
});
}
}
另一种写法
1.回调类
`public class CallBackResult {
//返回不同数量的结果
public static abstract class OnResult{
public void onSuccess(T t){
}
public void onError(){
}
}
public static abstract class TwoResult<T,R>{
public void onSuccess(T t){
}
public void onError(R r){
}
}
}
`
2.请求方法
public class Servicess {
public static void fetchData(int data,CallBackResult.OnResult<String> callback){
if(true){
String result=null;
callback.onSuccess(result);
}else{
callback.onError();
}
}
}
3.调用
Servicess.fetchData(1, new CallBackResult.OnResult<String>() {
@Override
public void onSuccess(String s) {
super.onSuccess(s);
}
@Override
public void onError() {
super.onError();
}
});