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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.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 - Fatal编程技术网

Android 用户身份验证应该只进行一次

Android 用户身份验证应该只进行一次,android,Android,我正在开发一个android应用程序,在安装应用程序后,该应用程序应该只在用户的手机上验证一次用户身份。它不应该第二次询问细节。为此,我通过设置布尔值使用了共享首选项。但它不起作用。这里有什么建议吗。。谢谢朋友们!!我的密码在这里 SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); SharedPreferences.Editor editor=prefs.

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

SharedPreferences prefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
SharedPreferences.Editor editor=prefs.edit();
editor.putBoolean("Register", true);
editor.commit();
这样使用它:

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;
}

您使用
SharedReference
的方法是正确的。请将下面的coad片段放入
活动的
oncreate()
方法中

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
        }
第一次:

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();
}

把代码部分放在检查用户是否登录的地方。我必须写下注册应该只有一次。你能告诉我怎么做吗?你说的“只写一次注册”是什么意思?您的意思是要设置alertbox或Toast来告诉用户这一点吗?该消息也只会在应用程序的启动活动中出现一次