package com.kaixin.android.activity; import org.json.JSONException; import org.json.JSONObject; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.easemob.chat.EMChatManager; import com.kaixin.android.KXActivity; import com.kaixin.android.R; import com.kaixin.android.utils.CallService; import com.kaixin.android.utils.Encrypter; import com.kaixin.android.utils.MessageUtil; import com.kaixin.android.utils.StorageUtil; import com.kaixin.android.utils.StringUtil; /** * 注册界面 * * @author gyz * */ public class RegActivity extends KXActivity { /** * 注册按钮 */ private Button mRegister; private EditText metAccount; private EditText metNick; private EditText metPassword; // private NewMessageBroadcastReceiver msgReceiver; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.register_activity); findViewById(); setListener(); } /** * 绑定界面UI */ private void findViewById() { mRegister = (Button) findViewById(R.id.register_activity_register); metAccount = (EditText) findViewById(R.id.etAccount); metNick = (EditText) findViewById(R.id.etNick); metPassword = (EditText) findViewById(R.id.etPassword); } /** * UI事件监听 */ private void setListener() { // 登录按钮监听 mRegister.setOnClickListener(new OnClickListener() { public void onClick(View v) { if(StringUtil.isNull(metAccount.getText().toString()) || StringUtil.isNull(metPassword.getText().toString())){ MessageUtil.showMsg(RegActivity.this, "账号或者密码不能为空!"); return; } reg(); } }); } public void reg() { try { //调用sdk注册方法 // EMChatManager.getInstance().createAccountOnServer(metAccount.getText().toString().trim(), Encrypter.md5(metPassword.getText().toString().trim())); } catch (final Exception e) { runOnUiThread(new Runnable() { public void run() { if(e!=null&&e.getMessage()!=null) { String errorMsg=e.getMessage(); if(errorMsg.indexOf("EMNetworkUnconnectedException")!=-1) { Toast.makeText(getApplicationContext(), "网络异常,请检查网络!", 0).show(); }else if(errorMsg.indexOf("conflict")!=-1) { Toast.makeText(getApplicationContext(), "用户已存在!", 0).show(); }else{ Toast.makeText(getApplicationContext(), "注册失败: " + e.getMessage(), 1).show(); } }else{ Toast.makeText(getApplicationContext(), "注册失败: 未知异常", 1).show(); } } }); } String result = CallService.register(metAccount.getText().toString().toLowerCase(), Encrypter.md5(metPassword.getText() .toString()), metNick.getText().toString(), "", "0"); try { JSONObject json = new JSONObject(result); if(json.getBoolean("success")){ Toast.makeText(RegActivity.this, "注册成功!", 1).show(); StorageUtil.saveString(RegActivity.this, "username", metAccount.getText() .toString().toLowerCase()); StorageUtil.saveString(RegActivity.this, "nickname", metNick.getText().toString()); StorageUtil.saveString(RegActivity.this, "password", metPassword.getText() .toString()); Intent intent = new Intent(RegActivity.this, LoginActivity.class); startActivity(intent); finish(); }else{ Toast.makeText(RegActivity.this, "注册失败!"+ json.getString("data"), 1).show(); } } catch (JSONException e) { // TODO Auto-generated catch block e.printStackTrace(); } } public void onBackPressed() { finish(); } }