使用 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()