Android登陆页面的客户端逻辑

328 阅读1分钟

原文网址:www.oschina.net/code/snippe…

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 {

/**
 * 登陆界面
 * 
 */
 
// 声明登录按钮
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);
}   

}

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