Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用登录系统共享数据引用_Android_Android Sharedpreferences - Fatal编程技术网

Android 使用登录系统共享数据引用

Android 使用登录系统共享数据引用,android,android-sharedpreferences,Android,Android Sharedpreferences,我有一个登录和用户系统的项目。我想我的程序应该离线和在线工作。联机时可以从数据库检索,但脱机时必须使用设备上的SharedReferences值。 不管怎样,我尝试了这个方法,但每次我都会给出“NULL”->(如果没有收到任何东西,就返回这个) QrcodeID保存为MyQRCodeID字符串 editor.putString("MyQRCodeID",QRCodeID); 如果MyQRCodeID中有QRCodeID,我想在这里发送QRCodeID,所以在一次之前登录,它必须保存在那里

我有一个登录和用户系统的项目。我想我的程序应该离线和在线工作。联机时可以从数据库检索,但脱机时必须使用设备上的SharedReferences值。 不管怎样,我尝试了这个方法,但每次我都会给出“NULL”->(如果没有收到任何东西,就返回这个)

QrcodeID保存为MyQRCodeID字符串

  editor.putString("MyQRCodeID",QRCodeID); 
如果MyQRCodeID中有QRCodeID,我想在这里发送QRCodeID,所以在一次之前登录,它必须保存在那里,否则返回QRCodeID(第一次使用或任何错误)

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();
            }
        }
公共类CheckLogin扩展异步任务{
SharedReferences preferences=PreferenceManager.GetDefaultSharedReferences(getApplicationContext());
SharedReferences.Editor=首选项.edit();
字符串z=“”;
布尔值isSuccess=false;
@凌驾
受保护的void onPreExecute(){
progressBar.setVisibility(View.VISIBLE);
}
@凌驾
受保护的void onPostExecute(字符串r){
progressBar.setVisibility(View.GONE);
Toast.makeText(LoginActivity.this,r,Toast.LENGTH_SHORT).show();
如果(isSuccess){
Toast.makeText(LoginActivity.this,“Başarıyla GirişYapıldı”,Toast.LENGTHıu SHORT).show();
Intent i=新的Intent(getApplicationContext(),MainActivity.class);
i、 putExtra(“名称”,名称);
i、 Puttera(“姓氏”,姓氏);
i、 putExtra(“Gsm”,Gsm);
i、 putExtra(“KategoriID”,KategoriID);
editor.putString(“MyQRCodeID”,QRCodeID);//QRCodeID保存到MyQRCodeID字符串i.putExtra(“QRCodeID”,preferences.getString(“MyQRCodeID”,QRCodeID));//我想在这里发送QRCodeID,如果在MyQRCodeID中可用,那么在登录一次之前,它必须保存在那里,否则返回QRCodeID(第一次使用或任何错误)
i、 putExtra(“OnayID”,OnayID);
i、 putExtra(“电子邮件”,Email);
i、 putExtra(“UserID”,UserID);
i、 putExtra(“密码”,Password);
i、 putExtra(“sharedqr”,preferences.getString(“MyQRCodeID”,“NULL”);//我创建此项是为了检查SharedReferences是否正常工作,您可以忽略此项。
星触觉(i);
//完成();
}
}
更改此选项

editor.putString("MyQRCodeID",QRCodeID);

改变这个

editor.putString("MyQRCodeID",QRCodeID);


您没有保存更改。请在
putString()
之后调用
editor.apply()
editor.commit()
您没有保存更改。在
putString()之后调用
editor.apply()
editor.commit()
?如果将QRCodeID作为字符串插入,它的值是多少?它是否为空?编辑器.apply()在哪里?
?如果将QRCodeID作为字符串插入,它的值是多少?它是否为空?谢谢,这是使用from editor.commit()或editor.apply()editor.commit()更有效的方法;如果进行了更改,则返回true。editor.apply();不返回任何内容,速度快且效率高。谢谢,使用from editor.commit()或editor.apply()editor.commit()更有效;如果进行了更改,则返回true。editor.apply();不返回任何内容,速度快且效率高。