package com.jiuqi.njt.register; import com.jiuqi.mobile.nigo.comeclose.bean.base.UserBean; import com.jiuqi.mobile.nigo.comeclose.exception.LoginException; import com.jiuqi.mobile.nigo.comeclose.manager.base.IValidationManager; import com.jiuqi.mobile.nigo.comeclose.ws.client.ClientContext; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.RepairUtils; import android.app.Dialog; import android.content.Context; import android.os.AsyncTask; /** * 判断账号是否存在。修正登录注册流程使用 * * @author joe * */ public class VerificationAccountTask extends AsyncTask<Void, Void, UserBean> { private Context context; private String account; private GetVerificationUser getVerificationUser; private MyApp application; private Dialog pd; /** * 将验证后的用户信息返回接口 * @author joe * */ public interface GetVerificationUser { public void getUserBean(UserBean result); } /** * 判断账号是否存在 * @param context * @param account * 账号 * @param getVerificationUser * 返回验证结果的接口 */ public VerificationAccountTask(Context context, String account, GetVerificationUser getVerificationUser) { super(); this.context = context; this.account = account; this.getVerificationUser = getVerificationUser; application = (MyApp) context.getApplicationContext(); } @Override protected void onPreExecute() { // TODO Auto-generated method stub pd = RepairUtils.myShowDialog(context, 3); super.onPreExecute(); } @Override protected UserBean doInBackground(Void... params) { // TODO Auto-generated method stub ClientContext context; try { context = application.getClientContext(); if (null == context) { context = ClientContext.getClientContext(Constants.SERVER_URL, Constants.ANONYMOUS, Constants.ANONYMOUS); application.setClientContext(context); } IValidationManager manager = context .getManager(IValidationManager.class); return manager.accountIsOrNotExist(account); } catch (LoginException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return null; } @Override protected void onPostExecute(UserBean result) { // TODO Auto-generated method stub super.onPostExecute(result); RepairUtils.myRemoveDialog(pd); getVerificationUser.getUserBean(result); } }