【发布时间】:2017-09-26 14:50:04
【问题描述】:
我一直在尝试使用MVP 和dagger 制作一个简单的记事本应用程序(我的第一个应用程序)。
我已经理解了大部分内容,但是如果我有多种行为,我会有点迷茫。我会解释的。
我的项目层次结构是这样的:
Click here
- MainActivity - 活动类,包含一个列表视图。
- MainPresenter - 接口,包含一个设置容器方法和一个刷新方法
- MainPresenterImpl - 演示者的实现
- MainView - MainActivity 接口(用于 mvp)
- Note_Container - 包含 NoteHandler 以加载保存笔记、创建/存储适配器并可以进行更改
- 忽略空的noteactivity
- di 文件夹用于依赖注入
- models 只有一个 note 类,包含两个字符串
- NoteHandler - 包含 NoteRepository 并在抛出异常时处理它们。
- NoteRepository - 使用 gson 库保存和加载文件中的笔记。
在解释完所有这些之后,您应该(可能)已经了解项目的工作原理(随意批评层次结构)。
现在我想添加一个创建笔记的按钮。我将在 mainactivity 上添加侦听器并将其重定向到 Presenter...
但是演示者会处理代码以添加新注释(开始新意图等)还是我应该创建一个新类来独立处理这些东西?
如果我想在将来添加更多按钮,例如删除所有注释或启动帮助对话框,我应该为每个按钮创建一个处理代码的类吗?
我怎样才能组织这样的事情?
【问题讨论】:
-
不错的设置。一个好的方法是让您的演示者委派大多数任务。演示者中的 onXXClicked 在视图、控制器或其他类上调用某些东西。在这种情况下,将您的应用程序导航到其他地方的视图。我会避免在您的演示者中引用上下文(从附加视图中)。
标签: java android mvp android-mvp