java保存登录信息_java – 保存登录详细信息(首选项)android

本文介绍了一个Android应用程序如何在用户选择“记住我”选项时,使用Java来保存登录的用户名和密码。通过应用共享偏好设置,可以将用户名和密码保存,并在之后的会话中方便地检索这些信息。
摘要由CSDN通过智能技术生成

我有一个具有登录,注销功能的Android应用程序.登录表单包含用户名和密码以及登录按钮.我想在用户选中“记住我”复选框时保存用户名和密码.

我的project.java文件如下所示:

public class project extends Activity {

private static final int IO_BUFFER_SIZE = 4 * 1024;

/** Called when the activity is first created. */

public int user_id,current_user_id;

public String access_token,username,current_username;

public boolean user_logged_in=false;

public ProgressDialog progdialog;

@Override

public void onCreate(final Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

progdialog = new ProgressDialog(this);

progdialog.setMessage("loading...");

initLogin();

}

public void initLogin(){

setContentView(R.layout.login);

Button button = (Button) findViewById(R.id.login_login);

button.setOnClickListener(new View.OnClickListener(){

public void onClick(View v) {

login();

}

});

}

public void login(){

try{

String login_username=(((EditText) findViewById(R.id.login_username)).getText()).toString();

String login_password=(((EditText) findViewById(R.id.login_password)).getText()).toString();

List nameValuePairs = new ArrayList(2);

nameValuePairs.add(new BasicNameValuePair("username",login_username));

nameValuePairs.add(new BasicNameValuePair("password",login_password));

String content=postUrlContent(api_url "landing/authenticate",nameValuePairs);

JSONObject jObject = new JSONObject(content);

JSONObject respObject = jObject.getJSONObject("response");

Boolean success=respObject.getBoolean("success");

String message=respObject.getString("message");

Boolean logged_in=respObject.getBoolean("logged_in");

if(logged_in){

user_id=respObject.getInt("user_id");

access_token=respObject.getString("access_token");

username=respObject.getString("username");

current_username=username;

current_user_id=user_id;

user_logged_in=true;

//initFeeds(username);

test(0);

}else{

createDialog("Error",message);

}

}catch(Exception e){

}

}

解决方法:

您可以使用应用共享偏好设置.可以使用为这些prefs设置的密钥随时访问prefs

static final String KEY_USERNAME = "username";

static final String KEY_PASSWORD = "password";

if (rememberMe) { //save username and pw to prefs

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

Editor ed = prefs.edit();

ed.putString(KEY_USERNAME, theUsername);

ed.putString(KEY_PASSWORD, thePW);

ed.commit();

}

要访问信息,例如onCreate方法:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);

String username = prefs.getString(KEY_USERNAME, "Default Value if not found");

String password = prefs.getString(KEY_PASSWORD, ""); //return nothing if no pass saved

来源:https://www.icode9.com/content-1-401801.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值