195得票20回答
如何在Android MVVM ViewModel中获取上下文(Context)

我正在尝试在我的Android应用程序中实现MVVM模式。我已经阅读到ViewModels不应包含任何特定于Android的代码(以便更容易进行测试),但是我需要使用context来完成各种事情(从xml获取资源,初始化首选项等)。这该怎么办呢?我看到 AndroidViewModel 具有对...

151得票4回答
Dagger 2子组件与组件依赖的区别

Dagger 1的plus()方法是我之前经常使用的,因此我了解您可能希望拥有完全访问父图绑定的子组件的情况。 在什么情况下使用组件依赖会比子组件依赖更有益,为什么?

142得票1回答
什么决定了Dagger 2中组件(对象图)的生命周期?

我正试图理解Dagger 2中的作用域,具体来说是作用域图的生命周期。如何创建一个组件以使其在离开作用域时被清除。 在Android应用程序的情况下,使用Dagger 1.x通常会在应用程序级别有一个根作用域,您可以扩展该作用域以创建活动级别的子作用域。public class MyActi...

132得票22回答
错误:程序类型已存在:android.support.design.widget.CoordinatorLayout$Behavior。

在构建项目时,我遇到了以下错误。该项目中未使用CoordinatorLayout,只是在build.gradle中添加了依赖项: 我正在使用Android Studio 3.2 Canary 4。 LogCat AGPBI: {"kind":"error","text":"Progra...

105得票2回答
如何在Android项目中从零开始设置DAGGER依赖注入?

如何使用Dagger?如何配置Dagger来在我的Android项目中使用? 我想在我的Android项目中使用Dagger,但我发现它很令人困惑。 编辑:自2015年04月15日起,Dagger2也已经发布,它更加令人困惑! 【这个问题是一个“存根”,我将在我的答案中添加有关Dagge...

94得票8回答
使用Retrofit 2.0和Dagger 2设置动态基础URL

我正在尝试使用Dagger 2和Retrofit 2.0执行登录操作。 以下是我设置Retrofit依赖项的方式:@Provides @Singleton Retrofit provideRetrofit(Gson gson, OkHttpClient client) { Retrof...

89得票1回答
为什么要使用/开发Guice,而不是使用Spring和Dagger?

据我所知,Dagger确实会生成代码,而Guice和Spring则依赖于运行时处理,因此Dagger的工作速度更快,但需要程序员在代码中付出更多努力。由于性能上的优势,它非常适合移动(Android)开发。 然而,当我们只有Guice和Spring可用时,后者具有许多集成选项。如果我们可以使...

89得票5回答
Dagger - 我们是否应该为每个Activity/ Fragment创建单独的组件和模块?

我已经使用dagger2一段时间了。我很困惑是否为每个Activity/Fragment创建自己的组件/模块。请帮助我澄清这一点: 例如,我们有一个应用程序,该应用程序有大约50个屏幕。 我们将按照MVP模式实现代码,并使用Dagger2进行依赖注入。假设我们有50个活动和50个Presen...

84得票5回答
Dagger 2.2组件构建器模块方法已被弃用。

我开始使用Dagger 2.2,但在Component Builder中的模块方法已经被弃用。 这是我的Application组件:@Component(modules = ApplicationModule.class) public interface ApplicationCompon...

81得票32回答
错误:执行任务“:app:kaptDebugKotlin”失败。

我刚开始使用 Kotlin 并尝试将其与 Dagger2 配置,看了一些例子但似乎都不适用于我。 我一直得到以下错误: Error:Execution failed for task ':app:kaptDebugKotlin'. Internal compile...