android 实现接口回调函数,Android 接口的回调函数

本文介绍了一种常见的代码模式,涉及抽象接口OnProcessListener、OnProgressListener和OnHttpListener,用于处理HTTP请求的开始、进度、成功、失败和结束回调。通过这种方式,开发者可以自定义处理HTTP请求过程中的不同阶段,特别是在处理文件下载或上传时的进度更新。OnHttpListener扩展了OnProgressListener,增加了请求失败和成功的回调方法。测试类展示了如何使用这些接口实现具体的HTTP请求监听。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实例代码:

(new OnHttpListener() {

@Override

public void onStart() {

// TODO Auto-generated method stub

super.onStart();

}

@Override

public void onProgress(int mProgress, String message) {

// TODO Auto-generated method stub

super.onProgress(mProgress, message);

}

@Override

public void onSuccess(boolean status, int resultCode, String message,

String data) {

// TODO Auto-generated method stub

}

@Override

public void onFail(Exception e, String message) {

// TODO Auto-generated method stub

}

@Override

public void onFinish() {

// TODO Auto-generated method stub

super.onFinish();

}

});

开发中经常遇到这类代码,看上去很神秘,onSuccess(),onFail 两个方法重载,其他方法需要就自己调用,其实很简单,不废话,直接上代码:

/**

* 流程控制开始和结束回调函数

* @author LanYan

*

*/

public abstract interface OnProcessListener extends BaseListener {

/**

* 开始任务

*/

void onStart();

/**

* 任务结束

*/

void onFinish();

}

进度控制:

/**

* 进度控制

* @author LanYan

*

*/

public abstract class OnProgressListener implements OnProcessListener{

/**

* 进度条的显示控制

* @param mProgress

* @param message

*/

public abstract void onProgress(int mProgress,String message);

@Override

public void onStart() {

// TODO Auto-generated method stub

}

@Override

public void onFinish() {

// TODO Auto-generated method stub

}

Htt请求:

/**

* HTTP访问进度控制

* @author LanYan

*

*/

public abstract class OnHttpListener extends OnProgressListener{

@Override

public void onProgress(int mProgress, String message) {

// TODO Auto-generated method stub

}

/**

* 请求失败回调函数,返回异常信息和状态码

* @param e

* @param message

*/

public abstract void onFail(Exception e,String message);

/**

* 请求成功回调函数,返回响应数据

* @param status

* @param message

* @param data

* @param resultCode

*/

public abstract void onSuccess(boolean status,int resultCode,String message,String data);

}

测试类:

public class Test {

public static void main(String[] args) {

getHttpData(HttpType.post, url, parmas, new OnHttpListener() {

/*@Override

public void onStart() {

// TODO Auto-generated method stub

super.onStart();

}*/

@Override

public void onSuccess(boolean status, int resultCode, String message,

String data) {

// TODO Auto-generated method stub

}

@Override

public void onFail(Exception e, String message) {

// TODO Auto-generated method stub

}

/*@Override

public void onFinish() {

// TODO Auto-generated method stub

super.onFinish();

}*/

});

}

public static void getHttpData(String type,String url,NameValuePair parmas,OnHttpListener listener){

}

public enum HttpType{

get,post,defult

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值