Как внедрить вариант использования в репозиторий с помощью платформы Koin DIAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Как внедрить вариант использования в репозиторий с помощью платформы Koin DI

Сообщение 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)
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... -framework
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»