草庐IT

androidannotations-dagger-example

全部标签

java - Dagger2 "cannot be provided without an @Provides-annotated method."问题

我正在尝试使用Dagger2设置一个新项目,我以前使用过Dagger2,但现在我正在尝试自己从头开始设置它。我正在从我参与的Kotlin项目中获取示例,但无法像现在在Kotlin中一样为Java设置它(或者我可能遗漏了一些东西)。它只是一个组件、一个模块和一个应用程序。组件@Singleton@Component(modules={MainAppModule.class})publicinterfaceAppComponentextendsAndroidInjector{@Component.BuilderabstractclassBuilderimplementsAndroidInj

android - MVVM Dagger2 组件中存在具有匹配键的绑定(bind)

我正在使用以下谷歌示例项目:https://github.com/googlesamples/android-architecture-components作为我的新项目的引用,并且在尝试向该项目添加第二个Activity时遇到困难。这是我在编译时遇到的错误Error:(22,8)error:[dagger.android.AndroidInjector.inject(T)]com.apps.myapp.ui.common.MainActivitycannotbeprovidedwithoutan@Injectconstructororfroman@Provides-annotated

java - Dagger 2 : no injector factory bound for fragment

我正在尝试将我正在构建的项目转换为将dagger-androidAPI用于DI框架,但在尝试使用@ContributesAnroidInjector注入(inject)fragment时,我遇到了IllegalArgumentException的死胡同。相关模块和组件如下:ApplicationComponent.java@Singleton@Component(modules={AndroidSupportInjectionModule.class,ApplicationModule.class,ActivityBindingModule.class,DataManagerModul

android - emulator-5554 断开连接!正在取消 'com.example.merhaba.Main activity launch'!

我开始使用eclipseIDE编写android应用程序。但是当我运行应用程序时,我正在断开emulator-5554连接!正在取消“com.example.merhaba.MainActivity启动”!错误。我能做什么? 最佳答案 我发现的问题在于该项目没有在AVD管理器中为其定义适当的虚拟设备。所以在eclipse中推荐的步骤是:转到“项目”->属性->Android。在右Pane中查看项目构建目标中选中的行。记住出现在所选行中的目标平台编号。转到“Windows”->AVD管理器。检查现有Android虚拟设备列表,找到与您

android - 如何使用 dagger2 将 Activity 注入(inject) Adapter

AndroidStudio3.0金丝雀8我正在尝试将我的MainActivity注入(inject)我的适配器。然而,我的解决方案工作正常,但我认为它有代码味道,而不是正确的方法。我的适配器fragment看起来像这样,但我不喜欢的是我必须将Activity转换为MainActivity:publicclassRecipeAdapterextendsRecyclerView.Adapter{privateListrecipeList=Collections.emptyList();privateMapviewHolderFactories;privateMainActivitymain

【Git错误】上传gitee:Please tell me who you are.Run git config --global user.email “you@example.com

错误:Authoridentityunknown***Pleasetellmewhoyouare.Run gitconfig--globaluser.email"you@example.com" gitconfig--globaluser.name"YourName"tosetyouraccount'sdefaultidentity.意思:作者身份未知***请告诉我你是谁。跑git-config--全局user.email“you@example.com“git-config--全局用户名“Yourname”设置帐户的默认标识。解决:新下载的git没有告知身份//分别执行gitconfig--

android - 如何在 Android 上使用 Intent 打开关于 :reader? url=example.com 的 Firefox

我试图在android应用程序上打开一个网页,urlsheme有点特殊,它必须在阅读器模式下打开一个url:about:reader?url=example.com我是这样做的UriintentUri=newUri.Builder().encodedPath("about:reader").appendQueryParameter("url",Uri.encode("example.com")).build();//TrytoopeninFirefoxIfavailableorusedefaultIntentintent=newIntent(Intent.ACTION_VIEW);in

android - java.lang.NoClassDefFound 使用适用于 Android 4 的 Dagger 2

我有一个使用Dagger2的项目,但我无法在Android4+上运行该应用程序,它崩溃了。但在Android5+上它工作得很好。所以这是我得到的错误:08-0505:03:38.07625444-25444/app.xqute.com.xquteE/AndroidRuntime﹕FATALEXCEPTION:mainProcess:app.xqute.com.xqute,PID:25444java.lang.NoClassDefFoundError:app.xqute.com.xqute.AppModule_ProvideProfileFactoryatapp.xqute.com.xq

android - Dagger 2 从两个组件注入(inject)

我遇到了一个我无法解决的问题。我在我的Android应用程序中使用Dagger2作为DI框架。我试图用两个不同的组件注入(inject)我的Activity,但是apparentlyitcan'tbedone.显而易见的解决方案似乎是创建一个具有所有所需行为的独特组件,但我的模块中有不同的范围。那么什么是正确的方法呢?我是否应该拥有相同的示波器,即使这不是计划? 最佳答案 不可能将两个组件注入(inject)到一个类或Activity中,您应该更改组件结构并将其划分为子组件或为每个类创建一个单独的组件(不推荐),此链接也讨论了您的问

java - 在方向改变时处理 Dagger 组件

假设已经说过here,开发人员有责任保留组件实例以实现他们自己的作用域逻辑(因为作用域方法将为给定组件返回相同的实例)。在整个Activity生命周期中保持此组件引用的简洁方法是什么?示例:您正在实现MVP模式,因此您的Activity中需要一个Presenter。此Presenter可以执行网络操作以下载项目。当设备旋转时,您的Activity将被销毁并重新创建,但您希望继续进行网络操作并只取回旋转前的演示者。为Presenter提供自定义PerActivity范围的Component范围是解决方案,因此您必须通过此轮换保持Component实例,以便注入(inject)与第一次启动