zoukankan      html  css  js  c++  java
  • 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;
    	}
    	
    }
    


     

    登录页面xml:

    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


     

  • 相关阅读:
    jsp_Scriptlet
    jsp_注释
    Http状态码详解
    Tomcat服务器的安装和配置
    【BZOJ 1018】线段树 **
    【BZOJ 2054】 2054: 疯狂的馒头 (并查集特技)
    【BZOJ 1969】 1969: [Ahoi2005]LANE 航线规划 (树链剖分+线段树)
    【BZOJ 1880】 [Sdoi2009]Elaxia的路线 (最短路树)
    【UOJ 79】 一般图最大匹配 (✿带花树开花)
    【UOJ 34】 多项式乘法 (FFT)
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3235407.html
Copyright © 2011-2022 走看看