草庐IT

android - 我应该如何在 MVP 中的 Activity 之间传递数据(例如,单击了哪个项目)?

我有以MVP模式显示的项目列表。View是一个Activity(又名ItemsList)。我想显示下一个Activity(也是MVP'ed,又名ItemDetails),其中包含在ItemsList中单击的项目的详细信息。ItemsList的模型由存储库中的数据提供。所以实际上它是RMVP。它看起来像这样:|->ModelPresenterView[ItemsList]RepositoryModelPresenterView[ItemDetails]ItemsList的模型已经确切地知道单击了哪个模型项目,因此我可以立即将它从ItemsList传递到ItemDetails而无需获取数据

android - 恢复 ViewPager fragment 的演示者 (MVP)

我正在尝试重构现有应用程序以使用MVP架构。其中一个Activity有一个包含三个fragment的ViewPager。每个fragment都与一个演示者相关联。准确地说-每个演示者在创建时都会获得一个要使用的View,即Fragment。现在,我在ViewPager的适配器内创建这些演示者-特别是在getItem(intposition)方法中。Fragmentfragment=FirstFragment.newInstance();FirstPresenterpresenter=newFirstPresenter(repo,(FirstContract.View)fragment,

java - 带有 Android : How to inject context when using MVP? 的 Dagger

在开发Android应用程序时,我偶然发现了一个问题。我刚开始使用Dagger,所以我知道一些基本概念,但是当在教程及其用例范围之外使用它时,事情就变得不太清楚了。那么进入正题。在我的应用程序中,我使用了这篇博文中描述的MVP:http://antonioleiva.com/mvp-android/所以一开始我将Interactor类(处理数据的类)注入(inject)Presenter类,一切正常。但是后来我实现了使用SQLite数据库的方法,所以现在需要在我的Interactor类中使用Context。我不知道该如何正确执行此操作?我的临时修复是从我的应用程序中排除Dagger,并

android - 如何在 android MVP 中应用组合?

最近我接手了一个基于MVP构建的android项目。虽然简单的屏幕非常直观且易于阅读和维护,但应用程序的更复杂部分却并非如此。多个继承级别使我在类之间切换了好几天,试图找出信息流实际上是如何工作的。这里是问题较多的层次结构的一个示例:由于我们使用MVP,自然而然地,图中的每个类都有另一个展示器类和另一个View类。所以我做了一些研究并找到了这篇文章:CompositionvsInheritanceinMVP它基本上是说在这种情况下组合应该比继承更受青睐。它没有说的是如何在android中应用它。我想了一会儿,但想不出一个好的模式。我可以做自定义View,但他们最终会如何使用演示者?

android - 使用 Dagger 在 Android mvp 上实现 GoogleApiClient?

我有几个问题,首先,当我阅读一些文章时,我应该在Activity中实现LocationListener、ConnectionCallback、OnConnectionFailedListener接口(interface),将这些类的实现分开放在不同的文件中是否正确?喜欢下面吗?publicclassLocationListenerimplementscom.google.android.gms.location.LocationListener{@InjectLocationmLastLocation;@OverridepublicvoidonLocationChanged(Locat

Android MVP 与 RxAndroid + 改造

最近我开始阅读很多关于MVP的文章,我想用它来实践我的项目。但是我无法正确理解Rx+Retrofit代码应该放在哪里?我认为它应该通过交互器位于模型层中,但仍然有人可以就此分享一些信息吗?此外,RX回调会发生什么情况?onNext()、onCompleted()和onFailure()将数据传回Presenter还是我们实现监听器然后将其传递给Presenter?我还想在onNext()中获取数据时保留数据(Realm/StorIO),所以再次将它传递给另一个DataLayer或者它应该去哪里?我们还应该进一步解耦Rx回调吗?我正在关注这篇文章https://davidguerrero

android - 上网查,使用MVP、RX和Retrofit时放在哪里

我已经经历了this和this邮政。所以我真的同意第二个帖子,即演示者不应该知道android特定的东西。所以我在想的是将互联网检查放在服务层中。我正在使用RxJava进行网络调用,所以我可以在进行服务调用之前进行网络检查,所以这样我需要手动抛出IOException因为当网络不可用时我需要在View上显示错误页面,另一种选择是我为没有互联网创建自己的错误类Observable>response=Observable.create(newObservable.OnSubscribe>(){@Overridepublicvoidcall(Subscriber>subscriber){if

android - Android 服务在 MVP 模式中应该扮演什么角色?

我正在开发一个执行人类Activity识别的Android应用。它基本上是这样工作的——服务不断读取加速器数据并将识别的Activity(即步行、运行)存储在数据库中。用户可以在Activity(访问数据库)中的ListView中看到所有已识别的Activity。数据库中的每个用户表都有一个pa_goal(bodyActivity目标)字段,服务从数据库中读取该字段并进行一些检查。当然,用户可以通过Activity更改此目标。因为我将实现MVP架构模式。我不确定将服务放在哪里?它肯定不是View。有什么建议吗? 最佳答案 在一个干净

android - 如何在 Android 的 MVP 架构中的两个演示者之间共享数据?

这是一个示例场景:我有一个Activity(View)和该View的演示者。演示者从网络API中获取用户列表,并使用List对象将其保存在内存中。该Activity包含不同类型的fragment,以根据User.type显示有关用户的内容。这两个fragment(UserType1Fragment和UserType2Fragment)也有各自的Presenter。Activity的演示者决定接下来显示的fragment类型(I或II)。fragment的呈现器决定用户对象的显示方式并处理名为killUser()的按钮单击事件。这应该更新Activity演示者中的列表对象。这就是问题所在

android - MVP 适配器数据缓存

我正在按照MVP架构开发项目。通常,当我使用recyclerView时,我的演示者控制适配器数据。但是现在我需要用缓存(或缓存之类的东西)中的数据制作回收器适配器,回收器的大小不取决于缓存大小,所以我通过HashMap创建缓存,其中关键是-回收器的位置,如果有一个项目映射然后显示数据,否则空行带有“添加事件”btn。而且我不知道在这种结构中缓存的位置-模型(Dao或CacheManager之类的东西)或在适配器中。缓存的想法如下:我有一些类型的事件存储在数据库中,每个事件修改都会在数据库中更改它-所以缓存也必须更新。主要问题是:在哪里保存这个缓存并将它加载到适配器,我怎样才能使它与数据