Android简单的用户信息注册界面

一、运行测试效果

二、基本组件和原理

2、原理:输入用户名、密码、邮箱、昵称可以点击旁边的button来判断可用性(程序中假设均可用,显示正确符号),在用户输入的所有信息都不为空时,,点击button执行注册验证,启动动画,在新线程中模拟从远程验证用户信息的方法(程序中sleep(2000)假设验证失败),刷新界面组件。

三、我的理解和思考全在代码中…

package com.ui;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.RadioGroup;import android.widget.Toast;import android.widget.ViewSwitcher;import com.example.appmainui.R;import com.widget.BaseActivity;/** * @name 用户注册页面 * @descripation 输入用户信息,验证信息正确性,信息入库 * @author 樊俊彬 * @date 2014-6-9 * @version 1.0 */public class RegistryUserInfoActivity extends BaseActivity {private EditText registInputUserName;private EditText registInputPassword;private EditText registInputEmail;private EditText registInputNickName;private RadioGroup registInputSex;private EditText registInputAge;private EditText registInputPhone;private Button registButtonCheckUserName;private Button registButtonCheckPassword;private Button registButtonCheckEmail;private Button registButtonCheckNickName;private Button registButtonRegister;private ViewSwitcher registViewSwitcher;private View registView;private AnimationDrawable registAnimation;private boolean isRegistSuccess = false;protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.regist_user_info);initUI();}/** * 初始化界面组件 */private void initUI() {// 用户输入的信息registInputUserName = (EditText) findViewById(R.id.registInputUserName);registInputPassword = (EditText) findViewById(R.id.registInputPassword);registInputEmail = (EditText) findViewById(R.id.registInputEmail);registInputNickName = (EditText) findViewById(R.id.registInputNickName);registInputSex = (RadioGroup) findViewById(R.id.registInputSex);registInputAge = (EditText) findViewById(R.id.registInputAge);registInputPhone = (EditText) findViewById(R.id.registInputPhone);registViewSwitcher = (ViewSwitcher) findViewById(R.id.registViewSwitcher);registView = (View) findViewById(R.id.registViewLoading);// 检测用户名可用性按钮registButtonCheckUserName = (Button) findViewById(R.id.registButtonCheckUserName);registButtonCheckUserName.setOnClickListener(checkAvailabilityListener(registButtonCheckUserName, registInputUserName));// 检测密码可用性按钮registButtonCheckPassword = (Button) findViewById(R.id.registButtonCheckPassword);registButtonCheckPassword.setOnClickListener(checkAvailabilityListener(registButtonCheckPassword, registInputPassword));// 检测Email可用性registButtonCheckEmail = (Button) findViewById(R.id.registButtonCheckEmail);registButtonCheckEmail.setOnClickListener(checkAvailabilityListener(registButtonCheckEmail, registInputEmail));// 检测昵称可用性registButtonCheckNickName = (Button) findViewById(R.id.registButtonCheckNickName);registButtonCheckNickName.setOnClickListener(checkAvailabilityListener(registButtonCheckNickName, registInputNickName));// 注册用户信息registButtonRegister = (Button) findViewById(R.id.registButtonRegister);registButtonRegister.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {String inputUserName = registInputUserName.getText().toString();String inputPassword = registInputPassword.getText().toString();String inputEmail = registInputEmail.getText().toString();String inputNickName = registInputNickName.getText().toString();String inputSex = "";String inputAge = registInputAge.getText().toString();String inputPhone = registInputPhone.getText().toString();// 开启动画,执行注册验证registAnimation = (AnimationDrawable) registView.getBackground();registAnimation.start();registViewSwitcher.showNext();registUserInfo(inputUserName, inputPassword, inputEmail, inputNickName, inputSex, inputAge, inputPhone);}});}/** * 检测可用性按钮事件监听器 * * @param button * @param editText * @return */public View.OnClickListener checkAvailabilityListener(final Button button,final EditText editText) {return new OnClickListener() {@Overridepublic void onClick(View arg0) {// 输入不能为空if (editText.getText().toString().equals("")) {button.setBackgroundResource(R.drawable.icon_cool_false);} else {button.setBackgroundResource(R.drawable.icon_cool_true);}}};}/** * 启动新线程,注册验证用户输入的信息 * * @param inputUserName * @param inputPassword * @param Email * @param NickName * @param Sex * @param Age * @param Phone */protected void registUserInfo(String inputUserName, String inputPassword,String inputEmail, String inputNickName, String inputSex, String inputAge, String inputPhone) {// 刷新界面final Handler handler = new Handler() {public void handleMessage(Message msg) {// 注册成功if (msg.what == 1) {Toast.makeText(RegistryUserInfoActivity.this, "注册成功",Toast.LENGTH_SHORT).show();finish();}// 注册失败if (msg.what == 0) {Toast.makeText(RegistryUserInfoActivity.this, "注册失败",Toast.LENGTH_SHORT).show();registViewSwitcher.showPrevious();}}};// 登陆验证线程new Thread() {@Overridepublic void run() {super.run();Message msg = new Message();try {// 验证输入的信息sleep(2000);isRegistSuccess = false;if (isRegistSuccess) {// 验证成功msg.what = 1;} else {// 验证失败msg.what = 0;}} catch (InterruptedException e) {e.printStackTrace();msg.what = -1;msg.obj = e;}handler.sendMessage(msg);}}.start();}}<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=""android:layout_width="fill_parent"android:layout_height="fill_parent"android:orientation="vertical" ><RelativeLayoutandroid:layout_width="fill_parent"android:layout_height="50dip"android:background="@drawable/head_bg_registry"android:orientation="vertical" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"android:text="用户注册"android:textColor="@color/white"android:textSize="@dimen/text_size_23" /></RelativeLayout><!– 信息输入框 –><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="10.0dip"android:layout_marginRight="10.0dip"android:layout_marginTop="20.0dip"android:background="@drawable/shape_bg_regist_user_info"android:orientation="vertical" ><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50.0dip"android:gravity="center_vertical"android:orientation="horizontal" ><TextViewstyle="@style/regist_user_info_text_view"android:text="用户名:" /><EditTextandroid:id="@+id/registInputUserName"style="@style/regist_user_info_input"android:hint="字母/数字/符号的任意组合" /><Buttonandroid:id="@+id/registButtonCheckUserName"android:layout_width="20dip"android:layout_height="20dip"android:layout_marginRight="10dip"android:background="@drawable/icon_cool_check" /></LinearLayout><View style="@style/regist_user_info_cutline_view" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50.0dip"android:gravity="center_vertical"android:orientation="horizontal" ><TextViewstyle="@style/regist_user_info_text_view"android:text="密 码:" /><EditTextandroid:id="@+id/registInputPassword"style="@style/regist_user_info_input"android:hint="密码长度不超过16位"android:password="true" /><Buttonandroid:id="@+id/registButtonCheckPassword"android:layout_width="20dip"android:layout_height="20dip"android:layout_marginRight="10dip"android:background="@drawable/icon_cool_check" /></LinearLayout><View style="@style/regist_user_info_cutline_view" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50.0dip"android:gravity="center_vertical"android:orientation="horizontal" ><TextViewstyle="@style/regist_user_info_text_view"android:text="邮箱号:" /><EditTextandroid:id="@+id/registInputEmail"style="@style/regist_user_info_input"android:hint="也可作登陆用户名使用" /><Buttonandroid:id="@+id/registButtonCheckEmail"android:layout_width="20dip"android:layout_height="20dip"android:layout_marginRight="10dip"android:background="@drawable/icon_cool_check" /></LinearLayout><View style="@style/regist_user_info_cutline_view" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50.0dip"android:gravity="center_vertical"android:orientation="horizontal" ><TextViewstyle="@style/regist_user_info_text_view"android:text="昵 称:" /><EditTextandroid:id="@+id/registInputNickName"style="@style/regist_user_info_input"android:hint="个性点的好" /><Buttonandroid:id="@+id/registButtonCheckNickName"android:layout_width="20dip"android:layout_height="20dip"android:layout_marginRight="10dip"android:background="@drawable/icon_cool_check" /></LinearLayout><View style="@style/regist_user_info_cutline_view" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50.0dip"android:gravity="center_vertical"android:orientation="horizontal" ><TextViewstyle="@style/regist_user_info_text_view"android:text="性 别:" /><RadioGroupandroid:id="@+id/registInputSex"android:layout_width="wrap_content"android:layout_height="30dp"android:layout_marginLeft="10.0dip"android:layout_marginRight="15.0dip"android:background="@android:color/white"android:orientation="horizontal" ><RadioButtonandroid:id="@+id/reg_boy"android:layout_width="wrap_content"android:layout_height="wrap_content"android:checked="true"android:text="帅男"android:textColor="@android:color/black"android:textSize="18.0sp" /><RadioButtonandroid:id="@+id/reg_girl"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_marginLeft="60.0dip"android:checked="false"android:text="美女"android:textColor="@android:color/black"android:textSize="18.0sp" /></RadioGroup></LinearLayout><View style="@style/regist_user_info_cutline_view" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50.0dip"android:gravity="center_vertical"android:orientation="horizontal" ><TextViewstyle="@style/regist_user_info_text_view"android:text="年 龄:" /><EditTextandroid:id="@+id/registInputAge"style="@style/regist_user_info_input"android:hint="点击输入数字"android:phoneNumber="true" /></LinearLayout><View style="@style/regist_user_info_cutline_view" /><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="50.0dip"android:gravity="center_vertical"android:orientation="horizontal" ><TextViewstyle="@style/regist_user_info_text_view"android:text="手机号:" /><EditTextandroid:id="@+id/registInputPhone"style="@style/regist_user_info_input"android:hint="方便与您联系"android:phoneNumber="true" /></LinearLayout><View style="@style/regist_user_info_cutline_view" /></LinearLayout><!– 提示文本 –><LinearLayoutandroid:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="20.0dip"android:layout_marginRight="20.0dip"android:layout_marginTop="10.0dip"android:gravity="left"android:orientation="horizontal" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/register_tip"android:textColor="@color/black"android:textSize="@dimen/text_size_12" /></LinearLayout><ViewSwitcherandroid:id="@+id/registViewSwitcher"android:layout_width="fill_parent"android:layout_height="wrap_content" ><!– 注册按钮 –><Buttonandroid:id="@+id/registButtonRegister"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_marginLeft="30.0dip"android:layout_marginRight="30.0dip"android:layout_marginTop="20.0dip"android:background="@drawable/btn_bg_regist_user_info"android:text="注册"android:textColor="#ff000000"android:textSize="@dimen/text_size_21" /><Viewandroid:id="@+id/registViewLoading"android:layout_width="120.0dip"android:layout_height="120.0dip"android:layout_gravity="center"android:background="@anim/login_loading" /></ViewSwitcher></LinearLayout>

在人生的道路上,谁都会遇到困难和挫折,

Android简单的用户信息注册界面

相关文章:

你感兴趣的文章:

标签云: