Получение не может быть обеспечено без конструктора @Inject или с помощью аннотированного метода @ Provides- или @ Produces. на котлин кинжал2

Я использую его в практическом смысле, когда передаем большие двоичные объекты (изображения) через веб-службы. Поэтому, когда я тестирую веб-службу C # с использованием сценария python, двоичный объект можно воссоздать с небольшой магией.

[В python]

import base64
imageAsBytes = base64.b64decode( dataFromWS )
-1
задан Anurag Chutani 15 January 2019 в 19:20
поделиться

1 ответ

В Dagger у вас есть два способа предоставить объект

  1. Использование @Inject в конструкции

Пример:

UserRepository Конструктор @Inject (private val mContext: Context)

  1. Но как мы можем конструктор @Inject с некоторым классом третьей стороны, таким как Retrofit Service Interface? Вот почему у Dagger есть @Provide

Пример:

@Module class AppModule { @Provides fun provideContext(application: Application): Context = application.applicationContext }

У Dagger также есть какой-то другой способ предоставить объект

Вы можете читать дальше здесь

В вашем случае вы можете предоставить свой класс StringPreference в своем модуле приложения, например, AppModule

@Module class AppModule { @Provides fun provideStringPreference(context: Context): StringPreference = StringPreference(context) }

0
ответ дан Khoa Tran 15 January 2019 в 19:20
поделиться
Другие вопросы по тегам:

Похожие вопросы: