Android中使用接口实现回调函数功能
版权声明:
本文为博主原创文章,转载请声明原文链接...谢谢。o_0。
更新时间:
2018-04-12 19:34:49
温馨提示:
学无止境,技术类文章有它的时效性,请留意文章更新时间,如发现内容有误请留言指出,防止别人"踩坑",我会及时更新文章
android网络开发使用okhttp3库的过程中有异步操作,我们封装的时候肯定想加个回调功能来处理返回值。如下一个简单的异步get请求
定义回调接口
import java.io.IOException;
import okhttp3.Response;
/**
* Created by Keli on 18/4/12.
*/
public interface ICallBackResponse {
//执行回调操作的方法
void success(String str,Response response);
void fail(okhttp3.Call call, IOException e);
}异步get请求
public static void getRequestAsync(String url, final ICallBackResponse callback) {
try {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder().url(url).build();
client.newCall(request).enqueue(new okhttp3.Callback() {
@Override
public void onFailure(okhttp3.Call call, IOException e) {
callback.fail(call, e);
}
@Override
public void onResponse(okhttp3.Call call, okhttp3.Response response) throws IOException {
String str = response.body().string();
callback.success(str, response);
}
});
} catch (Exception e) {
e.printStackTrace();
}
}