我应该在哪里进行MVP架构中的活动导航?

我应该在哪里进行MVP架构中的活动导航?,第1张

概述我有一个使用MVP架构构建的Android项目.我不太确定的一件事是,例如,当我想在单击按钮后导航到另一个活动时,应该放置startActivity(intent)在视图组件内部还是在presenter组件内部?解决方法:您必须在视图组件中执行此 *** 作,所有ui相关的活动都必须在视图中执行,例如打开新活动或

我有一个使用MVP架构构建的Android项目.我不太确定的一件事是,例如,当我想在单击按钮后导航到另一个活动时,应该放置

startActivity(intent) 

在视图组件内部还是在presenter组件内部?

解决方法:

您必须在视图组件中执行此 *** 作,所有ui相关的活动都必须在视图中执行,例如打开新活动或替换片段并请求权限.

让我进一步解释一下,假设我们的活动中只有一个按钮,因此我们将在演示者中编写其逻辑,即调用演示者方法buttonClick(),如果要在逻辑之后打开另一个活动,则只需调用getMvp.openMainActivity();.其中openMainActivity()将成为视图的一部分.

这是基于MVP架构的基本登录活动的示例方法.
我的登录演示者MVP界面有

  voID onServerLoginClick(String email, String password);

我的登录视图MVP界面有

voID openMainActivity();

我的登录演示者实现是

@OverrIDe    public voID onServerLoginClick(String email, String password) {        //valIDate email and password        if (email == null || email.isEmpty()) {            getMvpVIEw().onError(R.string.empty_email);            return;        }        if (!CommonUtils.isEmailValID(email)) {            getMvpVIEw().onError(R.string.invalID_email);            return;        }        if (password == null || password.isEmpty()) {            getMvpVIEw().onError(R.string.empty_password);            return;        }        getMvpVIEw().showLoading();        User u   = getDataManager().matchUser(new User(2l,"",email,password,"",""));        if (u==null){            getMvpVIEw().onError("No user found");            getMvpVIEw().hIDeLoading();        }else {            getDataManager().updateUserInfo(                    "",                    u.getID(),                    DataManager.LoggedInMode.LOGGED_IN_MODE_SERVER,                    u.getname(),                    u.getEmail(),                    "",                    password);            getMvpVIEw().hIDeLoading();            getMvpVIEw().openMainActivity();        }    }

我的登录视图类的实现是

@OverrIDe    public voID openMainActivity() {        Intent intent = MainActivity.getStartIntent(LoginActivity.this);        startActivity(intent);        finish();    }

希望这可以帮助您理解概念.

总结

以上是内存溢出为你收集整理的我应该在哪里进行MVP架构中的活动导航?全部内容,希望文章能够帮你解决我应该在哪里进行MVP架构中的活动导航?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1080807.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-27
下一篇2022-05-27

发表评论

登录后才能评论

评论列表(0条)

    保存