Size: a a a

Android Developers

2020 March 27

TT

Turalllb Turalll in Android Developers
Vadim Morozov
видать что то упускаю)
 error: [Dagger/MissingBinding] android.content.Context cannot be provided without an @Provides-annotated method.
public abstract interface AboutComponent {
ну пишет он что не может провайдить контекст либо метод который провайдит контект есть, но не помечен аннотацией
источник

VM

Vadim Morozov in Android Developers
Turalllb Turalll
ну пишет он что не может провайдить контекст либо метод который провайдит контект есть, но не помечен аннотацией
странно
ну вот глянь пожалуйста
у меня модуль такой
@Module
class AboutModule(val appContext: Context) {

   @FragmentScope
   @Provides
   fun provideModel(model: AboutViewModel): ViewModel {
       return AboutViewModel(appContext = appContext)
   }
}

и в самой модели у меня тоже инжектиться
class AboutViewModel @Inject constructor(val appContext: Context): ViewModel() {

фабрика тоже вроде ок
class AboutViewModelFactory @Inject constructor(val appContext: Context) : ViewModelProvider.Factory {
источник

TT

Turalllb Turalll in Android Developers
а кто в AboutModule(val appContext: Context) контект передает
источник

TT

Turalllb Turalll in Android Developers
при инициализации модулей ?
источник

VM

Vadim Morozov in Android Developers
Turalllb Turalll
а кто в AboutModule(val appContext: Context) контект передает
private fun injectDependencies() {
       activity?.let {
           DaggerAboutComponent.builder().aboutListModule(AboutModule(it)).build().inject(
               this
           )
       }
   }
источник

VM

Vadim Morozov in Android Developers
Vadim Morozov
private fun injectDependencies() {
       activity?.let {
           DaggerAboutComponent.builder().aboutListModule(AboutModule(it)).build().inject(
               this
           )
       }
   }
и вот сам интерфейс
@FragmentScope
@Component(modules = [AboutModule::class])
interface AboutComponent {

   fun inject(fragment: AboutFragment)
}
источник

VM

Vadim Morozov in Android Developers
но я вот пробую пересобирать проект но даггер выдаёт ошибку
источник

TT

Turalllb Turalll in Android Developers
Я думаю здесь слово инжект лишнее class AboutViewModel @Inject constructor .  Так как это класс ты итак создаешь сам в своем провайд методе и сам вручную туда передаешь контекст. А тут фабрика когда генерируется. он ищет какой то метод который возвращает котекст типо  @Provides fun contextProvider() : Context
источник

TT

Turalllb Turalll in Android Developers
а такого метода у тебя нет
источник

TT

Turalllb Turalll in Android Developers
Vadim Morozov
но я вот пробую пересобирать проект но даггер выдаёт ошибку
и при таких моментах когда не ясно где ошибка, когда все вроде норм. стоит очистить проект и по новой, чтобы ранее сгеренированные классы удалились
источник

VM

Vadim Morozov in Android Developers
Turalllb Turalll
и при таких моментах когда не ясно где ошибка, когда все вроде норм. стоит очистить проект и по новой, чтобы ранее сгеренированные классы удалились
да вот щас так раз этим и занимаю)
но ошибка та же (
источник

VM

Vadim Morozov in Android Developers
Turalllb Turalll
и при таких моментах когда не ясно где ошибка, когда все вроде норм. стоит очистить проект и по новой, чтобы ранее сгеренированные классы удалились
DaggerAboutComponent даже не генериться из за неё
источник

TT

Turalllb Turalll in Android Developers
Vadim Morozov
да вот щас так раз этим и занимаю)
но ошибка та же (
inject аннотацию удали с вьюмодели
источник

VM

Vadim Morozov in Android Developers
Turalllb Turalll
inject аннотацию удали с вьюмодели
да я прочёл и удалил @Inject constructor из AboutViewModel
источник

k

kirill in Android Developers
Aleksey D.
нет, он же на IntentFilter просыпается
извини если отвлекаю, при каких условиях срабатывает метод onNewToken у FirebaseMessagingService ?
источник

K

Kotor in Android Developers
Привет!
Можно как то File в RAM оперировать а не на девайсе сохранять?
Задолбался шифровывать зашифровать на девайсе файлы (шифруем все что персистится)
источник

AD

Aleksey D. in Android Developers
kirill
извини если отвлекаю, при каких условиях срабатывает метод onNewToken у FirebaseMessagingService ?
при условиях, когда приложение само посчитает нужным. гарантированно вызовется при переустановки приложения
источник

TT

Turalllb Turalll in Android Developers
Подскажите если в бекграунде лежит shape мы можем изменить его цвет ? Я setBackgroundColor проверяет является ли текущий фон ColorDrawable , а shape я смотрю не является
источник

К

Кирилл in Android Developers
В ретрофит апи можно отдельной функции поставить полностью другое url, у которого отчитается baseUrl?
источник

К

Кирилл in Android Developers
Вот мой объект retrofit
источник