如何将MVP模式应用于android项目

抱歉我的英语语法。 我的问题有点愚蠢,但我想清楚地了解MVP模式在实际应用中的应用方式。

我正在开发一个android项目。 我想将MVP模式应用于我的项目。 我参考这个演示:

https://github.com/antoniolg/androidmvp

我对这种模式感到非常兴奋。 但是在这个演示项目中,我看到了每个活动(一个视图),我们总是有一个演示者和一个交互者(模型)和其他东西。 所以在有很多屏幕的项目中:

  • 我该如何管理演示者和模型。

  • 对于每个活动(示例LoginActivity),我创建一个“登录”包并将所有演示者和模型放入其中。 可以吗?

  • 有人可以使用MVP模式给我一个小的应用程序源代码。 (不是演示项目)。

要在android中应用MVP模式,你需要了解MVP在android方面的确切含义。 模型,视图和演示者如何相互通信。 这是一个更好地理解它的图表。

在此处输入图像描述

我已将此模式应用于我的一个应用程序,它使我能够对我的核心逻辑进行unit testing并更好地组织代码。

您可以参考此链接来了解我使用MVP创建的MVP和应用程序。

我会说一些不太有用的东西,但这取决于项目和你:-)。 就个人而言,我有顶级子包 – 演示者,视图,模型。 我们正在将这些课程纳入其中。 原因是在大多数情况下,模型是整个应用程序的模型。 当一些演示者可能分享同一个视图时,也有一些情况(我知道它们很少见)。

亲切的问候

我的建议和建议很少:

1:为文件使用适当的文件夹结构。

com.app..activities com.app..fragments com.app..adapters com.app..models com.app..api com.app..listeners . . . 

2:创建应用程序的Application类,在其中初始化全局第三方库实例,并创建Application类SingtoneInstance以访问它们。

3:分离视图和业务逻辑层以跟随侦听器:

 APIRequest DBRequest ImageCaching . . . 

4:一些标准化和通用的实践:使用经过validation的稳定库并将它们与应用程序业务层和视图层桥接。 很少有图书馆喜欢

  API Framework : Volley Image Framework : UniversalImageLoader/Picaso 

我写过关于着名的模型视图演示者,这是Android上Spotify的一个小型克隆。 在任何未来的项目中总是等着帮助任何人!

我的博客: http : //erikcaffrey.github.io

发布: http : //erikcaffrey.github.io/2015/11/03/mvp/

github上的代码: https : //github.com/erikcaffrey/SpotifyMVP