package com.android.yunshi.dialog;
import com.android.yunshi.util.WSError;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnCancelListener;
import android.os.AsyncTask;
import android.widget.Toast;
public abstract class LoadingDialog <Input,Result> extends AsyncTask<Input, WSError, Result>{
private ProgressDialog mProgressDialog;
protected Activity mActivity;
private int mLoadingMsg;
private int mFailMsg;
public LoadingDialog(Activity activity, int loadingMsg, int failMsg){
this.mActivity = activity;
this.mLoadingMsg = loadingMsg;
this.mFailMsg = failMsg;
}
@Override
protected abstract Result doInBackground(Input... params);
@Override
protected void onCancelled() {
failMsg();
super.onCancelled();
}
@Override
protected void onPreExecute() {
String title = "";
String message = mActivity.getString(mLoadingMsg);
mProgressDialog = ProgressDialog.show(mActivity, title, message, true, false, new OnCancelListener(){
public void onCancel(DialogInterface dialog) {
LoadingDialog.this.cancel(true);
}});
super.onPreExecute();
}
@Override
protected void onPostExecute(Result result) {
if(result != null){
doStuffWithResult(result);
} else {
failMsg();
}
mProgressDialog.dismiss();
super.onPostExecute(result);
}
@Override
protected void onProgressUpdate(WSError... values) {
mProgressDialog.dismiss();
Toast.makeText(mActivity, values[0].getMessage(), Toast.LENGTH_SHORT).show();
this.cancel(true);
super.onProgressUpdate(values);
}
public abstract void doStuffWithResult(Result result);
protected void failMsg(){
Toast.makeText(mActivity, mFailMsg, Toast.LENGTH_SHORT).show();
}
protected void failMsg(String otherString){
Toast.makeText(mActivity, otherString, Toast.LENGTH_SHORT).show();
}
public void doCancel()
{
mProgressDialog.dismiss();
}
}
package com.android.yunshi.dialog
import java.nio.MappedByteBuffer
import java.util.HashMap
import java.util.Map
import com.android.yunshi.YunShiLoginActivity
import com.android.yunshi.api.impl.YunshiGetApiImpl
import com.android.yunshi.fun.YunshiFunctions
import com.android.yunshi.util.ConstellationUtil
import com.android.yunshi.util.WSError
import android.app.Activity
import android.content.Intent
import android.content.SharedPreferences
import android.util.Log
import android.widget.Toast
public class RegisterDialog extends LoadingDialog<String[],Map<String, String>>{
private Intent mIntent
public RegisterDialog(Activity activity, int loadingMsg, int failMsg,Intent intent) {
super(activity, loadingMsg, failMsg)
mIntent = intent
}
@Override
protected Map<String, String> doInBackground(String[]... params) {
String string = null
Map<String, String> map=new HashMap<String, String>()
YunshiGetApiImpl server = new YunshiGetApiImpl()
String str[] = params[0]
try {
string = server.Register(mActivity, str[0], str[1], str[2], str[3], str[4], str[5], str[6],str[7], str[8], str[9], str[10], str[11], str[12], str[13])
YunshiFunctions fun=new YunshiFunctions()
if(string==null){
string="注册失败,请检查您的网络"
}
else {
map=fun.ResolveResultString(string,"Register")
}
} catch (WSError e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
return map
}
@Override
public void doStuffWithResult(Map<String, String> result) {
// mIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
// mActivity.startActivity(mIntent)
//mark==YunshiDDXF
if (result!=null&&!result.isEmpty()) {
if(result.get("Status").equals("1")){
Toast.makeText(mActivity, "注册成功,请登录", Toast.LENGTH_LONG).show()
Intent intent = new Intent(mActivity, YunShiLoginActivity.class)
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
intent.putExtra("UserName", result.get("S_Value"))
mActivity.startActivity(intent)
mActivity.finish()
}
else{
failMsg(result.get("S_Value"))
}
} else {
failMsg("注册失败,请检查您的网络")
}
}
}