使用 LoginSystem 的 SharedPreferences
SharedPreferences using LoginSystem
我有一个带有登录名和用户的项目 system.I 希望我的程序能够离线和在线运行。在线时可以从数据库中检索,但如果离线则必须使用设备上的 sharedpreferences 值。
不管怎样,我试过这个方法,但我每次都给 "NULL" -> (如果没有收到任何东西 return 这个)
QrcodeID 保存到 MyQRCodeID 字符串
editor.putString("MyQRCodeID",QRCodeID);
我想在这里发送QRCodeID如果在MyQRCodeID中可用,所以之前登录一次,它必须保存在那里,否则returnQRCodeID(第一次使用或任何错误)
i.putExtra("QRCodeID",preferences.getString("MyQRCodeID",QRCodeID) );
我的作用域代码:
public class CheckLogin extends AsyncTask<String, String, String> {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = preferences.edit();
String z = "";
Boolean isSuccess = false;
@Override
protected void onPreExecute() {
progressBar.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(String r) {
progressBar.setVisibility(View.GONE);
Toast.makeText(LoginActivity.this, r, Toast.LENGTH_SHORT).show();
if (isSuccess) {
Toast.makeText(LoginActivity.this, "Başarıyla Giriş Yapıldı", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("Name", Name);
i.putExtra("Surname", Surname);
i.putExtra("Gsm", Gsm);
i.putExtra("KategoriID", KategoriID);
editor.putString("MyQRCodeID",QRCodeID); //QrcodeID saving to MyQRCodeID string i.putExtra("QRCodeID",preferences.getString("MyQRCodeID",QRCodeID) );//I want to here send QRCodeID if avaiable in MyQRCodeID , so login before one time , it must be save in there , else return QRCodeID ( first time using or any error )
i.putExtra("OnayID", OnayID);
i.putExtra("Email", Email);
i.putExtra("UserID", UserID);
i.putExtra("Password", Password);
i.putExtra("sharedqr",preferences.getString("MyQRCodeID","NULL")); //I created this for check sharedpreferences working, you can ignore this.
startActivity(i);
//finish();
}
}
改变这个
editor.putString("MyQRCodeID",QRCodeID);
至
editor.putString("MyQRCodeID",QRCodeID).commit();
您没有保存更改。在 putString()
.
之后调用 editor.apply()
或 editor.commit()
我有一个带有登录名和用户的项目 system.I 希望我的程序能够离线和在线运行。在线时可以从数据库中检索,但如果离线则必须使用设备上的 sharedpreferences 值。 不管怎样,我试过这个方法,但我每次都给 "NULL" -> (如果没有收到任何东西 return 这个)
QrcodeID 保存到 MyQRCodeID 字符串
editor.putString("MyQRCodeID",QRCodeID);
我想在这里发送QRCodeID如果在MyQRCodeID中可用,所以之前登录一次,它必须保存在那里,否则returnQRCodeID(第一次使用或任何错误)
i.putExtra("QRCodeID",preferences.getString("MyQRCodeID",QRCodeID) );
我的作用域代码:
public class CheckLogin extends AsyncTask<String, String, String> {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor = preferences.edit();
String z = "";
Boolean isSuccess = false;
@Override
protected void onPreExecute() {
progressBar.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(String r) {
progressBar.setVisibility(View.GONE);
Toast.makeText(LoginActivity.this, r, Toast.LENGTH_SHORT).show();
if (isSuccess) {
Toast.makeText(LoginActivity.this, "Başarıyla Giriş Yapıldı", Toast.LENGTH_SHORT).show();
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.putExtra("Name", Name);
i.putExtra("Surname", Surname);
i.putExtra("Gsm", Gsm);
i.putExtra("KategoriID", KategoriID);
editor.putString("MyQRCodeID",QRCodeID); //QrcodeID saving to MyQRCodeID string i.putExtra("QRCodeID",preferences.getString("MyQRCodeID",QRCodeID) );//I want to here send QRCodeID if avaiable in MyQRCodeID , so login before one time , it must be save in there , else return QRCodeID ( first time using or any error )
i.putExtra("OnayID", OnayID);
i.putExtra("Email", Email);
i.putExtra("UserID", UserID);
i.putExtra("Password", Password);
i.putExtra("sharedqr",preferences.getString("MyQRCodeID","NULL")); //I created this for check sharedpreferences working, you can ignore this.
startActivity(i);
//finish();
}
}
改变这个
editor.putString("MyQRCodeID",QRCodeID);
至
editor.putString("MyQRCodeID",QRCodeID).commit();
您没有保存更改。在 putString()
.
editor.apply()
或 editor.commit()