Я перехожу с Hilt на Koin и хочу перенести следующий репозиторий, который я внедряю с помощью Hilt:
@Module
@InstallIn(SingletonComponent::class)
object NetworkModule {
@Provides
fun provideRepository(
cragsParser: CragsParser,
gymsParser: GymsParser,
scalesParser: ScalesParser,
weatherApiService: WeatherAPI
): Repository {
return RepositoryImpl(cragsParser, gymsParser, scalesParser, weatherApiService)
}
}
На данный момент у меня есть только это:
factory {
RepositoryImpl(
)
}
(Честно говоря, не уверен, хочу ли я использовать заводской или одиночный)
Я не знаю, как сначала внедрить те 4 параметра, которые нужны репозиторию, поскольку первые три также используют AssetManager в качестве зависимости (все три имеют одну и ту же зависимость). Например:
class ScalesParser @Inject constructor(private val assetMan: AssetManager)
А с Hilt я предоставлял AssetManager вот так:
fun provideAssetsManager(@ApplicationContext appContext: Context): AssetManager {
return appContext.assets
}
fun provideContext(@ApplicationContext appContext: Context): Context {
return appContext
}
Вопрос: как я могу внедрить контекст приложения, а затем иметь возможность внедрить AssetManager, чтобы в конечном итоге я мог внедрить три парсера, которые нужны репозиторию????
Это мой startKoin
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidLogger()
androidContext(this@MyApp)
modules(networkModule)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/792 ... -framework
Как внедрить вариант использования в репозиторий с помощью платформы Koin DI ⇐ Android
Форум для тех, кто программирует под Android
1732776989
Anonymous
Я перехожу с Hilt на Koin и хочу перенести следующий репозиторий, который я внедряю с помощью Hilt:
@Module
@InstallIn(SingletonComponent::class)
object NetworkModule {
@Provides
fun provideRepository(
cragsParser: CragsParser,
gymsParser: GymsParser,
scalesParser: ScalesParser,
weatherApiService: WeatherAPI
): Repository {
return RepositoryImpl(cragsParser, gymsParser, scalesParser, weatherApiService)
}
}
На данный момент у меня есть только это:
factory {
RepositoryImpl(
)
}
(Честно говоря, не уверен, хочу ли я использовать заводской или одиночный)
Я не знаю, как сначала внедрить те 4 параметра, которые нужны репозиторию, поскольку первые три также используют AssetManager в качестве зависимости (все три имеют одну и ту же зависимость). Например:
class ScalesParser @Inject constructor(private val assetMan: AssetManager)
А с Hilt я предоставлял AssetManager вот так:
fun provideAssetsManager(@ApplicationContext appContext: Context): AssetManager {
return appContext.assets
}
fun provideContext(@ApplicationContext appContext: Context): Context {
return appContext
}
Вопрос: как я могу внедрить контекст приложения, а затем иметь возможность внедрить AssetManager, чтобы в конечном итоге я мог внедрить три парсера, которые нужны репозиторию????
Это мой startKoin
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
startKoin {
androidLogger()
androidContext(this@MyApp)
modules(networkModule)
}
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79232809/how-to-inject-a-usecase-on-repository-using-koin-di-framework[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия