Questions tagged «dagger»

4
Dagger 2子组件与组件依赖关系
Dagger 1的plus()方法是我在以前的应用程序中经常使用的方法,因此我了解到您可能希望拥有一个可以完全访问父图绑定的子组件的情况。 在什么情况下使用组件依赖关系而不是子组件依赖关系是有益的,为什么?
135 dagger  dagger-2 

1
Kotlin中的“宁愿在该类上运行匕首处理器”
每当我对kotlin类进行注入时,我都会在构建中得到此注释(顺便说一句,我有一个既包含kotlin又包含Java的混合android项目)。 例如,执行以下gradle任务:(compileStagingDebugJavaWithJavacStagingDebug是我的构建变体),我收到以下消息: “注意:为com.packageNameXXX.CourseDiscoveryMapFragment生成MemberInjector或Factory。最好在该类上运行匕首处理器。” 我的CourseDiscoveryMapFragment代码可以在这里看到: class CourseDiscoveryMapFragment : Fragment(){ @Inject lateinit var presenter: CourseDiscoveryMapPresenter lateinit var mapView: MapView override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_discovery_map, container, false) MapsInitializer.initialize(activity) mapView = view.mapView mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE)) (activity as BaseActivity) .activityComponent.inject(this) } 我的ActivityComponent是: @ActivityScope @Subcomponent(modules = ActivityModule.class) public interface …
124 android  kotlin  dagger 

2
如何在Android项目中从头开始设置DAGGER依赖项注入?
如何使用匕首?如何配置Dagger在我的Android项目中工作? 我想在我的Android项目中使用Dagger,但我感到困惑。 编辑:Dagger2也自2015年04月15日起退出市场,这更加令人困惑! [[这个问题是一个“存根”,随着我对Dagger1的了解更多,对Dagger2的了解,我正在添加这个答案。这个问题更多地是一个指南,而不是一个“问题”。]

5
匕首-我们是否应该为每个活动/片段创建每个组件和模块
我使用dagger2已经有一段时间了。而且我为每个活动/片段创建自己的组件/模块感到困惑。请帮我澄清一下: 例如,我们有一个应用程序,该应用程序有大约50个屏幕。我们将按照MVP模式和Dagger2 for DI来实现代码。假设我们有50个活动和50个演示者。 在我看来,通常我们应该这样组织代码: 创建一个AppComponent和AppModule,它们将提供在打开应用程序时将使用的所有对象。 @Module public class AppModule { private final MyApplicationClass application; public AppModule(MyApplicationClass application) { this.application = application; } @Provides @Singleton Context provideApplicationContext() { return this.application; } //... and many other providers } @Singleton @Component( modules = { AppModule.class } ) public interface AppComponent { Context …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.