如何将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