接口回调
来源:互联网 发布:无人快餐工厂 知乎 编辑:程序博客网 时间:2024/06/05 08:18
一、概述
又是一个高大上的名字,很装X,不过整体的思想结构还是不错的。总之,就是用规则逃避规则。
接口回调很大程序上是解决子线程不能返回数据的问题。假如有两个类MainActivity、HttpUtils,一个接口CallBack,接口回调是如下流程的:
1.MainActivity中执行一个HttpUtils中的一个方法:
HttpUtils.getData(path , new Callback(){ public void onSuccess(){ //do somtehing } public void onFail(){ //do something }});
2.执行方法时,去HttpUtils中调用方法(是子线程),方法实际上通过调用MainActivity中接口CallBack对象,返回结果。
二、涉及到的程序如下:
1.主线程中:
HttpUtils.getData(path , new MyCallback());
2.被调用的方法中
new Thread(){ @Override public void run() { try { URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setRequestMethod("GET"); conn.setConnectTimeout(3000); if(conn.getResponseCode() == 200){ //请求成功 InputStream is = conn.getInputStream(); String result = StreamTools.readStream(is); System.out.println("result==="+result); //成功之后,调用接口实现类中的成功方法 callback.onSuccess(result);// tv_result.setText(result); }else{ //请求失败 500 -- 404 -- 403 callback.onFaile("请求失败。。状态码之外."); } } catch (Exception e) { callback.onFaile("请求失败。。出现异常."); e.printStackTrace(); } }}.start();
3.接口中
/** * 声明一个公开的接口 */public interface ResponseCallBack { /** * 成功的时候调用的方法 * @param data 返回的数据 */ public void onSuccess(String data); /** * 失败之后调用的方法 * @param data */ public void onFaile(String data);}
0 0
- 接口,接口回调
- android 接口 接口回调
- 接口与接口回调
- 接口与实现:接口回调与接口多态
- Java 接口参数,接口回调.
- Fragment接口回调 三 使用接口
- 接口回调
- Java:接口回调
- 接口回调
- 什么是接口回调?
- 接口回调
- java 回调接口
- 接口回调
- 接口回调
- 回调接口
- java接口回调
- 什么是接口回调?
- 接口回调
- Android下自动折行 效果
- CF 554B Ohana Cleans Up
- iOS开发拓展篇- 即时通讯XMPP简单介绍
- 【NGUI】Unity中ScrollView3D滚动效果
- hadoop伪分布式搭建
- 接口回调
- iOS开发实用技巧篇—项目新特性页面的处理
- final方法、final变量、final类、final对象—Java
- OC字符串处理
- javascript字母数字校验
- 第1章 对象导论
- 日经春秋 20151022
- 四类程序分析
- MMDrawerController 抽屉式导航侧边栏第三方库