Anton
почему до?
ну после вызова того же super.onDestroy уже нет факт что вызовется что-то еще, особенно это касается сохранения
Andrew
c onDestroy согласен а с onPause и onStop почему?
The The
ну после вызова того же super.onDestroy уже нет факт что вызовется что-то еще, особенно это касается сохранения
ну как бы после super.onDestroy должен выполниться весь код после него. это если у тебя вообще onDestroy не вызвался
Anton
на самом деле onPause и onResume - по сути не важно когда, а вот с onStop честно говоря не помню, надо почитать будет
Anton
c onDestroy согласен а с onPause и onStop почему?
но если приведешь аргумент вызовов после в onStop, буду благодарен за сэкономленное время
Andrew
Ну все же разве не должен сначала отработать обязательный "системный" код в onDestroy родителя класса, и только потом уже код программиста? в той же доке написано, что вызов super.onDestroy - обязательно, отсюда и делаю вывод, что сначала всегда выполняем код колбеков из super, затем уже свой
Anton
ну как бы после super.onDestroy должен выполниться весь код после него. это если у тебя вообще onDestroy не вызвался
года 3 назад убеждался на практике что после super.onDestroy гарантий выполнения нет никаких
Oleg
Ну тут зависит от воркфлоу приложения - если это активити авторизации или заполнения данных профиля - то логично делать в ondestroy - это короткий активити, который предполагает что юзер пройдет по нему и при переходе дальше или назад - вызовется ondestroy и все будет хорошо с приложением. Если это долгая активити, которая работает в фоне - то вообще странно завязываться на ее lifecycle - лучше сохранять данные по мере их изменения, ну в крайнем случае по таймеру
The The
года 3 назад убеждался на практике что после super.onDestroy гарантий выполнения нет никаких
никогда такого не видел, честно говоря. всегда ставил какое-то выполнение кода в onDestroy просто зная что если приложение убьется каким-то ужасным способом, то нет гарантий что onDestroy вызовется, но это исключительный случай
The The
твой код может упасть)
может и если упадет, там уже не важно ничего, приложение крашнится. суть именно в том чтобы не переопределять onDestroy не вызвав родительский метод
Oleg
Вообще может мне чудится, но лет 5 назад студия ругалась, если вызываешь системные методы типа super.onDestroy не в начало метода
Andrew
она ругнется, если super вообще не вызовешь
Oleg
может и если упадет, там уже не важно ничего, приложение крашнится. суть именно в том чтобы не переопределять onDestroy не вызвав родительский метод
а еще может не крашнуться, а просто вызвать return и тогда студия не заругается, а получится хрень какая то
The The
а еще может не крашнуться, а просто вызвать return и тогда студия не заругается, а получится хрень какая то
хрень сделал - хрень получишь. это как бы не имеет отношение к дискуссии)
The The
просто это хороший code style если ты переопределяешь метод в классе-наследнике вызывать базовый метод первой строкой по многим причинам, а если ты уже вызываешь где-то потом - это и выглядит некрасиво и кажется костылем каким-то
The The
и все же лайфцикл является исключением, есть случаи же когда и раньше super.onCreate надо делать вызов
случаи есть всегда, являются ли эти случаи примером хорошего проектирования - тема для отдельной одной дискуссии)
Anton
случаи есть всегда, являются ли эти случаи примером хорошего проектирования - тема для отдельной одной дискуссии)
ну как бы если тему устанавливаешь, тогда вызвав после onCreate тема у тебя не изменится
Anton
случаи есть всегда, являются ли эти случаи примером хорошего проектирования - тема для отдельной одной дискуссии)
заказчик: у нас тема в приложении не меняется, и после выхода не сохраняет время выхода dev: да, но зато проектирование у нас на высоте не надо приплетать лайфцикл под общие правила
The The
заказчик: у нас тема в приложении не меняется, и после выхода не сохраняет время выхода dev: да, но зато проектирование у нас на высоте не надо приплетать лайфцикл под общие правила
и это к чему этот сарказм? понятно, что разные случаи есть. я вот локализацию делал на ходу менять, там костыль на костыле. и конкретно для вызова кода до onCreate должен быть какой-то preCreate по аналогии с onPostCreate
Дима
Друзья, где почитать какие про различия ios и android с точки зрения разработки? Например в android есть intent(ы), какие альтернатива в ios и т.п
The The
и я не приплетал под общее правило, я написал, что это хороший code style, к которому нужно стремиться, хотя, понятно, не всегда получается и потому что и опыта мало, и время поджимает и вообще заказчик все равно не видит как оно работает, главное что деньги платит, а иногда и просто невозможно. но это не значит, что нужно говнокодить без причины.
Дима
Друзья, где почитать какие про различия ios и android с точки зрения разработки? Например в android есть intent(ы), какие альтернатива в ios и т.п
The The
разве примеры приведенные мной являются говнокодом?
я не конкретно про твой пример, а вообще. иногда проще что-то наговнокодить и получить деньги и не парить себе мозг проектированием и прочими вещами
The The
ну вопрос то звучал именно про конкретный вызов методов сохранения чего либо в onDestroy
ну да, на этот вопрос вроде как ответили, потом пошла дискуссия правильно ли вызывать родительский метод после своего кода
Ksenia
Друзья, где почитать какие про различия ios и android с точки зрения разработки? Например в android есть intent(ы), какие альтернатива в ios и т.п
может тут что есть, https://developer.apple.com/documentation/xcode/creating_your_app_s_interface_with_swiftui. Мне в свое время в принципе для самостоятельного поверхнгстного изучения хватало доки эпла и официальной доки по свифту
Ksenia
Есть еще запись курса степико где-то, как-то разок яндекс проводил
Ksenia
Уважаемые слушатели и участники группы, Мы проанализировали итоги первого запуска и готовы сообщить, что перезапуска курса не будет. У вас остаются записи лекций на YouTube: — Часть 1 https://www.youtube.com/playlist?list=PLQC2_0cDcSKA0zy20X9c5rQKNg3rkSK7c — Часть 2 https://www.youtube.com/playlist?list=PLQC2_0cDcSKAcuWNsWAwF8GT_lCU9QZNs Чатик пока оставляем для обсуждения профессиональных тем в iOS. Спасибо, что были с нами. Всем успехов!
Roman
удали приложение с девайса на который его ставишь, с нуля поставиться, ключ подписи поменялся скорей всего
Да какие там ключи? Винда и Андройд Студия и эмулятор установленны с нуля. даже новые проекты эту ошибку выкидывают
Roman
а на эмуляторе ставятся?
на эмулятор телефона и ставлю, пытаюсь ставить
Andrew
Спасибо, вроде годно)
https://dmkpress.com/catalog/computer/programming/mobile/978-5-97060-845-6/ может подойдет вам
Евгений
Ребят, эмулятор в студии умеет управлять яркостью? меняю значение, а визуально ничего не меняется
Muhammad
Добрый день
Muhammad
как изменить шрифт и цвет текста в Spinner
Никита
Привет всем. Есть проект со структурой: основной пакет классов и подключенный модуль, на который есть dependency на модуль. В этом модуле мне понадобится класс из основного пакета. При попытке прописать зависимость на основной пакет gradle ругается couldn't resolve project :имя основного пакета. Как получить классы в модуле?
Max
в телеграме чат закрывается движением вправо, как бы шторкой, есть для этого что-то готовое?
Евгений
https://youtu.be/JKoAeOaeV6k
Anonymous
Народ, кто как сохраняет данные с базы Firebase? Имеется в виду вытаскивает из метода onDataChange(DataSnapshot dataSnapshot)?
Vadim
не подскажете в чём может быть ошибка? https://gist.github.com/mnewlive/294ed01aadc693a5f6386bc99dc2b9b4 он ссылается на 90 устроку которой у меня даже нет
Yegor
Да вроде сразу в нем в room пишу
Konstantine
не подскажете в чём может быть ошибка? https://gist.github.com/mnewlive/294ed01aadc693a5f6386bc99dc2b9b4 он ссылается на 90 устроку которой у меня даже нет
очень похоже на то, что ты меняешь какой-то список по ходу дела, но не маякуешь о том, что он изменился
Vadim
либо одновременно по итератору в разных потоках идешь
да, по моему вы правы а как это решить можно?
Anonymous
And is there any not which converts magnet link(torrent link) in url to download from Chrome itself
Oleg
да, по моему вы правы а как это решить можно?
как вариант - посомтри в сторону syncronized функций
Vadim
как вариант - посомтри в сторону syncronized функций
эт где? потому как я боюсь о другом подумал
Oleg
эт где? потому как я боюсь о другом подумал
https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/synchronized.html
Oleg
эт где? потому как я боюсь о другом подумал
Либо вот это для метода https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-synchronized/
Anonymous
В чем отличие Context от ApplicationContext, Adapter parent.context и прочих контекстов? Из офф дока нихера не понято
Ivan
Ребят, подскажите, как обсервить лайвдату, которая приходит асинхронно?
Ivan
Асинхронно?😅 а накой это надо
Ну я хз, мб можно и сделать синхронное получение. Но кейс такой, что функция ее возвращаеющая, еще дергает бд, вот тут асинхронность нужна
Max
Ну я хз, мб можно и сделать синхронное получение. Но кейс такой, что функция ее возвращаеющая, еще дергает бд, вот тут асинхронность нужна
Синхронно относительно чего.. вот вопрос, сама лайфдата это потоковые данные, да еще и неизвестно когда она появится, может вам пересмотреть сам этот кейс? Как так получилось что лайфдату нельзя создать сразу, а потом в нее отправить, когда потребуется
Anonymous
Подскажите почему в constraint нету привязки text view для top Но это считается валидно?
Ivan
Синхронно относительно чего.. вот вопрос, сама лайфдата это потоковые данные, да еще и неизвестно когда она появится, может вам пересмотреть сам этот кейс? Как так получилось что лайфдату нельзя создать сразу, а потом в нее отправить, когда потребуется
У меня есть LivePagedListBuilder, который создает пагинированный список в liveData обернутый, и вроде бы все нормально и синхронно, но есть еще колбек, который настраивается и передеается этому билдеру. Чтобы ег онастроить, нужно взять данные из бд, вот тут ассинхронность и нужна
Max
Я в лайфдате не спец, но мне кажется, проще сделать руками список
Vitaliy
Подскажите почему в constraint нету привязки text view для top Но это считается валидно?
видимо потому что на плоскости вообще минимум достаточно двух координат/привязок
Aleksandr
хотя, такой вариант мне не нравится, так если измениться высота image, то и margin нужно будет изменять
Aleksandr
по-моему, можно было top и bottom textView привязать к top image. Проверь
Николай
Ребят. Появился вопрос. Есть в программе WebView. В нём хочу открыть ссылку скажем на гугл плей. Система поймает эту ссылку и автоматом откроет её в Google Play. Возможно ли как-то отключить это внутри моего приложения с WebView? Задумка такая, что бы все ссылки, открытые внутри моего WebView открывались только в нём.