jjzjj

presenting

全部标签

android - MVP:如何从 Presenter 写入日志

我使用Mosby使用MVP模式构建应用程序。这是规则之一:Don'tuseandroidlibrarycodeinPresenter.但是如果我想从Presenter记录一些东西怎么办?我看到的唯一方法是使用System.out.println();但这听起来不太好。有什么想法吗? 最佳答案 不在Presenter中使用Android库代码的原因是,当您开始编写单元测试时,您的类中的Android代码没有依赖性,因此它可以直接在JVM上运行。如果您发现自己需要使用Android代码,那么我这样做的方法是将其隐藏在界面后面。这样,您就

android - 在带有 RxJava : How can you keep the presenter free of any android knowledge while still observing on the UI thread? 的 Android 上使用整洁的 MVP

为了使用mvp模式在android上实现“整洁”的架构,建议将android框架视为插件,并且不要将任何android感知依赖项泄漏到演示层中。使用rxjava,如果我有一个设计用于将数据“推送”到View层的演示器,我可能希望有这样的逻辑:publicinterfaceSearchPresenter{interfaceViewLayer{voidupdateResults(ListsearchResults)}voidbind(ViewLayerviewLayer);voidunbind();}publicclassSearchPresenterImplimplementsSearc

android - 错误 : Program type already present: com. google.common.annotations.Beta

自从我的androidstudio几天前更新后,由于这个错误,我一直在努力让我的应用程序再次运行。Programtypealreadypresent:com.google.common.annotations.BetaMessage{kind=ERROR,text=Programtypealreadypresent:com.google.common.annotations.Beta,sources=[Unknownsourcefile],toolname=Optional.of(D8)}这是我的build.gradle:applyplugin:'com.android.applica

java - 构建失败 : Program type already present: com. facebook.ads.Ad

我尝试在AndroidStudio中构建一个模块。它似乎可以在设备上运行,但是当我尝试构建APK时,出现错误:Programtypealreadypresent:com.facebook.ads.Ad完整日志如下:org.gradle.api.tasks.TaskExecutionException:Executionfailedfortask':NewApp:transformClassesWithMultidexlistForDevDebug'.atorg.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.

Android MVP - Activity 应该是 View 还是 Presenter?

我想用MVP模式实现我的下一个应用程序,所以我开始阅读一些关于如何实现它的文章。对我来说,主要问题是这种模式有不同的方法。有人说我们应该将Activity视为一个View,而另一些人则认为Activity应该是一个Presenter。此处描述了作为View的Activity:MVPAndroid这是有道理的。但另一方面,我通过一些投票找到了这个答案https://stackoverflow.com/a/7609943还有人说activity应该是presenter。有人对这种模式有经验吗? 最佳答案 经过片刻的思考,我认为Activ

android - Model View Presenter - 相同的 View ,不同的演示者

我正在使用MVP构建一个Android应用程序,我对这种模式有一个疑问。假设我有一个用于创建新人的屏幕。此屏幕将显示一个EditText用于插入姓名,另一个用于姓氏,一个ImageView用于显示选择的照片图片,等等。这将导致一个View界面,由Fragment实现。它将与一个由另一个类实现的Presenter接口(interface)协作。很好。现在我有另一个功能:编辑现有人物的屏幕。碰巧的是,此功能的View与创建新人的相同。但是,Presenter是不同的。它将首先从数据库加载现有人员以使用当前数据预填充View,单击“保存”时对数据库的操作将是更新而不是插入。所以,我认为这是M

android - 在 Android 中实现 Model-View-Presenter 的困难

Model-View-Presenter(MVP)是一种众所周知的GUI应用程序设计模式。对于Android,在普通Java模块中实现业务逻辑有助于进行测试,而无需Android模拟器。但是,由于对Android应用程序GUI的特殊要求,我在Android上实现该模式时遇到了困难:Activity可能会在任何时候被销毁(来电、用户按下主页按钮……),并且在重新创建时它应该处于与离开时完全相同的状态。这与大多数其他GUI应用程序不同。一个Activity可以经历许多生命周期状态。它可能会暂停,在这种情况下不应修改Activity的UI。例如,如果某些数据正在后台加载,如果它处于暂停状态,

android - 错误 : AGPBI: Program type already present: com. google.android.gms.auth.api.signin.internal.zzg

在我使用Google登录和Firebase云消息传递的Adrdoi应用程序中,我收到此错误消息:AGPBI:{"kind":"error","text":"Programtypealreadypresent:com.google.android.gms.auth.api.signin.internal.zzg","sources":[{}]}这是否意味着google身份验证库已在其他地方使用?那是什么? 最佳答案 我遇到了同样的问题。因改变而改变implementation'com.google.firebase:firebase-

android - 带有 BroadcastReceiver 的 list 中的 ACTION_USER_PRESENT

是否可以通过manifest抓到ACTION_USER_PRESENT屏幕解锁,似乎众说纷纭。这个线程暗示不,它不能完成:AndroidBroadcastReceiverNotWorking这个线程暗示是的,它可以完成:BroadcastReceiverforACTION_USER_PRESENT,ACTION_SCREEN_ON,ACTION_BOOT_COMPLETED我无法使用2.3.3或3.2模拟器运行该事件。有没有其他人最近有这方面的经验?也许还有一个代码示例可以分享? 最佳答案 使用接收器:publicclassRece

android - 带有 Presenter 的 RxJava 和用于配置更改的保留 fragment

我是RxJava的新手,并且将它与MVP架构一起使用。我找到了一些关于使用保留fragment在配置更改时保存可观察对象的示例(仍然不确定这是否是最好的方法)。不过,我发现的示例是直接在Activity或Fragment上处理observable,而不是来自Presenter。所以我试验并设置了这个quickexample(仅使用Reactivex的RxJava和RxAndroid库)只是为了测试,这似乎工作正常。这个例子所做的是:使用headless保留fragment启动Activity。按钮Presenter为延迟(5秒)响应可观察调用FakeService。Presenter对