Arctan🐈‍⬛️
добрый вечер, как можно сделать, чтобы в dark mode и light mode одновременно текст был черным?
Лиза
в одном, просто в разное время. Например, если показываешь диалог, он показывается не сразу
Если я вставлю создание кнопок в другом жизнном этапе фрагмента, станет лучше? Хотя создание сейчас в CreateView
Лиза
Артем
Привет. Кто-нибудь сталкивался с тем, что Application.ActivityLifecycleCallbacks методы с приставкой pre не вызываются? onActivityPreCreated/onActivityPreDestroyed и тд. С обычными onActivityCreated/onActivityDestroyed проблем нет
Oussama
Guys where can i find a groupe like this but in english?
Alexey
We all understand English. Also, check out thedevs.network
Артем
Они вроде как появились в более поздних SDK.
чет не нашел особо инфы такой, видимо 29sdk не достаточно
Mike
А как тогда сделать?
Не нужно пытаться поменять хоть что-нибудь, нужно понять, почему работает именно так, и исправить конкретную проблему. Если сделаешь минимальный самодостаточный воспроизводимый пример, я смогу подсказать точно.
Кирилл
Хм, а почему должно?) В onCreateView этому самое место.
А я делаю всю инициализацию вьюшек в onViewCreated, читал когда то что делать это в onCreateView неправильно
Кирилл
Mike
Установка слушателей, данных и тд
В общем случае безразлично, в каком из методов это делать. Но вот Kotlin Android Extensions могут вести себя по-разному.
Bohdan
нет не безразлично
Bohdan
в котлине во фрагментах нельзя получить доступ к вьюхам через синтетик до onViewCreated
Кирилл
Давно пора на ViewBinding перейти, мне все лень
Daniel
Кто разбирался с синтетиками?
Mike
в котлине во фрагментах нельзя получить доступ к вьюхам через синтетик до onViewCreated
А я что сказал выше?) Доступ получить можно, но через экстеншены к вью, не к фрагменту.
Daniel
Тоже вопросик есть: апп + библиотечка, в библиотеке юзаю синтетики, получаю Fragment.kt: (8, 24): Unresolved reference: synthetic
Daniel
xml файлы в модуле библиотеки
Daniel
код тоже в модуле библиотеки
Кирилл
а, собственно, нахера?
Ну, мистическая вероятность словить нулл поинтер или взять view из другого layout, чего у меня правда еще не было, немного пугают
Кирилл
это нормальное поведение?
https://stackoverflow.com/questions/48378696/unresolved-reference-for-synthetic-view-when-layout-is-in-library-module Плагин включил?
Daniel
apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-kapt' apply plugin: 'kotlin-android-extensions'
Daniel
Кирилл
Если это gradle модуля либы то тогда хз
Daniel
это root/build.gradle
Aleks
Привет, один аккаунт Google Pay может использоваться для нескольких приложений?
Кирилл
app/build.gradle
В ответе пишет что они должны быть включены еще и в модуле либы
Daniel
Да, попробую)
Aleks
Да
При этом как-то можно отличать, что оплата была сделана из какого приложения? Или придется на бэкенде определять?
Eugene
unsplash_picker_progress_bar_layout.visibility = if (it != null && it) View.VISIBLE else View.GONE Что значит второе it в проверке?
Carey
Мб ненулевое значение или что не пустая коллекция
Carey
Хотя хз зачем явная проверка на ненулловость
Anatoliy
Всем привет. Направьте на пусть истинный.при загрузке первого экрана приложение должно грузить из интернета информацию в бд что бы там отображалась в recyclerView. Я это хочу сделать в блоке init{} во viewModel и там же сделать проверку грузить из интернета или из базы данных. Правильный ли у меня ход мыслей?а во фрагменте я уже подпишу recyclerView на список во viewModel.буду благодарен за ответы
Данил
а там уже в зависимости от потребностей
Данил
можно запрашивать из сети и для кеша сохранять в бд
Anatoliy
можно запрашивать из сети и для кеша сохранять в бд
Я пропустил блок с репозиторием в вопросе,но в принципе рассуждения архитектурно-верные?
Кирилл
Те логика вся в репе, он только отдает Flow<User>
Anatoliy
Те логика вся в репе, он только отдает Flow<User>
Нуу,возвращает у меня репозиторий просто List юзеров. Если запуск первый,то инфа сохраняется из интернета в бд.если не первый- сразу берется из бд
Данил
А зачем вообще Flow может кто написать? Есть же LiveData и Coroutine?
Кирилл
А зачем вообще Flow может кто написать? Есть же LiveData и Coroutine?
Кому что нравится. Flow дает больше манипуляций над данными, это считай Rx на котлине
Ilya
А зачем вообще Flow может кто написать? Есть же LiveData и Coroutine?
LiveData не нужна в тех же репозиториях, а только мешает. Поэтому в вью моделях юзают лайвдату, а в репозиториях Flow, насколько я знаю
Данил
как раз уровень Repository
Ilya
почему, нельзя разве с помощью LiveData наблюдать над Room?
просто в лайв дате надо в Main поток постить, не хочется таким в репозитории заниматься)
Anatoliy
LiveData не нужна в тех же репозиториях, а только мешает. Поэтому в вью моделях юзают лайвдату, а в репозиториях Flow, насколько я знаю
Я могу ошибаться по молодости,но разве нельзя просто принимать данные из репо и хранить их в лайвдате во viewModel. То есть смысл во Flow в репо если его основная функция - вернуть данные для моей лайв даты во viewModel
Roman
А зачем вообще Flow может кто написать? Есть же LiveData и Coroutine?
Кто будет возвращать из бизнес-слоя лайвдату?
Ilya
Ты о чем? Есть же postValue
https://medium.com/better-programming/no-more-livedata-in-repositories-in-kotlin-85f5a234a8fe лень объяснять
Кирилл
Я могу ошибаться по молодости,но разве нельзя просто принимать данные из репо и хранить их в лайвдате во viewModel. То есть смысл во Flow в репо если его основная функция - вернуть данные для моей лайв даты во viewModel
Если ты приверженец например Clean Architecture или тп то LiveData в репе не может быть тк это зависимость андройда, бизнес слой же должен быть без зависимостей платформы
Anatoliy
Для этого есть Coroutine
Эм,а причем тут они?я в репозитории работаю с корутинами,там получаю с помощью них данные ,сохраняю и ТД. Далее я просто беру их и кладу в liveData во viewModel
Данил
уже созданных инструментов
Данил
Потому что из репо не принято бросать лайв дату
Я могу корутинами выполнять запрос в сеть, при получении данных сохранять в database, а там изменения подхватятся через LiveData
Roman
Я могу корутинами выполнять запрос в сеть, при получении данных сохранять в database, а там изменения подхватятся через LiveData
И загадить домэйн андроид-зависимостями. Ну и любые maр-reduce по умолчанию будут у лайвдат на главном потоке работать
Данил
И загадить домэйн андроид-зависимостями. Ну и любые maр-reduce по умолчанию будут у лайвдат на главном потоке работать
Никто меня пока не убедил, что Flow, это что-то новое. Тоже самое можно и на RxJava делать
Anatoliy
В чем проблема сделать?
Проблемы нет.это уточняющий вопрос
Anatoliy
Просто пытаюсь понять как организовать лучше . И чет мнения разнятся