私は、短剣でDIを使用して注入されているクラスを持っています。しかし、アクティビティが破棄されて再作成されたとき、モデルクラスには、データを挿入/再挿入せずに自動的にデータが含まれているように見えます。データを自動的に永続化するダガー
public class MyApplication extends Application {
private ExpressionFactoryComponent mExpressionFactoryComponent;
@Override
public void onCreate() {
super.onCreate();
// Building dagger DI component
mExpressionFactoryComponent = DaggerExpressionFactoryComponent.builder().
expressionFactoryModule(new ExpressionFactoryModule(new ExpressionFactory(this))).build();
}
}
モジュール:
@Module
public class ExpressionFactoryModule {
private ExpressionFactory mExpressionFactory;
public ExpressionFactoryModule(ExpressionFactory expressionFactory) {
this.mExpressionFactory = expressionFactory;
}
@Provides
ExpressionFactory provideStringExpressionFactory() {
return mExpressionFactory;
}
}
ポストあなたのモジュール:ここで
は(ExpressionFactoryComponentがここAppComponentに変更されます)ソリューションです。おそらくあなたはそれに範囲を与えました。スコープ付き変数は、作成に使用されたコンポーネントの存続期間中存在し、後続の要求は同じ変数を返します。 –私は変数にスコープを指定していません。私は現在ダガー2を学んでいます – user2498079
@GabeSechan質問にモジュールコードを投稿しました – user2498079