小编Tah*_*ani的帖子

如何以MVP模式将上下文传递到存储库

我一直在学习和整合MVP pattern,很少有问题。

我从这张图中了解到的是

活动将创建的实例Presenter,并将其引用和model对象传递给演示者

MainPresenter mainPresenter = new MainPresenter(this, new MainModel());
Run Code Online (Sandbox Code Playgroud)

接下来,如果演示者需要从本地首选项或远程存储或获取任何数据,它将询问模型。

然后模型将询问存储库以存储和检索数据。

在此处输入图片说明

我遵循了一些教程,这就是我实现模式的方式。

接口

public interface MainActivityMVP {

    public interface Model{

    }

    public interface View{
        boolean isPnTokenRegistered();
    }

    public interface Presenter{

    }
}
Run Code Online (Sandbox Code Playgroud)

活动

MainPresenter mainPresenter = new MainPresenter(this, new MainModel());
mainPresenter.sendDataToServer();
Run Code Online (Sandbox Code Playgroud)

主持人

public void sendDataToServer() {

    //  Here i need to ask `model` to check 
        do network operation and save data in preference
}
Run Code Online (Sandbox Code Playgroud)

现在的问题是我需要访问上下文sharedPreference,但是我没有经过context任何地方。我也不想使用static context。我想知道将上下文传递到MVP模式的正确方法。

performance android android-layout android-fragments android-mvp

6
推荐指数
1
解决办法
1434
查看次数

不建议在底部导航中使用活动

如前所述这里,和其他一些地方,它是更好地使用fragment,而不是activitiesbottom navigation

如果不推荐,那么我有几个问题,

我将在底部导航中有5个项目,所有项目都将从Web服务检索数据,并且有大量数据,每个项目都必须进行解析并具有复杂的布局。

现在我的问题是,具有这些片段类型的活动能否对性能产生任何影响。

以及为什么不建议将活动与 bottom navigation.

performance android android-layout android-fragments

4
推荐指数
1
解决办法
2446
查看次数