Dagger を使用する Android アプリがあります。アプリ全体の特定のセクションに、共通のスコープを共有するいくつかのアクティビティ用にスコープ ObjectGraphs を追加したいと考えています。次のモジュールはルート ObjectGraph にあります
@Module(
injects = {
MyApplication.class,
},
complete = false,
library = true)
public class BasicContextManagerModule {
private Context applicationContext;
public BasicContextManagerModule(Context applicationContext) {
this.applicationContext = applicationContext;
}
@Provides
Context getApplicationContext() {
return applicationContext;
}
}
次に、existingObjectGraph.plus(new FileManagerModule()); を介して次のモジュールを追加しようとします。
@Module(
injects = {
MyListActivity.class,
MyFileDetailActivity.class,
MyFileInfoActivity.class,
},
includes = BasicContextManagerModule.class
)
public class FileManagerModule {
@Provides
FileManager provideFileManager(Context context) {
return new FileManager(context);
}
}
しかし、結果は
java.lang.UnsupportedOperationException: No no-args constructor com.myapp.core.modules.BasicContextManagerModule$$ModuleAdapter
プラスがこれを許可しない理由を誰かが理解するのを手伝ってくれますか? 私は短剣のドキュメントから読んで、オブジェクトグラフをさらに拡張し、インクルードとaddsToモジュールを持つことができます。しかし、私はこれを達成することができませんでした。