Android登陆页面的客户端逻辑

原文网址:https://www.oschina.net/code/snippet_1022046_45660


package com.amaker.wlo;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import com.amaker.util.HttpUtil;
import com.amaker.util.LoginEncryption;
 
public class LoginActivity extends Activity {
     /**
      * 登陆界面
      * @author shichengwu
      */
     
     // 声明登录按钮
     private Button loginBtn;
     // 声明用户名、密码输入框
     private EditText userEditText,pwdEditText;
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super .onCreate(savedInstanceState);
        EndAllActivity.getInstance().addActivity( this );
         
         // 为美观,暂不设置标题
        requestWindowFeature(Window.FEATURE_NO_TITLE);
         // 设置当前Activity界面布局
        setContentView(R.layout.activity_login);
         
         // 通过findViewById方法实例化组件
        loginBtn = (Button)findViewById(R.id.login);
         // 通过findViewById方法实例化组件
        userEditText = (EditText)findViewById(R.id.userEditText);
         // 通过findViewById方法实例化组件
        pwdEditText = (EditText)findViewById(R.id.pwdEditText);
         
         
         
        loginBtn.setOnClickListener( new OnClickListener() {
             @Override
             public void onClick(View v) {
                 
                 //登录
                 if (validate()){
                     if (login()){
                        Intent intent = new Intent(LoginActivity. this ,MainMenuActivity. class );
                        startActivity(intent);
                        finish();
                    }
                     else {
                        showDialog( "用户名或者密码错误,请重新输入!" );
                        }
                      }
                      }
             
             });
    }
     
     
     // 登录方法
     private boolean login(){
         // 获得用户名称
        String username = userEditText.getText().toString();
         // 获得密码
         //MD5加密后与数据库进行对比
        String pwd = LoginEncryption.string2MD5(pwdEditText.getText().toString());
         // 获得登录结果
        String result=query(username,pwd);
         if (result!= null &&result.equals( "0" )){
             return false ;
        } else {
            saveUserMsg(result);
             return true ;
        }
    }
     
     // 将用户信息保存到配置文件
     private void saveUserMsg(String msg){
         // 用户编号
        String id = "" ;
         // 用户名称
        String name = "" ;
         // 获得信息数组
        String[] msgs = msg.split( ";" );
         int idx = msgs[ 0 ].indexOf( "=" );
        id = msgs[ 0 ].substring(idx+ 1 );
        idx = msgs[ 1 ].indexOf( "=" );
        name = msgs[ 1 ].substring(idx+ 1 );
         // 共享信息
        SharedPreferences pre = getSharedPreferences( "user_msg" , MODE_WORLD_WRITEABLE);
        SharedPreferences.Editor editor = pre.edit();
        editor.putString( "id" , id);
        editor.putString( "name" , name);
        editor.commit();
    }
     
     // 验证方法
     private boolean validate(){
        String username = userEditText.getText().toString();
         if (username.equals( "" )){
            showDialog( "用户名称是必填项!" );
             return false ;
        }
        String pwd = pwdEditText.getText().toString();
         if (pwd.equals( "" )){
            showDialog( "用户密码是必填项!" );
             return false ;
        }
         return true ;
    }
     private void showDialog(String msg){
        AlertDialog.Builder builder = new AlertDialog.Builder( this );
        builder.setMessage(msg)
               .setCancelable( false )
               .setPositiveButton( "确定" , new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                   }
               });
        AlertDialog alert = builder.create();
        alert.show();
    }
     // 根据用户名称密码查询
     private String query(String username,String password){
         // 查询参数
        String queryString = "username=" +username+ "&password=" +password;
         // url
        String url = HttpUtil.BASE_URL+ "servlet/LoginServlet?" +queryString;
         // 查询返回结果
         return HttpUtil.queryStringForPost(url);
    }  
}



如果本文对你有帮助的话,麻烦在左侧点个赞,谢谢支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值