Проверьте, если пользователь онлайн отдельный класс - PullRequest
0 голосов
/ 29 ноября 2018

Я хочу повторно использовать следующий код:

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();

if (user != null) {
    // User is signed in
    // Redirect to signed-in flow
} else {
    // No user is signed in
    // Redirect to login activity
}

Но, как новичок в Java и Android, я не уверен, каким образом использовать этот код.Должен ли я использовать его в отдельном классе и использовать его статическим способом?Если да, я прав в следующем:

Создайте отдельный класс с именем IsUserLoggedIn.java:

public class IsUserLoggedIn {    

    public static void isUserLogged() {
        if (user != null) {
        // User is signed in
        // Redirect to signed-in flow
        } else {
        // No user is signed in
        // Redirect to login activity
        }

    }        
}

, и в любом задании, которое я хочу проверить, я добавлю следующее в onResume:

IsUserLoggedIn isUserLoggedIn = new IsUserLoggedIn();
isUserLoggedIn.isUserLogged();

Это правильно?

1 Ответ

0 голосов
/ 29 ноября 2018

Если вы используете базу данных Firebase, то вы также можете сохранить текущее состояние пользователя в вашей базе данных и получить оттуда только ответ.

Я хочу сказать, что вы можете иметь узелс именем loginStatus для каждого пользовательского узла в вашей базе данных, для которого можно установить значение true, когда пользователь входит в систему или входит в систему, в вашем приложении и установить значение false, когда пользователь выходит из системы.

Итак, немного кода для вышеупомянутой мысли будет выглядеть примерно так:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("users").child(FirebaseAuth.getInstance().getUid());

// put this code where you grant user the access to log in

ref.child("loginStatus").setValue(true);

// now you can retrieve the value whenever you want in your app directly without using any new class

// to set the status to false, put this code in the code where you give user the option to log-out from your app

ref.child("loginStatus").setValue(false);

Также, если вы все равно хотите просто использовать другой класс, вы можете поместить код в новый класс Java и использоватькод, который вы показали, в основном выглядит корректно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...