【发布时间】:2019-12-20 15:45:54
【问题描述】:
我正在使用 Firebase 身份验证开发应用。在我的应用程序中,所有活动都只能由经过身份验证的用户访问。为此,我在所有活动中都有这部分代码:
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();
}
}
};
我意识到这不是一个好方法,因为我的代码不再是 DRY 了,我不得不将这部分复制粘贴到我的所有活动中。 我正在考虑实现一个单例类,但我不确定它将如何在 Android 框架中工作。 有没有更好的方法让用户在不重复此代码的情况下进行身份验证?
【问题讨论】:
标签: android design-patterns firebase-authentication