有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何确保函数执行函数的整个检查?

    private void startUpTasks() {
    Boolean isFirstRun = getSharedPreferences("PREFERENCE", MODE_PRIVATE).getBoolean("isFirstRun", true);

    //  If the activity has never started before...
    if (isFirstRun) {
        //  Launch app intro
        Intent i = new Intent(LoginActivity.this, EnterInfoActivity.class);
        startActivity(i);

        getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
                .putBoolean("isFirstRun", false).apply();

        initializeUserInfo();
    } else {
        getUserInfo();
        Intent myIntent = new Intent(LoginActivity.this, SplashScreen.class);
        LoginActivity.this.startActivity(myIntent);
    }
}

基本上我已经缩小了范围,检查直接转到else语句,它不允许用户第一次注册。我正在使用Firebase Auth注册一个新用户并将其存储在Firebase的数据库中

有没有办法解决这个问题


共 (1) 个答案

  1. # 1 楼答案

    好的,听着,我会尽力帮助你理解你应该做什么:

    我假设您希望用户只有在之前没有注册的情况下才能转到EnterInfoActivity,而您使用的是SharedReferences。如果是这样的话:

    此代码:

        getSharedPreferences("PREFERENCE", MODE_PRIVATE).edit()
                .putBoolean("isFirstRun", false).apply();
    

    必须在用户在EnterInfoActivity中注册详细信息后添加

    除此之外

    如果要再次测试该功能,必须卸载该应用程序以清除共享首选项数据,然后再次运行该应用程序以再次测试,就像您是安装该应用程序的新用户一样,这样if-statement必须运行,而不是else