原文网址: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);
}
}
如果本文对你有帮助的话,麻烦在左侧点个赞,谢谢支持。