【问题标题】:MVP Design for Android: How to adopt to my application?Android MVP 设计:如何应用到我的应用程序中?
【发布时间】:2016-12-16 01:31:54
【问题描述】:

我正在编写一个应用程序,该应用程序将具有一个 JSON 文件,其中包含应解析并保存到 ItemModel POJO 中的数据。

现在假设我有一个简单的Activity,它什么都不显示——我希望我的应用程序在启动时解析JSON 并创建模型对象(我想弄清楚基本的这些部分的架构,然后再转向更大/更好的东西)。我想在制作任何 UI 组件之前对这段代码进行单元测试,以确保我的模型类工作正常。

所以,ItemModel 显然是一个模型对象。

JSON 解析在 MVP 方面落在哪里?解析数据的库(GsonJackson 或其他?)肯定需要 Android Context 来实现这一点,所以我应该在 Activity 中解析该信息吗?如果是,那么现在视图知道 Model 类,这会破坏 MVP。

另外,如果我想让他们将ItemModel/JSON 数据保存在数据库中,应该在哪里完成?数据库在技术上应该在模型中 - 但同样需要Context 才能正常工作......

有什么想法吗?谢谢!

【问题讨论】:

标签: android mvp


【解决方案1】:

在 Android 中实现 MVP 没有准确/正确的定义

这是一篇关于 MVP 的精彩文章

我会按照以下方式做 MVP。

  1. 模型 - POJO、解析、存储 (SQLlite) 和检索数据 (http)。显然,我会将 POJO、解析和数据库逻辑划分到子文件夹中 - 但这一切都属于我的模型。
  2. 查看 - ActivityFragmentAdapters - 活动和片段保存对提供数据显示的 Presenter 的引用。在视图中如何处理这些数据/消息、外观和感觉等。
  3. Presenter - 中间人,为输入提供逻辑,即按钮点击、数据检索、输入验证,然后将结果传递回视图(ActivityFragment

这是 MVP 的简化 diagram

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-04
    • 2020-07-02
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-15
    相关资源
    最近更新 更多