这里的监听事件简单的粘贴一下...监听事件之所以传递控件..是为了更好的向用户进行展示...这里设置了一个进度条的方式,来贯穿整个请求——响应的过程...如果下载或者是上传的文件和资源过多...我们是必须通知用户相关进度的..总不能一直卡死在界面上..这样用户也无法知道到底是否完成了数据的上传或者是下载...
package com.example.andbasehttp;
import android.app.AlertDialog;
import android.content.Context;
import android.view.View;
import android.widget.TextView;
import com.ab.activity.AbActivity;
import com.ab.http.AbStringHttpResponseListener;
import com.ab.view.progress.AbHorizontalProgressBar;
public class FileSendResponseListener extends AbStringHttpResponseListener{
private int max=100;
private int progress=0;
private AbActivity activity;
private Context context;
private AlertDialog dialog;
private View view;
private TextView max_tv,num_tv;
private AbHorizontalProgressBar progressBar;
public FileSendResponseListener(AbActivity activity,Context context,View v,TextView v1,TextView v2, AbHorizontalProgressBar progressBar ){
this.activity=activity;
this.context=context;
this.view=v;
this.max_tv=v1;
this.num_tv=v2;
this.progressBar=progressBar;
}
@Override
public void onSuccess(int statusCode, String content){
activity.showToast("OnSuccess");
System.out.println(content);
}
@Override
public void onFailure(int statusCode, String content,Throwable error){
activity.showToast(error.toString());
}
@Override
public void onStart(){
max_tv.setText(progress+"/"+String.valueOf(max));
progressBar.setMax(max);
progressBar.setProgress(progress);
activity.showToast("正在下载");
dialog=activity.showDialog("正在下载", view);
}
@Override
public void onProgress(int bytesWritten, int totalSize){
max_tv.setText(bytesWritten/(totalSize/max)+"/"+max);
progressBar.setProgress(bytesWritten/(totalSize/max));
}
@Override
public void onFinish(){
dialog.cancel();
dialog=null;
}
}
涉及到的类为com.ab.http保内的所有类...
1.AbStringHttpResponseListener.java
2.AbBinaryHttpResponseListener.java
3.AbFileHttpResponseListener.java
这三个类是对AbHttpResponseListener.java的一个继承...继承了其内部的一些相关方法..包括请求开始,结束,失败等等函数...










