Я разрабатываю приложение с использованием Firebase Authentication. В моем приложении все действия должны быть доступны только авторизованному пользователю. Для этого у меня есть эта часть кода во всех моих действиях:

firebaseAuthStateListener = new FirebaseAuth.AuthStateListener() {
            @Override
            public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
                // If user is logged out, bring him to LoginActivity
                final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
                if(user == null){
                    Intent intent = new Intent(ConnectionsActivity.this, LoginActivity.class);
                    startActivity(intent);
                    finish();
                }
            }
        };

Я понимаю, что это плохой способ сделать это, поскольку мой код больше не СУХОЙ , и мне приходится копировать и вставлять эту часть во все мои действия. Я думаю о реализации одноэлементного класса, но я не уверен, как он будет работать в платформе Android. Есть ли лучший способ заставить пользователя проходить аутентификацию без повторения этого кода?

0
Sabbir Mollah 20 Дек 2019 в 18:45

1 ответ

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

0
JacquesBauer 20 Дек 2019 в 17:10