/** * */ package com.d3.d3xmpp.activites; import org.jivesoftware.smack.packet.IQ; import org.jivesoftware.smackx.packet.VCard; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.TextView; import com.d3.d3xmpp.R; import com.d3.d3xmpp.constant.Constants; import com.d3.d3xmpp.d3View.D3View; import com.d3.d3xmpp.model.User; import com.d3.d3xmpp.util.MyAndroidUtil; import com.d3.d3xmpp.util.Tool; import com.d3.d3xmpp.util.Util; import com.d3.d3xmpp.util.XmppLoadThread; import com.d3.d3xmpp.xmpp.XmppConnection; /** * @author MZH * */ public class RegActivity extends BaseActivity { @D3View TextView nameText,pwdText,pwdText1,emailText;//,emailText,phoneText @D3View(click="onClick") Button registBtn; String name,pwd; @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.layout.acti_register); initTitle(); } public void onClick(View v) { switch (v.getId()) { case R.id.registBtn: name = nameText.getText().toString(); pwd = pwdText.getText().toString(); String againPwd = pwdText1.getText().toString(); if (TextUtils.isEmpty(name)) { Tool.initToast(RegActivity.this, getString(R.string.register_name)); } else if (TextUtils.isEmpty(pwd)) { Tool.initToast(RegActivity.this, getString(R.string.register_password)); } else if (TextUtils.isEmpty(againPwd)) { Tool.initToast(RegActivity.this, getString(R.string.register_again_password)); } else if (!againPwd.equals(pwd)) { Tool.initToast(RegActivity.this, getString(R.string.register_password_defferent)); } else if (emailText.equals("") || !Util.getInstance().isEmail(emailText.getText().toString())) { Tool.initToast(RegActivity.this, getString(R.string.register_email_error)); } else { createAccount(name, pwd); } break; default: break; } } private void createAccount(final String userName, final String passWord) { new XmppLoadThread(this) { @Override protected Object load() { IQ result = null; try { result = XmppConnection.getInstance().regist(userName, passWord); if (result!=null && result.getType() == IQ.Type.RESULT) { XmppConnection.getInstance().closeConnection(); //������Ϣ Constants.loginUser = new User(); Constants.loginUser.username = name; VCard vcard = new VCard(); vcard.setField("email", emailText.getText().toString()); XmppConnection.getInstance().login(name, pwd); Constants.loginUser = new User(XmppConnection.getInstance().getUserInfo(null)); Constants.loginUser.email = emailText.getText().toString(); XmppConnection.getInstance().changeVcard(vcard); } } catch (Exception e) { e.printStackTrace(); } return result; } @Override protected void result(Object object) { IQ result = (IQ) object; if (result == null) { Tool.initToast(getApplicationContext(), getString(R.string.service_result)); } else if (result.getType() == IQ.Type.ERROR) { if (result.getError().toString().equalsIgnoreCase("conflict(409)")) { Tool.initToast(getApplicationContext(), getString(R.string.accounted)); } else { Tool.initToast(getApplicationContext(), getString(R.string.register_fail)); } } else if (result.getType() == IQ.Type.RESULT) { Tool.initToast(getApplicationContext(), getString(R.string.register_success)); Constants.USER_NAME = name; Constants.PWD = pwd; MyAndroidUtil.editXmlByString(Constants.LOGIN_ACCOUNT, name); MyAndroidUtil.editXmlByString(Constants.LOGIN_PWD, pwd); MyAndroidUtil.editXml(Constants.LOGIN_CHECK, true); Intent intent = new Intent(RegActivity.this, MainActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); finish(); } } }; } }