← пред | след →
Teshkin 2022-06-26 01:39:09
yar_rick 2022-06-26 01:36:58
Я тут будущее вам рисую )
в будущем мобилки будут создавать ии) вопрос только в том, когда это будущее наступит
Panic_Berlin 2022-06-26 01:41:01
Teshkin 2022-06-26 01:39:09
в будущем мобилки будут создавать ии) вопрос только в том, когда это будущее наступит
Лет 50 еще как минимум, а если еще учитывать тз которое нормально составить не могут, то все 100
yar_rick 2022-06-26 01:41:17
Я все жду когда автомобили будут сами ездить и в ноутбуках не будет кулеров )
An1L1ve 2022-06-26 01:42:20
А какое видео лучше посмотреть про изучению java ?
maxmvaas 2022-06-26 01:43:19
An1L1ve 2022-06-26 01:42:20
А какое видео лучше посмотреть про изучению java ?
от хауди хо, разумеется
(сарказм)
yar_rick 2022-06-26 01:43:32
https://m.youtube.com/watch?v=b-Cr0EWwaTk
Teshkin 2022-06-26 01:46:22
Panic_Berlin 2022-06-26 01:41:01
Лет 50 еще как минимум, а если еще учитывать тз которое нормально составить не могут, то все 100
жиза ,мне кажется, ии должны составлять тз) и сохранять их в блокчейне, чтобы нельзя было изменить
Teshkin 2022-06-26 01:46:51
maxmvaas 2022-06-26 01:43:19
от хауди хо, разумеется
(сарказм)
а как же Гоша Дударь?
An1L1ve 2022-06-26 01:58:55
А школа itProger норм?
Teshkin 2022-06-26 02:02:09
An1L1ve 2022-06-26 01:58:55
А школа itProger норм?
нет
lUjekSh 2022-06-26 02:03:51

Всем привет. Только изучаю корутины. И хотелось бы понять это нормальный код?
An1L1ve 2022-06-26 02:08:29
Teshkin 2022-06-26 02:02:09
нет
А тогда что лучше?
r_u_s_r_s_t 2022-06-26 02:20:25
lUjekSh 2022-06-26 02:03:51
Всем привет. Только изучаю корутины. И хотелось бы понять это нормальный код?
Можно viewmodel scope использовать, тогда отменять не надо в onClear. Есть коделаба от Гугл, почитайте😊
r_u_s_r_s_t 2022-06-26 02:22:06
lUjekSh 2022-06-26 02:03:51
Всем привет. Только изучаю корутины. И хотелось бы понять это нормальный код?
Ну и с диспетчерами как-то сложно, не проще на мейне запустить и через withcontext получить response?)
lUjekSh 2022-06-26 02:22:40
r_u_s_r_s_t 2022-06-26 02:20:25
Можно viewmodel scope использовать, тогда отменять не надо в onClear. Есть коделаба от Гугл, почитайте😊
viewmodel scope вроде сам умирает вместе с viewmodel. если не ошибаюсь
lUjekSh 2022-06-26 02:22:59
r_u_s_r_s_t 2022-06-26 02:22:06
Ну и с диспетчерами как-то сложно, не проще на мейне запустить и через withcontext получить response?)
не знаю. по этому и спрашиваю)
r_u_s_r_s_t 2022-06-26 02:23:21
lUjekSh 2022-06-26 02:03:51
Всем привет. Только изучаю корутины. И хотелось бы понять это нормальный код?
Кстати, если делать viewmodelscope — job сохранять не надо и можно просто поставить равно после скобок функции
r_u_s_r_s_t 2022-06-26 02:24:18
lUjekSh 2022-06-26 02:22:40
viewmodel scope вроде сам умирает вместе с viewmodel. если не ошибаюсь
Правильно. Соответственно все его корутины сами отменятся. Соответственно job хранить не надо.
Teshkin 2022-06-26 02:43:14
An1L1ve 2022-06-26 02:08:29
А тогда что лучше?
Лучше начинать учиться без школ, ты хочешь именно в Android разработку?
An1L1ve 2022-06-26 02:44:04
Teshkin 2022-06-26 02:43:14
Лучше начинать учиться без школ, ты хочешь именно в Android разработку?
Да
syoritohatsuki 2022-06-26 02:51:28
An1L1ve 2022-06-26 02:44:04
Да
Ютуб, Медиум, Хабр и гугл примеры твой учитель. И мб этот чат. Тут хз)
lUjekSh 2022-06-26 02:57:36
r_u_s_r_s_t 2022-06-26 02:23:21
Кстати, если делать viewmodelscope — job сохранять не надо и можно просто поставить равно после скобок функции

То есть лучше всего будет сделать так?
Snowmaze 2022-06-26 03:10:05
lUjekSh 2022-06-26 02:57:36
То есть лучше всего будет сделать так?
А зачем withContext(Dispatchers.Main)? Этот скоуп и так в мейн потоке запускается
lUjekSh 2022-06-26 03:15:02
Snowmaze 2022-06-26 03:10:05
А зачем withContext(Dispatchers.Main)? Этот скоуп и так в мейн потоке запускается

Ну я этого не знал. Первый вариант вообще был такой.
Snowmaze 2022-06-26 03:16:26
Угу, просто убери, ну и не забудь в singUp в IO переходить, тогда всё ок будет
Snowmaze 2022-06-26 03:16:49
А если ретрофит юзаешь, то можно и в IO не переходить, просто suspend на метод в апи интерфейсе поставить, оно само перейдёт
feroc1ty 2022-06-26 03:17:25
Snowmaze 2022-06-26 03:10:05
А зачем withContext(Dispatchers.Main)? Этот скоуп и так в мейн потоке запускается
Я тоже только недавно корутины открыл для себя. И такой вопрос, а разве в мейн потоке их запускать ок ?
Если к примеру работать с REST API и нужно ждать ответ от сервера, стоит ли их там запускать?
lUjekSh 2022-06-26 03:17:45
Snowmaze 2022-06-26 03:16:49
А если ретрофит юзаешь, то можно и в IO не переходить, просто suspend на метод в апи интерфейсе поставить, оно само перейдёт
ну у меня ретрофит.
Snowmaze 2022-06-26 03:18:27
feroc1ty 2022-06-26 03:17:25
Я тоже только недавно корутины открыл для себя. И такой вопрос, а разве в мейн потоке их запускать ок ?
Если к примеру работать с REST API и нужно ждать ответ от сервера, стоит ли их там запускать?
Ну философия корутин такая, что все саспенд методы должны работать из мейн потока без проблем, то есть ты в самом методе, который тяжёлый должен вызывать переход в другой поток
Snowmaze 2022-06-26 03:19:04
И тогда ты их просто сможешь вызывать как будто это синхронный код
lUjekSh 2022-06-26 03:19:32
Snowmaze 2022-06-26 03:16:49
А если ретрофит юзаешь, то можно и в IO не переходить, просто suspend на метод в апи интерфейсе поставить, оно само перейдёт
Только что прочитал что ответ ретрофита мы должны в try catch обернуть если мы используем корутины. Действительно нужно ли это?
Snowmaze 2022-06-26 03:20:26
lUjekSh 2022-06-26 03:19:32
Только что прочитал что ответ ретрофита мы должны в try catch обернуть если мы используем корутины. Действительно нужно ли это?
Ну да, ошибку же может выкинуть, без корутин тоже самое же, правда там обычно каллбэк onError в Call вызввается
Snowmaze 2022-06-26 03:20:41
А тут мы их как синхронный код юзаем и соответственно ошибка вылетит прямо на месте вызова
feroc1ty 2022-06-26 03:21:38
Snowmaze 2022-06-26 03:18:27
Ну философия корутин такая, что все саспенд методы должны работать из мейн потока без проблем, то есть ты в самом методе, который тяжёлый должен вызывать переход в другой поток
т.е если я хочу обратиться к серверу с get запросом, мне это можно все запустить в GlobalScope.launch ?
Snowmaze 2022-06-26 03:22:01
feroc1ty 2022-06-26 03:21:38
т.е если я хочу обратиться к серверу с get запросом, мне это можно все запустить в GlobalScope.launch ?
Ну для андроида есть всякие lifecycleScope, viewModelScope и т.д., но да
Snowmaze 2022-06-26 03:22:15
GlobalScope лучше не юзать
feroc1ty 2022-06-26 03:22:35
Snowmaze 2022-06-26 03:22:15
GlobalScope лучше не юзать
CoroutineScope(Dispatchers.IO).launch ?)
Snowmaze 2022-06-26 03:22:58
feroc1ty 2022-06-26 03:22:35
CoroutineScope(Dispatchers.IO).launch ?)
Ну такой скоуп ты должен сам руками закрывать, но опять же есть уже от самого андроида скоупы, которые лучше всего юзать
feroc1ty 2022-06-26 03:23:36
Snowmaze 2022-06-26 03:22:58
Ну такой скоуп ты должен сам руками закрывать, но опять же есть уже от самого андроида скоупы, которые лучше всего юзать
аа т.е этот скоуп нужно закрывать, а всякие lifecycle и viewModel они уже закрываются как-то сами
Snowmaze 2022-06-26 03:23:51
Ну да
feroc1ty 2022-06-26 03:24:06
спасибо) пожалуй нужно почитать больше про корутины )
Snowmaze 2022-06-26 03:24:39
Вьюмодельный в onCleared, а фрагментовый вроде в onDestroyed закоывается
Snowmaze 2022-06-26 03:25:02
Ну и ещё в фрагментах скоуп умеет останавливаться когда вызвался onPause
Snowmaze 2022-06-26 03:25:13
И возобновлять задачи, когда onResume
lUjekSh 2022-06-26 03:26:19
Snowmaze 2022-06-26 03:20:41
А тут мы их как синхронный код юзаем и соответственно ошибка вылетит прямо на месте вызова
Как я понял если юзать CoroutineExceptionHandler то можно обойтись без try catch
Snowmaze 2022-06-26 03:27:00
Ну можно, правда лучше ошибки на месте обрабатывать
Gmjmgmjm 2022-06-26 03:27:14
Snowmaze 2022-06-26 03:24:39
Вьюмодельный в onCleared, а фрагментовый вроде в onDestroyed закоывается
А как лучше сделать чтобы в нескольких потоках обрабатывал информацию? В forEach
Snowmaze 2022-06-26 03:27:38
Gmjmgmjm 2022-06-26 03:27:14
А как лучше сделать чтобы в нескольких потоках обрабатывал информацию? В forEach
Ну параллельно что ли? Или асинхронно?
Gmjmgmjm 2022-06-26 03:28:13
Snowmaze 2022-06-26 03:27:38
Ну параллельно что ли? Или асинхронно?
Не знаю)
В одном потоке очень медленно происходит обработка
Snowmaze 2022-06-26 03:28:17
Для асинхронного хватит и withContext(Dispatchers.IO), для параллельного async await можно юзать
← пред | след →