问题标签 [android-mvp]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 使用 RxAndroid MVP Retrofit 修改回调
我一直在使用with with一段时间的MVP
架构。我想用我的回调替换我的回调,但我似乎无法掌握它应该如何完成。Retrofit
callbacks
RxJava/Android
我有一个拦截器(交互器)的接口:
然后是拦截器实现:
在注释代码中,您可以看到我将如何使用回调来执行此操作,但 Rx 要求我返回Observable
。我该怎么做?以及如何通知我的演示者数据已被提取?
演示者界面:
和主持人:
android - gson 中的 java.lang.StackOverflowError
在以 MVP 结构构建我的应用程序时,我遇到了一个问题,当我使用 Retrofit 调用 Web 服务以响应成功时,我将整个数据传递到 json 字符串中,因此它会促使我这样做。
我的原木猫:
这是我的改造 API 调用:
这是我收到响应的主要活动:
从 Setdefaultvalue() 我正在检查我对活动的响应:
这是我的两个模型类:(PitchList_Res)
PitchList_Data.java
android - Android app architecture design pattern
I'm looking to create a basic architecture of Android app boilerplate with (Login, SignUp, Other features that every app has). After lot of research I found that going with MVP is going to be best choice.
However I'm not getting the right way to implement MVP. I'm a beginner with this.
If someone can guide me with the right sources, it will be of great help.
android - MVP RxJava2 - 管理网络错误
我尝试使用 RxJava2 遵循 MVP 设计模式。我是新手。当我从 API 请求数据时,在我的 Presenter 中我这样调用我的模型:
当出现错误时,我想向用户显示一个带有消息的对话框。
所以我在想的是displayErrorDialog(String message)
在视图上创建一个。但问题是:我在应用程序的任何地方都调用了 API,所以这意味着我的所有视图都必须实现该方法!
该对话框需要由视图显示:
- 遵循MVP设计模式
- 因为我需要当前的上下文来显示对话框。
我正在寻找一种更好的解决方案,以便不必在每次有新视图时都实施相同的方法。
android - Android MVP:处理对 RecyclerView 的更改
在 Android 应用程序中使用 RecyclerView 时,许多帖子和教程都使用适配器处理列表的更新,使用 DiffUtil 等解决方案。然而,这似乎并不遵循 MVP,因为适配器存在于视图层中。
那么,如何让 Presenter(或模型)负责管理对 RecyclerView 显示的项目列表的更改,同时保持 RecyclerView 最新?
例如,RecyclerView 显示手机可以连接的可用蓝牙设备列表,每行包含设备名称和 RSSI 值。演示者想要从最大到最小的 RSSI 值显示设备,并且想要插入发现的新设备并删除不再可用的设备。
java - 将演示者传递给父视图的最佳方式
我正在编写基于多层 MVP 的应用程序。所有层的通用方法都转到 BASE 层。然后每个子类的特定方法转到 MIDDLE 和 TOP 层。
从代码示例中,您可以看到我将演示者的视图作为 create 方法的参数传递。
我的问题是我应该如何将我的演示者传递给父母的意见。我可以按照示例中所示的方式进行操作,其中 BASE 层演示者在创建视图时将其自身附加到视图?或者应该一个 TOP 层片段(创建演示者的地方)将演示者附加到父片段。
或者也许有另一种方法来处理这种情况。
基层
中间层
顶层
java - 调度程序引发致命异常 - Android 中的 rxJava2
我正在使用 MVP 向自己介绍 Android 中的 rxJava2。
对于最初的步骤,我创建了一个活动、一个演示者和一个模型对象(每个对象都有一个接口类)。
在我的活动中,我创建了演示者,并尝试加载数据,并在准备好时通知视图:
在演示者内部,在 loadData 方法上,只是回调查看
方法 getBooks() 如下(我想使用 API,但到目前为止,为了简单起见,我只是将数据硬编码)
view.displayBooks(bookList) 方法只有一条 Toast 消息(再次,为简单起见)
看起来很简单,应该正确返回三本书的吐司......但是在执行时,它会引发异常:
在 Unitary Test (Mockito) 中,一切似乎都运行良好,但一起失败了。我的怀疑是存在某种线程问题。有人可以帮我解决这个问题吗?
另外,知道我想使用改造,我使用的方法是正确的吗?或者也许线程应该在模型/存储库类中管理?
希望我提供的信息足以澄清问题出在哪里
提前致谢!
android - Android MVP - RxJava 和改造 - 最佳方法
我正在研究如何使用 MVP、RxJava2 和改造来开发 Android 应用程序。
在我的演示者中,代码如下:
Retrofit 接口定义如下:
存储库只是
它工作正常。问题如下:我的意图是仅当本地数据不可用时才在db中获取网络数据。
考虑到这一点,调度程序在演示者中管理是否正确?还是应该在存储库中管理它们?
我的猜测是 Presenter 是正确的地方,因为它创建了一个线程,因此存储库可以按顺序执行它的工作(获取 db,如果没有,然后获取网络/缓存;在获取数据的任何地方返回数据),并且当提供数据时,在 Consumer 的 accept 方法中通知视图。
这是对的吗?还是应该以不同的方式完成?
另一点是:我如何使用 Mockito 存储库进行测试?我的意思是 dataModelRepository.getDataList() 方法?不知道如何为单个对象做任何断言......
提前致谢!
java - MVP 的 Dagger2 合并组件
我有一个当前的应用程序,我正在尝试通过练习来学习 MVP 和 Dagger2,但我必须遗漏一些东西。
我有以下课程:
[MVP]
登录活动(查看)
登录演示者(演示者)
登录模型(模型)
[匕首 2]
活动范围
应用程序上下文
应用组件
应用模块
登录组件
登录模块
当我编译应用程序时,我收到以下错误:
我想做的是拥有单独的组件并将它们组合起来,但到目前为止我还没有成功。
已经尝试让 LoginComponent 从 ApplicationComponent 继承,但也没有骰子。
android - MVP(Android)中的演示者在片段中被删除/为空
我正在使用 MVP。我的活动包含一个片段。我正在初始化,然后将演示者设置为 Main-Activity 的 on Create 方法中的片段,如下所示。
在我的 mainFrgament 类中,我是 setPresenterFunction 中的 settinf Presenter,如下所示。
有时,在 mainFragment 的 OnCreateView 中执行以下代码所示的搜索操作时,我收到一条错误消息,指出我的转发 “尝试在空对象引用上调用接口方法”
有时我会收到此错误,有时我不会。我不明白为什么会这样