实例代码:
(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 } }