今天在做android的项目,人生当中第一个android的项目呀,在登录的时候需要记住密码,但是我发现无论你是记住还是不记住你退出再次返回的时候还是给你显示出密码来,而且我查看了xml文件,文件里面没有记住用户名和密码,更加奇怪的是
我将赋值的哪行注释了用户名密码还显示,求大神解决,一下是登录的Activity
package com.wewell.activity;import java.io.InputStream;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;import com.wewell.service.LoginService;
import com.wewell.util.DialogUtil;
import com.wewell.util.SysConfig;
/**
*
* 项目名称:AJT
* 类名称:LoginActivity
* 类描述: 登录的主界面
* 创建人:lichengjian
* 创建时间:2011-12-5 下午02:44:09
* 修改人:lichengjian
* 修改时间:2011-12-5 下午02:44:09
* 修改备注:
* @version
*
*/
public class LoginActivity extends Activity {
boolean flag = false;
//是否记住账号资料
boolean flag_remPass = false;
//用户名
private EditText et_login_username;
//密码
private EditText et_login_password;
//登录的按钮
private Button bt_login_submit;
//系统设置的按钮
private Button bt_login_UrlAds;
//记住密码
private CheckBox cb_login_rempass;
//退出系统按钮
private Button bt_login_exit;
//系统配置
private SysConfig sysConfig = null;
ProgressDialog progressDialog = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
sysConfig = new SysConfig(this);
sysConfig.initSysData();
et_login_username = (EditText)this.findViewById(R.id.et_login_username);
et_login_password = (EditText)this.findViewById(R.id.et_login_password);
setUserMessage();
bt_login_submit = (Button)this.findViewById(R.id.bt_login_submit);
bt_login_exit = (Button)this.findViewById(R.id.bt_login_exit);
bt_login_UrlAds = (Button)this.findViewById(R.id.bt_login_UrlAds);
cb_login_rempass = (CheckBox)this.findViewById(R.id.cb_login_rempass);
//为登录按钮添加监听器
bt_login_submit.setOnClickListener(progressBarShower);
//添加退出系统按钮的监听器
bt_login_exit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
DialogUtil.exitDialog(LoginActivity.this);
}
});
//添加系统设置按钮的监听器
bt_login_UrlAds.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(LoginActivity.this, SetPwdActivity.class);
LoginActivity.this.startActivity(intent);
}
});
//设置checkbox我的监听器
cb_login_rempass.setOnCheckedChangeListener(remPassListener);
}
//登录监听器 显示ProgressDialog
OnClickListener progressBarShower = new OnClickListener(){
public void onClick(View v) {
Editor editor = sysConfig.getEditor();
editor.putBoolean("isCheck", flag_remPass);
editor.commit();
saveUserMessage();
progressDialog = new ProgressDialog(LoginActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("登录");
progressDialog.setMessage("系统登录中,请稍后...");
/* 登录取消 暂时没有实现该功能
* progressDialog.setButton("取消", new ProgressDialog.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
return;
}
});*/
progressDialog.setCancelable(true);
progressDialog.show();
new Thread(){
public void run(){
try {
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("login.xml");
HashMap<String,String> map = new HashMap<String,String>();
map.put("userID", "100");
map.put("userPass", "jnszhaj");
map.put("version", "1.1");
String result = LoginService.checkLogin(inputStream, map, LoginActivity.this);
String name = ".\\$OK";
Pattern pattern = Pattern.compile(name);
Matcher matcher = pattern.matcher(result);
if(matcher.find()){
flag = true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
progressDialog.dismiss();
}
}.start();
if(!flag){
Intent intent = new Intent();
intent.setClass(LoginActivity.this, AJTActivity.class);
LoginActivity.this.startActivity(intent);
}else{
Toast.makeText(LoginActivity.this, "请检查您的用户名密码是否正确!",Toast.LENGTH_SHORT).show();
}
}
};
//复选框的监听器
OnCheckedChangeListener remPassListener = new OnCheckedChangeListener(){ public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
flag_remPass = isChecked;
System.out.println("要是出来了说明我被cheange了"+flag_remPass);
}
};
/**
* saveUserMessage(用户选择“记住我”,将用户名密码存储下来)
* @param name
* @return
* @Exception 异常对象
* @since CodingExample Ver(编码范例查看) 1.1
*/
public void saveUserMessage(){
if(flag_remPass){
Editor editor = sysConfig.getEditor();
editor.putString("username",et_login_username.getText().toString());
editor.putString("password",et_login_password.getText().toString());
editor.commit();
}
}
/**
* setUserMessage(当用户选择了“记住我”时,下次登录显示用户密码)
* @param
* @return
* @Exception 异常对象
* @since CodingExample Ver(编码范例查看) 1.1
*/
public void setUserMessage(){
boolean isChecked = sysConfig.getShared().getBoolean("isCheck", false);
System.out.println("this is setUserMessage"+isChecked);
if(isChecked){
//et_login_username.setText(sysConfig.getShared().getString("username", ""));
//et_login_password.setText(sysConfig.getShared().getString("password", ""));
}
}
}
我将赋值的哪行注释了用户名密码还显示,求大神解决,一下是登录的Activity
package com.wewell.activity;import java.io.InputStream;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Toast;
import android.widget.CompoundButton.OnCheckedChangeListener;import com.wewell.service.LoginService;
import com.wewell.util.DialogUtil;
import com.wewell.util.SysConfig;
/**
*
* 项目名称:AJT
* 类名称:LoginActivity
* 类描述: 登录的主界面
* 创建人:lichengjian
* 创建时间:2011-12-5 下午02:44:09
* 修改人:lichengjian
* 修改时间:2011-12-5 下午02:44:09
* 修改备注:
* @version
*
*/
public class LoginActivity extends Activity {
boolean flag = false;
//是否记住账号资料
boolean flag_remPass = false;
//用户名
private EditText et_login_username;
//密码
private EditText et_login_password;
//登录的按钮
private Button bt_login_submit;
//系统设置的按钮
private Button bt_login_UrlAds;
//记住密码
private CheckBox cb_login_rempass;
//退出系统按钮
private Button bt_login_exit;
//系统配置
private SysConfig sysConfig = null;
ProgressDialog progressDialog = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
sysConfig = new SysConfig(this);
sysConfig.initSysData();
et_login_username = (EditText)this.findViewById(R.id.et_login_username);
et_login_password = (EditText)this.findViewById(R.id.et_login_password);
setUserMessage();
bt_login_submit = (Button)this.findViewById(R.id.bt_login_submit);
bt_login_exit = (Button)this.findViewById(R.id.bt_login_exit);
bt_login_UrlAds = (Button)this.findViewById(R.id.bt_login_UrlAds);
cb_login_rempass = (CheckBox)this.findViewById(R.id.cb_login_rempass);
//为登录按钮添加监听器
bt_login_submit.setOnClickListener(progressBarShower);
//添加退出系统按钮的监听器
bt_login_exit.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
DialogUtil.exitDialog(LoginActivity.this);
}
});
//添加系统设置按钮的监听器
bt_login_UrlAds.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent();
intent.setClass(LoginActivity.this, SetPwdActivity.class);
LoginActivity.this.startActivity(intent);
}
});
//设置checkbox我的监听器
cb_login_rempass.setOnCheckedChangeListener(remPassListener);
}
//登录监听器 显示ProgressDialog
OnClickListener progressBarShower = new OnClickListener(){
public void onClick(View v) {
Editor editor = sysConfig.getEditor();
editor.putBoolean("isCheck", flag_remPass);
editor.commit();
saveUserMessage();
progressDialog = new ProgressDialog(LoginActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("登录");
progressDialog.setMessage("系统登录中,请稍后...");
/* 登录取消 暂时没有实现该功能
* progressDialog.setButton("取消", new ProgressDialog.OnClickListener(){
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
return;
}
});*/
progressDialog.setCancelable(true);
progressDialog.show();
new Thread(){
public void run(){
try {
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("login.xml");
HashMap<String,String> map = new HashMap<String,String>();
map.put("userID", "100");
map.put("userPass", "jnszhaj");
map.put("version", "1.1");
String result = LoginService.checkLogin(inputStream, map, LoginActivity.this);
String name = ".\\$OK";
Pattern pattern = Pattern.compile(name);
Matcher matcher = pattern.matcher(result);
if(matcher.find()){
flag = true;
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
progressDialog.dismiss();
}
}.start();
if(!flag){
Intent intent = new Intent();
intent.setClass(LoginActivity.this, AJTActivity.class);
LoginActivity.this.startActivity(intent);
}else{
Toast.makeText(LoginActivity.this, "请检查您的用户名密码是否正确!",Toast.LENGTH_SHORT).show();
}
}
};
//复选框的监听器
OnCheckedChangeListener remPassListener = new OnCheckedChangeListener(){ public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
flag_remPass = isChecked;
System.out.println("要是出来了说明我被cheange了"+flag_remPass);
}
};
/**
* saveUserMessage(用户选择“记住我”,将用户名密码存储下来)
* @param name
* @return
* @Exception 异常对象
* @since CodingExample Ver(编码范例查看) 1.1
*/
public void saveUserMessage(){
if(flag_remPass){
Editor editor = sysConfig.getEditor();
editor.putString("username",et_login_username.getText().toString());
editor.putString("password",et_login_password.getText().toString());
editor.commit();
}
}
/**
* setUserMessage(当用户选择了“记住我”时,下次登录显示用户密码)
* @param
* @return
* @Exception 异常对象
* @since CodingExample Ver(编码范例查看) 1.1
*/
public void setUserMessage(){
boolean isChecked = sysConfig.getShared().getBoolean("isCheck", false);
System.out.println("this is setUserMessage"+isChecked);
if(isChecked){
//et_login_username.setText(sysConfig.getShared().getString("username", ""));
//et_login_password.setText(sysConfig.getShared().getString("password", ""));
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货