標籤:android 回調介面
執行個體代碼:
(new OnHttpListener() {@Overridepublic void onStart() {// TODO Auto-generated method stubsuper.onStart();}@Overridepublic void onProgress(int mProgress, String message) {// TODO Auto-generated method stubsuper.onProgress(mProgress, message);}@Overridepublic void onSuccess(boolean status, int resultCode, String message,String data) {// TODO Auto-generated method stub}@Overridepublic void onFail(Exception e, String message) {// TODO Auto-generated method stub}@Overridepublic void onFinish() {// TODO Auto-generated method stubsuper.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);@Overridepublic void onStart() {// TODO Auto-generated method stub}@Overridepublic void onFinish() {// TODO Auto-generated method stub}
Htt請求:
/** * HTTP訪問進度控制 * @author LanYan * */public abstract class OnHttpListener extends OnProgressListener{@Overridepublic 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() {/*@Overridepublic void onStart() {// TODO Auto-generated method stubsuper.onStart();}*/@Overridepublic void onSuccess(boolean status, int resultCode, String message,String data) {// TODO Auto-generated method stub}@Overridepublic void onFail(Exception e, String message) {// TODO Auto-generated method stub}/*@Overridepublic void onFinish() {// TODO Auto-generated method stubsuper.onFinish();}*/});}public static void getHttpData(String type,String url,NameValuePair parmas,OnHttpListener listener){}public enum HttpType{get,post,defult}}
Android 介面的回呼函數