Android_登陆之客户端逻辑
我的个人网站 :www.shichengwu.com
登陆实例客户端处理逻辑:LoginActivity
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); } }
讲到这里,大家可能对客户端和服务器交互不甚理解,下一篇会讲到涉及的JDBC模型以及登陆实例的服务器处理逻辑。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。