gpt4 book ai didi

java - Android Clean 架构中的登录流程

转载 作者:行者123 更新时间:2023-12-02 02:23:03 46 4
gpt4 key购买 nike

我希望使用 Clean Architecture 实现一个简单的 Firebase 身份验证 Android 应用程序,因此根据 Firebase 文档,可以检查用户是否已登录

@Override
public void onStart() {
super.onStart();
// Check if user is signed in (non-null) and update UI accordingly.
FirebaseUser currentUser = mAuth.getCurrentUser();
updateUI(currentUser);
}

所以我很困惑应该把这个条件放在哪里,应该在 UseCase 中还是在 Presenter 中,在同一源对象的帮助下独立调用

类似的东西

public interface FirebaseAuthDataSource {
Single<User> loginUser(String username, String password);
Single<User> isUserLoggedIn();
}
public class LoginUserUseCase {
public Observable<ResponseValues> buildUseCase(RequestValues requestValues) {
return firebaseAuthDataSource.loginUser(username,password);
}
}
public class LoginPresenter{
public void onStart(){
firebaseAuthDataSource.isUserLoggedIn()
.subscribe(LoginView::navigateToMenuScreen);
}
}

像这样的条件,它们是否符合业务逻辑?还是流程逻辑?

最佳答案

根据 Bob 大叔的说法,UI 不应该了解有关数据库的任何信息。这些条件属于框架层,所有数据库内容都应该在框架层中。通信通过用例和数据访问接口(interface)进行。

如果这对您来说太费力,那么您也可以将将来可能发生变化的敏感部分转移到“整洁架构”。但那只是我的个人意见。我希望这对你有帮助

关于java - Android Clean 架构中的登录流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48205803/

46 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com