如何在android中的web服务中获取android asyanc任务的进度更新?
首先,在这个web服务中没有文件或图像上传或下载,只需注册web服务,在调用此API时,我想显示更新的进度?如何做到这一点?我使用以下代码:如何在android中的web服务中获取android asyanc任务的进度更新?,android,android-asynctask,progressdialog,Android,Android Asynctask,Progressdialog,首先,在这个web服务中没有文件或图像上传或下载,只需注册web服务,在调用此API时,我想显示更新的进度?如何做到这一点?我使用以下代码: private class DetectLocation extends AsyncTask<String, String, String> { private JSONObject response, jPostObject; private String status, data; priv
private class DetectLocation extends AsyncTask<String, String, String> {
private JSONObject response, jPostObject;
private String status, data;
private ImageView iv1, iv2, iv3,ivAnim1, ivAnim2, ivAnim3;
public DetectLocation(ImageView iv1, ImageView iv2, ImageView iv3,
JSONObject obj,ImageView ivAnim1, ImageView ivAnim2, ImageView ivAnim3) {
this.jPostObject = obj;
this.iv1 = iv1;
this.iv2 = iv2;
this.iv3 = iv3;
this.ivAnim1 = ivAnim1;
this.ivAnim2 = ivAnim2;
this.ivAnim3 = ivAnim3;
}
@Override
protected void onProgressUpdate(String... values) {
super.onProgressUpdate(values);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... args) {
try {
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("data", jPostObject
.toString()));
response = WebAPIRequest.makeJsonObjHttpRequest(
URLS.DETECT_LOCATION, "POST", params);
status = response.getString("status");
UTILS.Log_e(TAG, response.toString());
data = response.getString("data");
} catch (Exception e) {
UTILS.Log_e(TAG + "-Exception", "" + e);
}
return null;
}
@Override
protected void onPostExecute(String args) {
}
}
私有类检测位置扩展异步任务{
私有JSONObject响应,JPOSObject;
私有字符串状态、数据;
私有ImageView iv1、iv2、iv3、ivAnim1、ivAnim2、ivAnim3;
公共检测位置(ImageView iv1、ImageView iv2、ImageView iv3、,
JSONObject对象、ImageView ivAnim1、ImageView ivAnim2、ImageView ivAnim3){
this.jPostObject=obj;
这1.iv1=iv1;
this.iv2=iv2;
这1.iv3=iv3;
this.ivAnim1=ivAnim1;
this.ivAnim2=ivAnim2;
this.ivAnim3=ivAnim3;
}
@凌驾
受保护的void onProgressUpdate(字符串…值){
super.onProgressUpdate(值);
}
@凌驾
受保护的void onPreExecute(){
super.onPreExecute();
}
@凌驾
受保护的字符串doInBackground(字符串…args){
试一试{
List params=new ArrayList();
添加(新的BasicNameValuePair(“数据”),JPOSObject
.toString());
response=webapirest.makeJsonObjHttpRequest(
url.DETECT_位置,“POST”,参数);
status=response.getString(“status”);
UTILS.Log_e(标记,response.toString());
data=response.getString(“数据”);
}捕获(例外e){
UTILS.Log_e(TAG+“-Exception”,”+e);
}
返回null;
}
@凌驾
受保护的void onPostExecute(字符串参数){
}
}
这是您正在进行的更新
@Override
protected void onPreExecute() {
pd.setMessage("Please wait...");
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
pd.setCancelable(false);
pd.show();
}
@Override
protected void onProgressUpdate(Integer... progress) {
pd.setProgress((int) (progress[0]));
}