七、RegisterActivity 注册类
·
1、初始化控件
initControls()
2、初始化载入中界面
initLoginingDlg()
3、点击事件
onClick()
4、编辑框文本输入
PutInData()
5、显示载入中界面
private void showLoginingDlg()
private void closeLoginingDlg()
private void initLoginingDlg()
public class RegisterActivity extends Activity implements View.OnClickListener{
private EditText re_accountEdit;
private EditText re_passwordEdit;
private EditText re_nameEdit;
private EditText re_phoneEdit;
private EditText re_mailEdit;
private Button registerButton;
private String mAccount;
private String mPassword;
private String mName;
private String mPhone;
private String mMail;
private Dialog mLoginingDlg; // 显示正在注册的Dialog
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_register);
initControls();
initLoginingDlg();
}
private void initControls() {
re_accountEdit=(EditText)findViewById(R.id.register_account_et);
re_passwordEdit=(EditText)findViewById(R.id.register_password_et);
re_nameEdit=(EditText)findViewById(R.id.register_name_et);
re_phoneEdit=(EditText)findViewById(R.id.register_phone_et);
re_mailEdit=(EditText)findViewById(R.id.register_mail_et);
registerButton=(Button)findViewById(R.id.register_btn);
registerButton.setOnClickListener(this);
}
@Override
public void onClick(View v) {
int id=v.getId();
switch (id) {
case R.id.register_btn:
PutInData();
if(mAccount == null || mAccount.equals("")){
Toast.makeText(this,"请填写用户名",Toast.LENGTH_SHORT).show();
Log.i("register", "xx");
}
else if(mPassword == null || mPassword.equals("")){
Toast.makeText(this,"请填写密码",Toast.LENGTH_SHORT).show();
}
else if(mName == null || mName.equals("")){
Toast.makeText(this,"请填写昵称",Toast.LENGTH_SHORT).show();
}
else if(mPhone == null || mPhone.equals("")){
Toast.makeText(this,"请填写电话",Toast.LENGTH_SHORT).show();
}
else if(mMail == null || mMail.equals("")){
Toast.makeText(this,"请填写邮箱",Toast.LENGTH_SHORT).show();
}else {
VolleyIO.JsonGet(Constant.Url_isAccountExist+"account="+mAccount,
new VolleyInterface(RegisterActivity.this, VolleyInterface.mListener, VolleyInterface.mErrorListener) {
@Override
public void onMySuccess(JSONObject result) {
if (result.optString("errorName").equals("0")){
Toast.makeText(RegisterActivity.this, "用户名存在", Toast.LENGTH_SHORT).show();
Log.i("register", "Exist0");
return;
}
else if (result.optString("errorName").equals("1")) {
showLoginingDlg();
VolleyIO.JSonPost(Constant.RegisterUrl, mAccount, mPassword, mName, mPhone, mMail,
new VolleyInterface(RegisterActivity.this, VolleyInterface.mListener, VolleyInterface.mErrorListener) {
@Override
public void onMySuccess(JSONObject result) {
if (result.optString("errorName").equals("0")){
Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_LONG).show();
Log.i("register", "register");
closeLoginingDlg();
}
}
@Override
public void onMyError(VolleyError error) {
Toast.makeText(RegisterActivity.this, "注册失败", Toast.LENGTH_LONG).show();
closeLoginingDlg();
}
});
}
}
@Override
public void onMyError(VolleyError error) {
Toast.makeText(RegisterActivity.this, "注册失败", Toast.LENGTH_SHORT).show();
closeLoginingDlg();
}
});
}
break;
}
}
public void PutInData(){
mAccount=re_accountEdit.getText().toString();
mPassword=re_passwordEdit.getText().toString();
mName=re_nameEdit.getText().toString();
mPhone=re_phoneEdit.getText().toString();
mMail=re_mailEdit.getText().toString();
}
/**
*
*
* 初始化正在登录对话框
*
* */
private void initLoginingDlg() {
mLoginingDlg = new Dialog(this, R.style.loginingDlg);
mLoginingDlg.setContentView(R.layout.logining_dlg);
Window window = mLoginingDlg.getWindow();
WindowManager.LayoutParams params = window.getAttributes();
// 获取和mmLoginingDlg关联的当前窗口的属性,从而设置它在屏幕中显示的位置
// 获取屏幕的高宽
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int cxScreen = dm.widthPixels;
int cyScreen = dm.heightPixels;
int height = (int) getResources().getDimension(
R.dimen.loginingdlg_height);// 高42dp
int lrMargin = (int) getResources().getDimension(
R.dimen.loginingdlg_lr_margin); // 左右边沿10dp
int topMargin = (int) getResources().getDimension(
R.dimen.loginingdlg_top_margin); // 上沿20dp
params.y = (-(cyScreen - height) / 2) + topMargin; // -199
/* 对话框默认位置在屏幕中心,所以x,y表示此控件到"屏幕中心"的偏移量 */
params.width = cxScreen;
params.height = height;
// width,height表示mLoginingDlg的实际大小
mLoginingDlg.setCanceledOnTouchOutside(true); // 设置点击Dialog外部任意区域关闭Dialog
}
/**
* 显示正在登录对话框 */
private void showLoginingDlg() {
if (mLoginingDlg != null)
mLoginingDlg.show();
}
/**
* 关闭正在登录对话框 */
private void closeLoginingDlg() {
if (mLoginingDlg != null && mLoginingDlg.isShowing())
mLoginingDlg.dismiss();
}
}
UI界面
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login2">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="55dp"
>
<TextView
android:id="@+id/register_account_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="55dp"
android:text="@string/user_account"
android:textSize="16sp"
android:textColor="@color/white"
android:layout_marginLeft="8dp" />
<EditText
android:id="@+id/register_account_et"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="55dp"
android:layout_toRightOf="@id/register_account_tv"
android:inputType="text"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
>
<TextView
android:id="@+id/register_password_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/user_password"
android:textSize="16sp"
android:textColor="@color/white"
android:layout_marginLeft="8dp" />
<EditText
android:id="@+id/register_password_et"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/register_password_tv"
android:inputType="text"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
>
<TextView
android:id="@+id/register_name_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/user_name"
android:textSize="16sp"
android:textColor="@color/white"
android:layout_marginLeft="8dp" />
<EditText
android:id="@+id/register_name_et"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/register_name_tv"
android:inputType="text"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
>
<TextView
android:id="@+id/register_phone_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/user_phone"
android:textSize="16sp"
android:textColor="@color/white"
android:layout_marginLeft="8dp" />
<EditText
android:id="@+id/register_phone_et"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/register_phone_tv"
android:inputType="text"
/>
</RelativeLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
>
<TextView
android:id="@+id/register_mail_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:text="@string/user_mail"
android:textSize="16sp"
android:textColor="@color/white"
android:layout_marginLeft="8dp" />
<EditText
android:id="@+id/register_mail_et"
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_marginTop="5dp"
android:layout_toRightOf="@id/register_mail_tv"
android:inputType="text"
/> m,
</RelativeLayout>
<Button
android:id="@+id/register_btn"
android:layout_width="fill_parent"
android:layout_margin="20dp"
android:layout_height="40dp"
android:layout_marginTop="30dp"
android:background="@color/thistle"
android:textColor="@color/black"
android:gravity="center"
android:text="注册" />
</LinearLayout>