Z.
только не могу найти причину
у вас видимо не создается объект а вы у него вызываете метод
The The
«корутина проще» — это абсурд. kotlinx.coroutines — это самый сложный асинхронный фреймворк из известных мне.
я же уточнил "если нужно стартануть функцию и забыть". так-то да сложный и богатый инструмент
Константин
у вас видимо не создается объект а вы у него вызываете метод
Вы имеете в виду здесь? getActivity().getSupportFragmentManager() Log говорит, что вроде как создается Log.v("MyTag", "is getActivity : " + getActivity()); MyTag: is getActivity : com.example.films.MainActivity@76a9b4b MyTag: is getSupportFragmentManager : FragmentManager{20e3251 in HostCallbacks{c14244d}}Log.v("MyTag", "is getSupportFragmentManager : " + getActivity().getSupportFragmentManager());
Norim
Парни кто работал с рекламной сетью Vungle через adMob? Пытаюсь её внедрить, но при открытии видеорекламы у меня вылазит err_access_denied и не могу найти ответа в гугле что с этим делать
Valentin
нет, у вас в логах имя метода
Это приватный метод, который вызывается самим ресайклером
Константин
возможно так понятнее будет, про логи
Константин
затупил) пытаюсь искать
Z.
затупил) пытаюсь искать
не являюсь экспертом в данной области, но попытаюсь посмотреть) возможно иной взгляд на вещи даст ответы)
Константин
FilmsFragment в пакете fragments
Arsen
так если понятно, к чему вопрос? что изменит ответ на него?
"Итак понятен" это про поинт с блоком мейн треда, но вопрос был немного в другом. Общая картина такая: - Архитектура на фрагментах - т.к. навигация на фрагментах, то onSaveInstanceState единственной активити вызывается только когда приложение "уходит в фон" или на "второй план", т.е. фризы юи не особо страшны. - Зато страшны защитные механизмы системы, например фоновые сервисы которые работают дольше N сек без декларации себя как foreground - караются системой (ANR). Вопрос в том если ли что-то подобное, при блокировке треда в методе onSaveInstanceState. - Небольшие объемы данных залетают в бд моментально (по сравнению с таймаутом в N сек для сервисов). Потому первый вопрос больше носил теоретический характер: "норм ли практика делать...". Итак понятно, что сейв в бд в 99% случаев отработает мгновенно. - Так же вопрос оправдан наличием разных стратегий к сохранению данных: 1. Реактивно - как только данные прилетели из внешней среды или от юзера(ввод текста) - сразу сейвить (избыточная нагрузка на диск) 2. мой вариант при "уходе в фон" 3. компромисный - по "важным" действиям юзера, например пошаговый флоу регистрации, и на кнопку далее (шаг 1 -> шаг 2) сохранить часть стейта в бд. Вариант 2 меньше всего теребит ио с диском, все хранится в RAM, работает шустро, но есть темные моменты типа блока треда "перед смертью".
Mike
FilmsFragment в пакете fragments
немного не по теме, но этот код можно заменить оператором new
Константин
немного не по теме, но этот код можно заменить оператором new
учту конечно, спасибо. Но сейчас для меня важнее добиться решения проблемы)
Mike
FilmsFragment в пакете fragments
блииин, вот это хз как работать будет, фрагменты в XML какие-то упоротые, насколько я помню
Valentin
"Итак понятен" это про поинт с блоком мейн треда, но вопрос был немного в другом. Общая картина такая: - Архитектура на фрагментах - т.к. навигация на фрагментах, то onSaveInstanceState единственной активити вызывается только когда приложение "уходит в фон" или на "второй план", т.е. фризы юи не особо страшны. - Зато страшны защитные механизмы системы, например фоновые сервисы которые работают дольше N сек без декларации себя как foreground - караются системой (ANR). Вопрос в том если ли что-то подобное, при блокировке треда в методе onSaveInstanceState. - Небольшие объемы данных залетают в бд моментально (по сравнению с таймаутом в N сек для сервисов). Потому первый вопрос больше носил теоретический характер: "норм ли практика делать...". Итак понятно, что сейв в бд в 99% случаев отработает мгновенно. - Так же вопрос оправдан наличием разных стратегий к сохранению данных: 1. Реактивно - как только данные прилетели из внешней среды или от юзера(ввод текста) - сразу сейвить (избыточная нагрузка на диск) 2. мой вариант при "уходе в фон" 3. компромисный - по "важным" действиям юзера, например пошаговый флоу регистрации, и на кнопку далее (шаг 1 -> шаг 2) сохранить часть стейта в бд. Вариант 2 меньше всего теребит ио с диском, все хранится в RAM, работает шустро, но есть темные моменты типа блока треда "перед смертью".
Все зависит от того, насколько вам эти данные важны. Нельзя терять - записывайте сразу, как появляются, тут все просто)
Константин
и это xml макета активити, а не фрагмента
Arsen
Все зависит от того, насколько вам эти данные важны. Нельзя терять - записывайте сразу, как появляются, тут все просто)
все бы ничего, но у меня гибрид MVVM с MVI (жирные стейты(SSOT) на экран/флоу) и сейвить все это дело на каждый чих юзера не хотелось бы. "Придумал" способ с бд через onSaveInstanceState, но он непроверенный, инфы про это нефига не нашел
Dmitry
"Итак понятен" это про поинт с блоком мейн треда, но вопрос был немного в другом. Общая картина такая: - Архитектура на фрагментах - т.к. навигация на фрагментах, то onSaveInstanceState единственной активити вызывается только когда приложение "уходит в фон" или на "второй план", т.е. фризы юи не особо страшны. - Зато страшны защитные механизмы системы, например фоновые сервисы которые работают дольше N сек без декларации себя как foreground - караются системой (ANR). Вопрос в том если ли что-то подобное, при блокировке треда в методе onSaveInstanceState. - Небольшие объемы данных залетают в бд моментально (по сравнению с таймаутом в N сек для сервисов). Потому первый вопрос больше носил теоретический характер: "норм ли практика делать...". Итак понятно, что сейв в бд в 99% случаев отработает мгновенно. - Так же вопрос оправдан наличием разных стратегий к сохранению данных: 1. Реактивно - как только данные прилетели из внешней среды или от юзера(ввод текста) - сразу сейвить (избыточная нагрузка на диск) 2. мой вариант при "уходе в фон" 3. компромисный - по "важным" действиям юзера, например пошаговый флоу регистрации, и на кнопку далее (шаг 1 -> шаг 2) сохранить часть стейта в бд. Вариант 2 меньше всего теребит ио с диском, все хранится в RAM, работает шустро, но есть темные моменты типа блока треда "перед смертью".
Читаем документацию: To save persistent data, such as user preferences or data for a database, you should take appropriate opportunities when your activity is in the foreground. If no such opportunity arises, you should save such data during the onStop() method.
Константин
там тег <fragment>
ну да, я же вставляю туда фрагмент
Dmitry
onSaveInstanceState() is not called when the user explicitly closes the activity or in other cases when finish()is called
Mike
ну да, я же вставляю туда фрагмент
я вот только думаю, что айди, который там задан, нельзя использовать как айди контейнера. Непонятно, какой вьюхе этот айди будет присвоен
Arsen
onSaveInstanceState() is not called when the user explicitly closes the activity or in other cases when finish()is called
тут скорее всего отссылка к фрагментам, у них тоже есть такой колбек, но в том и фишка синглактивити, что появляется "нормальный" флоу колбеков жц
Arsen
в обычной работе приложении активити всегда активна будет, за редкими случаями типа интента на фотку или реального ухода в фон
Arsen
на конфиг ченджи тоже сработает?
Dmitry
что?
Dmitry
на конфиг ченджи тоже сработает?
https://developer.android.com/guide/components/activities/activity-lifecycle
Norim
Парни, а вы в курсе, что на 10том андроиде сломаны веб вью? Кто-то знает как их чинить? Свичнулся на 9тый и все работает!
Mike
Как видите тоже самое
я не понял, что изменилось. Транзакции нужен айди контейнера, а не фрагмента
Константин
да
Norim
на targetSdkVersion 28 веь вьб работают, а выше не работает, как думаете, что с этим делать? Так и оставаться на старой? Это не понесет за собой проблем?
Константин
знаю
Mike
знаю
нет. Контейнер — констреинт
Константин
Norim
Если я буду на 28 вместо 30 все будет окей? Мое приложение сможет скачать такое же количество устройств?
Arsen
onSaveInstanceState() is not called when the user explicitly closes the activity or in other cases when finish()is called
аа, понял, это про кейсы типа явного нажатия системной кнопки назад, тут и не должно вызваться ,все норм
Nikita
Привет! Может кто даст совет? в onPause ставлю сохранение задачи(на случай если человек выйдет из активности не через бэкстек), при этом у меня напроч перестает работать onActivityResult, куда я получаю фото с камеры мистика какая-то...
Arsen
супер не забыл вызвать?
Nikita
не забыл)
Константин
нет. Контейнер — констреинт
Действительно. Моя ошибка, вы правы. Замена стала происходить, но теперь фрагменты наклыдваются
Arsen
не забыл)
а если закоментировать сохранение, так же не работает?
Arsen
мб перетираешь в бандле что-то
Константин
Константин
background навесь на контейнер во втором фрагменте
в плане? вы предлагаете кнопку на весь detail растянуть?
Valentin
в плане? вы предлагаете кнопку на весь detail растянуть?
Кнопка же находится в какой-то ViewGroup? Вот ей задай white background, например
Константин
Константин
Помогло, спасибо. Только вот вопрос теперь, это кастыль или так и делается?
Valentin
Помогло, спасибо. Только вот вопрос теперь, это кастыль или так и делается?
Я бы отнес это к безвредным костылям, так как "правильный" фикс выглядит более костыльно чем это решение
Mike
Кнопка же находится в какой-то ViewGroup? Вот ей задай white background, например
ненене, чем глубже стек, тем больше overdraw. Ужасный костыль
Egor
Пацаны, а 11 андроид ток для пикселей пока завезли?
Константин
add vs replace
не помогло(
Yegor
Пацаны, а 11 андроид ток для пикселей пока завезли?
Завезли вроде только бетку. Стабильная ещё не вышла
Egor
Завезли вроде только бетку. Стабильная ещё не вышла
На какие девайсы? Только на пиксели?
Georgy
Кто подскажет. Как лучше реализовать? Выбор одного из двух значений, цвет меняется соответственно.
Pavel
Так что фактически можно сказать что на любой девайс Просто собрать надо
Georgy
И кейс через Java так?
Mike
RadioButtons с selector-ом в background, например
RadioGroup? Тут больше похоже, что нужен один целый компонент
Дмитрий
Кто подскажет. Как лучше реализовать? Выбор одного из двух значений, цвет меняется соответственно.
MaterialButtonToggleGroup https://medium.com/over-engineering/hands-on-with-material-components-for-android-buttons-76fa1a92ec0a
Georgy
Спасибо всем
Roman
На сколько вообще material components в проектах используются? Все, что я видел, писалось руками