【问题标题】:How to apply MVP pattern to android project如何将 MVP 模式应用于 android 项目
【发布时间】:2017-11-08 13:48:59
【问题描述】:

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

我正在开发一个安卓项目。我想将 MVP 模式应用到我的项目中。我参考了这个演示:

https://github.com/antoniolg/androidmvp

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

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

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

  • 谁能给我一个使用MVP的小应用程序源代码 图案。 (不是演示项目)。

【问题讨论】:

    标签: java android mvp


    【解决方案1】:

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

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

    您可以参考this link了解MVP和我使用MVP创建的应用程序。

    【讨论】:

      【解决方案2】:

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

      亲切的问候

      【讨论】:

      • 感谢您的回答。你能给我一个 Github 上的小项目吗?像你这样使用 MVC 模式。
      【解决方案3】:

      我的一些建议和建议:

      1:为您的文件使用正确的文件夹结构。

      com.app.<appname>.activities
      com.app.<appname>.fragments
      com.app.<appname>.adapters
      com.app.<appname>.models
      com.app.<appname>.api
      com.app.<appname>.listeners
      .
      .
      .
      

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

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

      APIRequest
      DBRequest
      ImageCaching
      .
      .
      .
      

      4:一些标准化和常见的做法:使用经过验证且稳定的库并将它们与您的应用程序业务层和视图层桥接。 很少有图书馆喜欢

       API Framework   : Volley
       Image Framework : UniversalImageLoader/Picaso
      

      【讨论】:

      • 根据我的经验,这种文件夹结构对小型项目很有用。对于中型和大型的,最好在较小的模块级别上执行类似的操作,例如保留活动、片段等以获取详细信息,并为列表保留相同的内容。
      • 文件夹结构应该基于特性而不是通用功能。参考stackoverflow.com/questions/37664828/…
      猜你喜欢
      • 2010-10-05
      • 1970-01-01
      • 2014-09-11
      • 2017-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-01
      相关资源
      最近更新 更多