- Android编程经典200例
- 楚无咎编著
- 1362字
- 2020-08-28 23:38:58
实例10 简单的本地验证
【实例描述】
在本小节中介绍简单的登录界面——EditText编辑框的应用,在该界面中,若输入正确的用户名和密码,单击“确定”按钮,将出现一个Toast提示“恭喜您登录成功!”,否则将提示“请输入正确的用户名或密码!”。单击“清空”按钮,则会清空所填写的姓名和密码内容。
本实例的运行效果图,如图2-10所示。
提示:在该界面中,实现了对用户名和密码的验证功能,如图2-10所示。
【实现过程】
本程序的开发主要运用了EditText编辑框的相关知识。EditText编辑框中可以输入内容,当用户名和密码正确的时候,单击“确定”按钮就会弹出Toast提示“恭喜您登录成功!”,否则将提示“请输入正确的用户名或密码!”。单击“清空”按钮,则会清空所填写的姓名和密码
在本小节中通过对EdiText编辑框的应用,构建了一个简单的登录界面——EditText编辑框。并通过本程序的实现,来为读者介绍EditText编辑框的具体应用。内容。
在该界面开发中,还用到了TextView文本框控件、单行EditText控件与Button按钮控件。
图2-10 EditText编辑框
【代码解析】
首先为读者介绍本程序的主界面main.xml的开发,代码如下。
代码位置:见随书光盘中源代码/第2章/Sample2_10/ res/layout目录下的main.xml。
1 <?xml version="1.0" encoding="utf-8"?> <!--版本号和编码方式--> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" 4 android:layout_width="fill_parent" 5 android:layout_height="fill_parent" 6 > <!--LinearLayout--> 7 <LinearLayout 8 android:orientation="vertical" 9 android:layout_width="fill_parent" 10 android:layout_height="wrap_content" 11 android:background="#ffcc66" 12 android:paddingLeft="5dip" 13 android:paddingRight="5dip" 14 android:paddingTop="5dip"> 15 <LinearLayout 16 android:id="@+id/LinearLayout01" 17 android:orientation="horizontal" 18 android:layout_width="fill_parent" 19 android:layout_height="fill_parent"> <!--LinearLayout--> 20 <TextView 21 android:text="用户名:" 22 android:id="@+id/TextView02" 23 android:textColor="#222222" 24 android:layout_width="wrap_content" 25 android:layout_height="40dip" 26 android:layout_marginLeft="5dip" 27 android:textSize="18dip" 28 android:gravity="center_vertical"> 29 </TextView> <!--TextView控件--> 30 <EditText 31 android:id="@+id/EditTextuid" 32 android:singleLine="true" 33 android:layout_width="fill_parent" 34 android:layout_height="wrap_content" 35 android:layout_marginLeft="0dip" 36 android:text="e1001"> <!--设置文本--> 37 </EditText> 38 </LinearLayout> <!--LinearLayout--> 39 <LinearLayout 40 android:id="@+id/LinearLayout02" 41 android:orientation="horizontal" 42 android:layout_width="fill_parent" 43 android:layout_height="wrap_content"> <!--纵向自适应大小--> 44 <TextView 45 android:text="密 码:" 46 android:id="@+id/TextView03" 47 android:textColor="#222222" 48 android:layout_width="wrap_content" 49 android:layout_height="40dip" 50 android:layout_marginLeft="5dip" 51 android:textSize="18dip" 52 android:gravity="center_vertical"><!--设置位置--> 53 </TextView> <!--TextView控件--> 54 <EditText 55 android:id="@+id/EditTextPwd" 56 android:singleLine="true" 57 android:layout_width="fill_parent" 58 android:layout_height="wrap_content" 59 android:text="123456"> <!--设置文本--> 60 </EditText> 61 </LinearLayout> 62 <LinearLayout 63 android:id="@+id/LinearLayout03" 64 android:orientation="horizontal" 65 android:layout_width="wrap_content" 66 android:layout_height="wrap_content"> <!--纵向自适应大小--> 67 <Button 68 android:text=" 登录 " 69 android:id="@+id/loginLog" 70 android:layout_width="75dip" 71 android:layout_height="40dip" 72 android:textSize="18dip" 73 android:gravity="center"> <!--设置位置--> 74 </Button> <!--Button控件--> 75 <Button 76 android:text=" 清空 " 77 android:id="@+id/loginClear" 78 android:layout_width="75dip" 79 android:layout_height="40dip" 80 android:textSize="18dip" 81 android:gravity="center"> <!--设置位置--> 82 </Button> <!--Button控件--> 83 </LinearLayout> <!--LinearLayout--> 84 </LinearLayout> <!--LinearLayout--> 85 </LinearLayout> <!--LinearLayout-->
上面已经介绍了本程序的主界面main.xml的开发,接下来将要为读者介绍本程序的具体功能的实现,代码如下。
代码位置:见随书光盘中源代码/第2章/Sample2_10/src/com/bn/ex2j目录下的Sample2_10_Activity.class。
1 package com.bn.ex2j; //声明包 2 ……//该处省略了部分类的导入,读者可自行查看随书光盘中的源代码 3 import android.widget.Toast; //导入相关类 4 public class Sample2_10_Activity extends Activity { //继承自Activity类 5 @Override 6 public void onCreate(Bundle savedInstanceState){ //重写的方法 7 super.onCreate(savedInstanceState); //调用父类 8 setContentView(R.layout.main); //跳转到主界面 9 Button bLogin =(Button)this.findViewById(R.id.loginLog);//“登录”按钮 10 Button bClear=(Button)this.findViewById(R.id.loginClear); //“清空”按钮 11 final EditText eUid=(EditText)this.findViewById(R.id.EditTextuid); //用户名 12 final EditText eMima=(EditText)this.findViewById(R.id.EditTextPwd);//密码 13 bLogin.setOnClickListener( //添加“登录”按钮监听器 14 new OnClickListener(){ //匿名内部类 15 @Override 16 public void onClick(View v){ //重写的方法 17 String strUid=eUid.getText().toString().trim(); //得到eUid的字符串 18 String strPwd=eMima.getText().toString().trim(); //得到eMima的字符串 19 if(strUid.equals("e1001")&&strPwd.equals("123456")){ //判断是否符合条件 20 Toast.makeText(Sample2_10_Activity.this, //弹出Toast 21 "恭喜您登录成功!", 22 Toast.LENGTH_SHORT).show(); 23 }else{ 24 Toast.makeText(Sample2_10_Activity.this, //弹出Toast 25 "请输入正确的用户名或密码!", 26 Toast.LENGTH_SHORT).show(); 27 }}}); 28 bClear.setOnClickListener( //添加“清空”按钮监听器 29 new OnClickListener(){ //匿名内部类 30 @Override 31 public void onClick(View v){ //重写的方法 32 eUid.setText(""); //设置用户名为空 33 eMima.setText(""); //设置密码为空 34 }});}}
其中:
● 第14~27行表示单击“登录”按钮之后,判断其用户名和密码是否符合条件。
● 第28~34行表示单击“清空”按钮之后,将显示的用户名和密码全部清空。