android实现注册登录程序

android实现注册登录程序

本文实例为大家分享了android实现注册登录程序的具体代码,供大家参考,具体内容如下

注册页面:

user_register.xml:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:orientation="vertical"     android:background="@drawable/bg_01">"       <TextView          android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="注册"         android:textSize="22dip"         android:textColor="#FFFFFF"         android:paddingLeft="140dip"         android:paddingRight="50dip"         android:paddingTop="10dip"         android:background="@drawable/topbg"         />     "     <EditText          android:id="@+id/register_username"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginTop="20dip"         android:background="@drawable/search"          android:layout_marginLeft="20dip"         android:layout_marginRight="20dip"         android:height="40dip"         android:hint="用户名"         />      <EditText          android:id="@+id/register_passwd"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginTop="20dip"         android:background="@drawable/search"          android:layout_marginLeft="20dip"         android:layout_marginRight="20dip"         android:height="40dip"         android:hint="密码"         />       <EditText          android:id="@+id/reregister_passwd"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_marginTop="20dip"         android:background="@drawable/search"          android:layout_marginLeft="20dip"         android:layout_marginRight="20dip"         android:height="40dip"         android:hint="确认密码"         />       <Button            android:id="@+id/register_submit"           android:layout_width="wrap_content"           android:layout_height="wrap_content"           android:background="@drawable/topbg"           android:height="40dip"           android:width="70dip"           android:layout_marginTop="60dip"           android:text="确定"           android:textColor="#FFFFFF"           android:textSize="22dip"           /> </LinearLayout>

处理注册页面的Activity:

package com.example.foreveross.office; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import com.example.wenandroid.R; import android.app.Activity; import android.os.Bundle; import android.os.StrictMode; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class UserRegister extends Activity { private EditText register_username; private EditText register_passwd; private EditText reregister_passwd; private Button register_submit;     @Override     protected void onCreate(Bundle savedInstanceState) {         // TODO Auto-generated method stub         super.onCreate(savedInstanceState);         StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();         StrictMode.setThreadPolicy(policy);         setContentView(R.layout.user_register);         register_username=(EditText)findViewById(R.id.register_username);         register_passwd=(EditText)findViewById(R.id.register_passwd);         reregister_passwd=(EditText)findViewById(R.id.reregister_passwd);         register_submit=(Button)findViewById(R.id.register_submit);         register_username.setOnFocusChangeListener(new OnFocusChangeListener()         {             @Override             public void onFocusChange(View v, boolean hasFocus) {                 // TODO Auto-generated method stub                 if(!hasFocus){                     if(register_username.getText().toString().trim().length()<4){                         Toast.makeText(UserRegister.this, "用户名不能小于4个字符", Toast.LENGTH_SHORT).show();                     }                 }             }         });         register_passwd.setOnFocusChangeListener(new OnFocusChangeListener()         {             @Override             public void onFocusChange(View v, boolean hasFocus) {                 // TODO Auto-generated method stub                 if(!hasFocus){                     if(register_passwd.getText().toString().trim().length()<6){                         Toast.makeText(UserRegister.this, "密码不能小于8个字符", Toast.LENGTH_SHORT).show();                     }                 }             }         });         reregister_passwd.setOnFocusChangeListener(new OnFocusChangeListener()         {             @Override             public void onFocusChange(View v, boolean hasFocus) {                 // TODO Auto-generated method stub                 if(!hasFocus){                     if(!reregister_passwd.getText().toString().trim().equals(register_passwd.getText().toString().trim())){                         Toast.makeText(UserRegister.this, "两次密码输入不一致", Toast.LENGTH_SHORT).show();                      }                 }             }         });         register_submit.setOnClickListener(new OnClickListener(){             @Override             public void onClick(View v) {                 if(!checkEdit()){                     return;                 }                 // TODO Auto-generated method stub                 String httpUrl="http://192.168.1.100:8080/web-test/register.jsp";                 HttpPost httpRequest=new HttpPost(httpUrl);                 List<NameValuePair> params=new ArrayList<NameValuePair>();                 params.add(new BasicNameValuePair("username",register_username.getText().toString().trim()));                 params.add(new BasicNameValuePair("password",register_passwd.getText().toString().trim()));                 HttpEntity httpentity = null;                 try {                     httpentity = new UrlEncodedFormEntity(params,"utf8");                 } catch (UnsupportedEncodingException e) {                     // TODO Auto-generated catch block                     e.printStackTrace();                 }                 httpRequest.setEntity(httpentity);                 HttpClient httpclient=new DefaultHttpClient();                 HttpResponse httpResponse = null;                 try {                     httpResponse = httpclient.execute(httpRequest);                 } catch (ClientProtocolException e) {                     // TODO Auto-generated catch block                     e.printStackTrace();                 } catch (IOException e) {                     // TODO Auto-generated catch block                     e.printStackTrace();                 }                 if(httpResponse.getStatusLine().getStatusCode()==200)                 {                     String strResult = null;                     try {                         strResult = EntityUtils.toString(httpResponse.getEntity());                     } catch (ParseException e) {                         // TODO Auto-generated catch block                         e.printStackTrace();                     } catch (IOException e) {                         // TODO Auto-generated catch block                         e.printStackTrace();                     }                     Toast.makeText(UserRegister.this, strResult, Toast.LENGTH_SHORT).show();                 }                 else                 {                     Toast.makeText(UserRegister.this, "请求错误", Toast.LENGTH_SHORT).show();                 }             }         });     }     private boolean checkEdit(){         if(register_username.getText().toString().trim().equals("")){             Toast.makeText(UserRegister.this, "用户名不能为空", Toast.LENGTH_SHORT).show();         }else if(register_passwd.getText().toString().trim().equals("")){             Toast.makeText(UserRegister.this, "密码不能为空", Toast.LENGTH_SHORT).show();         }else if(!register_passwd.getText().toString().trim().equals(reregister_passwd.getText().toString().trim())){             Toast.makeText(UserRegister.this, "两次密码输入不一致", Toast.LENGTH_SHORT).show();         }else{             return true;         }         return false;     } }

登录页面:

user_login.xml:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="fill_parent"     android:orientation="vertical"      android:background="@drawable/bg_01">     <TextView          android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="登录"         android:textSize="22dip"         android:textColor="#FFFFFF"         android:paddingLeft="140dip"         android:paddingRight="50dip"         android:paddingTop="10dip"         android:background="@drawable/topbg"         />     <LinearLayout     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:orientation="vertical" >         <EditText         android:id="@+id/login_username"         android:layout_width="fill_parent"         android:layout_height="40dip"         android:layout_marginLeft="20dip"         android:layout_marginRight="20dip"         android:layout_marginTop="30dip"         android:hint="用户名"         android:paddingTop="10dip"         android:textSize="18dip"         android:background="@drawable/search">         </EditText>         <EditText         android:id="@+id/login_password"         android:layout_width="fill_parent"         android:layout_height="40dip"         android:layout_marginLeft="20dip"         android:layout_marginRight="20dip"         android:layout_marginTop="10dip"         android:password="true"         android:paddingTop="10dip"         android:textSize="18dip"         android:hint="密码"         android:background="@drawable/search">         </EditText>     </LinearLayout>      <LinearLayout     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_gravity="center_horizontal"     android:layout_marginTop="15dip">          <CheckBox              android:id="@+id/cb1"              android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:layout_marginLeft="50dip"              android:layout_marginRight="30dip"              android:text="记住密码"               android:button="@drawable/checkbox_icon_no" />"          <CheckBox              android:id="@+id/cb2"              android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:text="自动登录"               android:paddingRight="50dip"              android:button="@drawable/checkbox_icon_no"/>         </LinearLayout>      <LinearLayout     android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_gravity="center_horizontal"     android:layout_marginTop="20dip">          <Button               android:id="@+id/user_login_button"              android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:text="登录"              android:layout_marginLeft="50dip"              android:textColor="#F7FBFD"              android:background="#FF0000"              android:width="70dip"              android:height="40dip"              android:textSize="18dip"              />             <Button               android:id="@+id/user_register_button"              android:layout_width="wrap_content"              android:layout_height="wrap_content"              android:text="注册"              android:layout_marginLeft="50dip"              android:textColor="#F7FBFD"              android:width="70dip"              android:height="40dip"              android:background="#0F9000"              android:textSize="18dip"              />      </LinearLayout> </LinearLayout>

登录页面Activity:

package com.example.foreveross.office; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.ParseException; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import com.example.wenandroid.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.StrictMode; import android.view.View; import android.view.View.OnClickListener; import android.view.View.OnFocusChangeListener; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class UserLogin extends Activity implements OnClickListener { private EditText login_username; private EditText login_password; private Button user_login_button; private Button user_register_button;     @Override protected void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);     StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();     StrictMode.setThreadPolicy(policy);     setContentView(R.layout.user_login);     initWidget(); }     private void initWidget()     {         login_username=(EditText)findViewById(R.id.login_username);         login_password=(EditText)findViewById(R.id.login_password);         user_login_button=(Button)findViewById(R.id.user_login_button);         user_register_button=(Button)findViewById(R.id.user_register_button);         user_login_button.setOnClickListener(this);         user_register_button.setOnClickListener(this);         login_username.setOnFocusChangeListener(new OnFocusChangeListener()         {             @Override             public void onFocusChange(View v, boolean hasFocus) {                 // TODO Auto-generated method stub                 if(!hasFocus){                     String username=login_username.getText().toString().trim();                     if(username.length()<4){                         Toast.makeText(UserLogin.this, "用户名不能小于4个字符", Toast.LENGTH_SHORT);                     }                 }             }         });         login_password.setOnFocusChangeListener(new OnFocusChangeListener()         {             @Override             public void onFocusChange(View v, boolean hasFocus) {                 // TODO Auto-generated method stub                 if(!hasFocus){                     String password=login_password.getText().toString().trim();                     if(password.length()<4){                         Toast.makeText(UserLogin.this, "密码不能小于4个字符", Toast.LENGTH_SHORT);                     }                 }             }         });     }     @Override     public void onClick(View v) {         // TODO Auto-generated method stub         switch(v.getId())         {         case R.id.user_login_button:             if(checkEdit())             {                 login();             }             break;         case R.id.user_register_button:             Intent intent2=new Intent(UserLogin.this,UserRegister.class);             startActivity(intent2);             break;         }     }     private boolean checkEdit(){         if(login_username.getText().toString().trim().equals("")){             Toast.makeText(UserLogin.this, "用户名不能为空", Toast.LENGTH_SHORT).show();         }else if(login_password.getText().toString().trim().equals("")){             Toast.makeText(UserLogin.this, "密码不能为空", Toast.LENGTH_SHORT).show();         }else{             return true;         }         return false;     }     private void login(){         String httpUrl="http://192.168.1.102:8080/web-test/login.jsp";         HttpPost httpRequest=new HttpPost(httpUrl);         List<NameValuePair> params=new ArrayList<NameValuePair>();         params.add(new BasicNameValuePair("username",login_username.getText().toString().trim()));         params.add(new BasicNameValuePair("password",login_password.getText().toString().trim()));         HttpEntity httpentity = null;         try {             httpentity = new UrlEncodedFormEntity(params,"utf8");         } catch (UnsupportedEncodingException e) {             // TODO Auto-generated catch block             e.printStackTrace();         }         httpRequest.setEntity(httpentity);         HttpClient httpclient=new DefaultHttpClient();         HttpResponse httpResponse = null;         try {             httpResponse = httpclient.execute(httpRequest);         } catch (ClientProtocolException e) {             // TODO Auto-generated catch block             e.printStackTrace();         } catch (IOException e) {             // TODO Auto-generated catch block             e.printStackTrace();         }         if(httpResponse.getStatusLine().getStatusCode()==200)         {             String strResult = null;             try {                 strResult = EntityUtils.toString(httpResponse.getEntity());             } catch (ParseException e) {                 // TODO Auto-generated catch block                 e.printStackTrace();             } catch (IOException e) {                 // TODO Auto-generated catch block                 e.printStackTrace();             }             Toast.makeText(UserLogin.this, strResult, Toast.LENGTH_SHORT).show();             Intent intent=new Intent(UserLogin.this,IndexActivity.class);             startActivity(intent);         }         else         {             Toast.makeText(UserLogin.this, "登录失败!", Toast.LENGTH_SHORT).show();         }     } }

登录成功则跳转到IndexActivity.java

推荐阅读