package com.sxit.dreamiya.webservice; import org.ksoap2.serialization.SoapObject; import com.sxit.dreamiya.utils.Utils; import android.os.AsyncTask; /** * 异步请求类 Base * * @author huanyu 类名称:AsyncTaskBase 创建时间:2014-11-4 下午7:15:11 */ public class AsyncTaskBase { public String[] property_nm;// key public Object[] property_va;// value public String method; public SoapObjectResult soapResult; /** * 异步请求类 * @author huanyu * 类名称:AsyncTaskCom * 创建时间:2014-11-4 下午8:08:01 */ class AsyncTaskCom extends AsyncTask<Object, Object, SoapObject> { @Override protected void onPreExecute() { super.onPreExecute(); } @Override protected SoapObject doInBackground(Object... params) { Object res_obj = SoapWebService.data(method, property_nm, property_va); if (null != res_obj) { SoapObject so = (SoapObject) res_obj; return so; } else { return null; } } @Override protected void onPostExecute(SoapObject result) { Utils.removeProgressDialog(); if (result == null) { soapResult.soapError(); } else { soapResult.soapResult(result); } super.onPostExecute(result); } } /** * this execute */ public void executeDo(SoapObjectResult soapResult) { this.soapResult = soapResult; new AsyncTaskCom().execute(); } public void setProperty_nm(String[] property_nm) { this.property_nm = property_nm; } public void setProperty_va(Object[] property_va) { this.property_va = property_va; } public void setMethod(String method) { this.method = method; } public void setSoapResult(SoapObjectResult soapResult) { this.soapResult = soapResult; } /** * soap回调接口 * * @author huanyu 类名称:SoapObjectResult 创建时间:2014-11-4 下午7:39:05 */ public interface SoapObjectResult { void soapResult(SoapObject obj); void soapError(); } }