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(); } }