【发布时间】:2017-10-26 01:53:15
【问题描述】:
我是近 2.5 年的 Android 开发经验,在 Activity 类中编写所有代码很简单。
最近我发现了很多关于开发的好东西,它们会让开发者的生活变得很棒。
- 改造
- RxJava/RxAndroid
- 匕首
- MVP 模式
- 测试代码(单元测试)
我学到了什么(至少从项目开始)
改造
RxJava/RxAndroid
我对 MVP 的困惑是什么
有人遵循代码风格
- 视图(界面)
- 演示者(界面)
- PresenterImplementation(类)
- 交互器(接口)
- InteractorImplementation(类)
但是,我跟着
- 视图(界面)
- Presenter (Class) --- 实现 --> [ PresenterForView (Interface) & PresenterForInteractor (Interface) ]i>
- PresenterForView (Interface) - 它适用于 View(例如,在 View 中单击登录按钮,即 Activity)。从 View 获取登录点击并提供给 Interactor
- PresenterForInteractor (Interface) -- 它适用于 Interactor(例如,从 Interactor 获得响应,如成功,未能在 View 中显示,即 Activity强>)。
- Interactor (Class):执行验证逻辑,调用 webservice(使用 Rxjava 和 Retrofit),返回 NoNetwork、TimeOut、Failure、Success 响应到 PresenterForInteractor
很多人说逻辑(if..else)应该只写在 Interactor 中。您的 View(Activity) ,Presenter 不应包含(If else 语句)应用程序逻辑。
Medium 上有很多教程,人们可以在其中做任何事情。
他们在 Presenter 中编写了一半的应用程序逻辑,其余在 Interactor
我尝试按照第一个选项在 Interactor
中编写每个应用登录但在某些情况下,我对在哪里编写应用登录感到困惑
- onActivityResult
- onRequestPermission
- 在 2nd Activity 中使用通过 Intent.putExtras 从 1st Activity 获得的数据(我总是在 2nd Activity 的 OnCreate() 中使用)
【问题讨论】:
-
您能发布这些教程的链接吗?我现在只能说 MVP 在没有交互器的情况下完全可以正常工作。所以不用担心不用担心。
标签: android architecture mvp