Я могу использовать Injection Dependency для Realm
успешно, я могу использовать @Inject
в действии без каких-либо проблем, теперь я хочу использовать это и внедрить это во Фрагменты, так как я начинаю использовать этот метод, я не могу сделайте это
ApplicationModule
класс:
@Module
public class ApplicationModule {
@Provides
Context provideApplicationContext() {
return AlachiqApplication.getInstance();
}
@Provides
@Singleton
RealmConfiguration provideRealmConfiguration() {
final RealmConfiguration.Builder builder = new RealmConfiguration.Builder()
.schemaVersion(Migration.SCHEMA_VERSION)
.deleteRealmIfMigrationNeeded()
.migration(new Migration());
return builder.build();
}
@Provides
Realm provideDefaultRealm(RealmConfiguration config) {
return Realm.getInstance(config);
}
}
ApplicationComponent
класс:
@Component(modules = ApplicationModule.class)
@Singleton
public interface ApplicationComponent {
void inject(ActivityRegister target);
void inject(ActivityMain target);
void inject(FragmentEbooks target);
void inject(FragmentDocuments target);
void inject(SocketServiceProvider target);
}
как я могу отредактировать или создать другой компонент класса и модуль, чтобы внедрить в него? кстати, у меня больше фрагментов на моем приложении
Заранее спасибо
Просто добавьте другой целевой метод в свой компонент, например,
@Component(modules = ApplicationModule.class)
@Singleton
public interface ApplicationComponent {
void inject(ActivityRegister target);
void inject(ActivityMain target);
void inject(SocketServiceProvider target);
void inject(MyFragment target);
}
И в вашем фрагменте делайте то же самое, что делаете в своей деятельности.
public class MyFragment extends Fragment{
@inject Realm realm;
@Override
protected void onCreate(Bundle savedInstanceState) {
((MyApplication) getActivity().getApplication()).getComponent().inject(this);
}
void inject (MyFragment fragment)
вApplicationComponent
?ApplicationComponent
как я могу ввести?