本文实例为大家分享了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