0

我正在开发一个 android 应用程序,它应该在安装应用程序后只在他的手机中对用户进行一次身份验证。它不应该第二次询问细节。为此,我通过设置布尔值来使用共享首选项。但它不起作用。这里有什么建议吗。。谢谢朋友!!我的代码在这里

SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor=prefs.edit();
editor.putBoolean("Register", true);
editor.commit();
4

3 回答 3

2

以这种方式使用它:

在您的onCreate() 使用中:

if (isFirstTime()) {
    // do what you want to do only once 
}

拨打以下电话:

private boolean isFirstTime()
{
    SharedPreferences preferences = getPreferences(MODE_PRIVATE);
    boolean ranBefore = preferences.getBoolean("RanBefore", false);
    if (!ranBefore) {
        // first time
        SharedPreferences.Editor editor = preferences.edit();
        editor.putBoolean("RanBefore", true);
        editor.commit();
    }
    return !ranBefore;
}
于 2013-07-31T09:56:00.810 回答
0

您的使用方法SharedPreference是正确的。将以下代码片段放入您oncreate()Activity.

SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        register = prefs.getBoolean("Register",false);

        if(!register)
        {
            //register user
            SharedPreferences.Editor editor=prefs.edit();
            editor.putBoolean("Register", register);
            editor.commit();
        }
        else{
            //continue with the rest
        }
于 2013-07-31T10:03:09.750 回答
0

第一次 :

settings.edit().putBoolean("Register", true).commit();

在 onCreate 你做测试

if(!settings.getBoolean("Register",false))
    //it isn't the first time

所以完整的代码:

SharedPreferences settings = getSharedPreferences("settings", 0);
if(!settings.getBoolean("Register",false)){
     //it isn't the first time
}
else{
    settings.edit().putBoolean("Register", true).commit();
}
于 2013-07-31T10:06:04.133 回答