【发布时间】:2020-09-22 04:19:15
【问题描述】:
这是我的MainActivity 班级:
class MainActivity : AppCompatActivity(), FirebaseAuth.AuthStateListener {
@Inject lateinit var auth: FirebaseAuth
override fun onAuthStateChanged(auth: FirebaseAuth) {
val firebaseUser = auth.currentUser
if (firebaseUser == null) {
//Update UI
}
}
override fun onStart() {
super.onStart()
auth.addAuthStateListener(this)
}
override fun onStop() {
super.onStop()
auth.removeAuthStateListener(this)
}
}
这意味着当 FirebaseUser 变为空时(例如用户退出),我会相应地更新 UI。它工作正常,但是当涉及到 MVVM 时,活动知道 Firebase,这是不正确的。我有这个结构:
Activity -> ViewModel - Repository (calls to Firebase)
如何监听存储库类中的 auth 变化?还是有其他解决办法?
【问题讨论】:
标签: android firebase mvvm firebase-authentication android-architecture-components