Model-View-Presenter (MVP) 是一种众所周知的 GUI 应用程序设计模式。对于 Android,在纯 Java 模块中实现业务逻辑有助于测试,而无需 Android 模拟器。
但是,由于对 Android 应用程序的 GUI 有特殊要求,我很难在 Android 上实现该模式:
Activity 可能在任何时候被销毁(来电,用户按下主页按钮,...),并且在重新创建时它应该处于与离开时完全相同的状态。这与大多数其他 GUI 应用程序不同。
一个 Activity 可以经历许多生命周期状态。它可能会暂停,在这种情况下不应修改 Activity 的 UI。例如,如果某些数据正在后台加载,如果它处于暂停状态,则无法将其传递到 MVP(Activity)的 View 部分。同样,这是一个不寻常的要求。
我已阅读博文MVP for Android并查看了示例源代码。我试图通过使用 MVP 模式实现的最终目标是能够使用转译器j2objc将所有业务逻辑转换为 Objective-C ,以便在 iOS 上实现相同的应用程序时可以重用业务逻辑。
有没有人成功地为 Android 实现了 MVP 模式,在这种情况下,我错过了什么?