Всем привет, для удобства создал канал и чат в Telegram. Вступайте в чат, будет интересно)) Канал: t.me/mobile_developing Чат: t.me/mobile_developing_chat
Ого, видимо "проблемная" тема, я 672 лайк поставил =)) (в предыдущих видео в районе 200 было =)) ) Огромное спасибо! У автора редкий талант - способность объяснять не очевидные вещи. Обычно, условный учитель дает материал, и вроде все понятно и даже у учителя всё работает, но пока у тебя что-то получится проходит ощутимое количество времени и приходится потратить кучу сил. Когда учитель сам преисполняется в своём познании, как автора этого курса, то материал становится понятным и легко усваиваемым для учеников. Очень круто! Рукоплещу!
Не понял тонкостей отличия GlobalScope от CourutineScope(IO), в пером случае корутина работает постоянно.. но что происходит после того как функция в корутине выполнилась? А в CourutineScope(IO) корутина заканчивает существование, после выполнения в ней функции?
Спасибо за видео. Но я столкнулся с обратной проблемой: мне нужно, чтобы метод фрагмента onCreateView подождал остановил свое выполнение, пока внутри него не выполнится операция, выполняемая в отдельном потоке (метод .get Firestore) 1. При нажатии кнопки в одном фрагменте через SafeArg я передаю некий параметр во второй фрагмент. 2. Во втором фрагменте получаю этот SafeArg и использую его для асинхронного вызова FirebaseFirestore.getInstance().collection... 3. Какии бы я ни делал callback, даже если я делаю это внутри ViewModel, всё равно не получается заставить подождать onCreateView. Мне получается нужно как-то выполнить операцию с БД после нажатия кнопки (которая открывает через Navigation второй фрагмент), но до запуска onCreateView второго фрагмента? Что в таких случаях делать? Заранее спасибо.
Здравствуйте, используя runBlocking, вы заблокируете текущий поток. Нам это зачем?. Нам необходимо выполнить асинхронную операцию. Многие не правильно используют runBlocking. Использовать данную функцию имеет смысл, например в JUnit тестах когда необходимо заблокировать поток. По поводу suspend, здесь нет смысла в данном модификаторе, так как наша функция не останавливается. Если же, нам необходимо было бы приостанавливать функцию initContacts, например для синхронизации с базой данный SQlite,тогда да.
Ответ RX? Рили? А ни что что это вообще о разном? Курутинки о сопрограммах, а рх о потоке данных и многопоточка там как побочные результат. Вот flow это ответ рх, действительно
Всем привет, для удобства создал канал и чат в Telegram. Вступайте в чат, будет интересно))
Канал: t.me/mobile_developing
Чат: t.me/mobile_developing_chat
Отличный подход. Сначало привить понимание, а далее уже разбирать остальное. Круто!!!!! Спасибо за простое объяснение
Большое спасибо за труд! только сейчас появилось хоть какое-то понимание что к чему вообще
Было очень интересно и ново
Благодарю за отзыв, очень приятно ☺️🤝
Круто! Главное просто и понятно
Такого простого пояснення ще не зустрічав на просторах інтернету
🤝
Ого, видимо "проблемная" тема, я 672 лайк поставил =)) (в предыдущих видео в районе 200 было =)) )
Огромное спасибо!
У автора редкий талант - способность объяснять не очевидные вещи. Обычно, условный учитель дает материал, и вроде все понятно и даже у учителя всё работает, но пока у тебя что-то получится проходит ощутимое количество времени и приходится потратить кучу сил. Когда учитель сам преисполняется в своём познании, как автора этого курса, то материал становится понятным и легко усваиваемым для учеников. Очень круто! Рукоплещу!
Спасибо за уроки!
Крутой!) Требую продолжения!
Друзья, открылся чат для обсуждения и вопросов по данному
курсу: vk.me/join/AJQ1d/T0Thd8BDP9Jf06493u
спасибо большое!)
В общем классно все! Наглядный пример, все круто, в документации бы еще такие примеры приводили бы...
Благодарю за отзыв)
Спасибо!
Пиздатый ты мужик. Спасибо большое. Вопрос - а есть ли смысл запускать корутинку для получения преференсов?
Благодарю за отзыв 🤝. Насчёт преференц - я так не делаю)
Спасибо большое за уроки. Сделайте урок по корутинам пожалуйста )
🤝
👍🏻👍🏻👍🏻
Спасибо
корутины придумали в lua, для медленных подзадач самое то
Не понял тонкостей отличия GlobalScope от CourutineScope(IO), в пером случае корутина работает постоянно.. но что происходит после того как функция в корутине выполнилась? А в CourutineScope(IO) корутина заканчивает существование, после выполнения в ней функции?
Можно сказать и так
@@mr.developer что "можно сказать и так"? Там вопрос был: "что происходит с корутмноы запущенной в global scope когда функция закончит работу?"
Читайте внимательно вопрос, там есть и ответ
По вашему мнению и опыту, стоит учить RxJava или лучше писать приложения на корутинах? А то уже не знаю, погружаться в RxJava или корутины.
Я за корутины, но у каждого свое мнение.
Спасибо за видео.
Но я столкнулся с обратной проблемой: мне нужно, чтобы метод фрагмента onCreateView подождал остановил свое выполнение, пока внутри него не выполнится операция, выполняемая в отдельном потоке (метод .get Firestore)
1. При нажатии кнопки в одном фрагменте через SafeArg я передаю некий параметр во второй фрагмент.
2. Во втором фрагменте получаю этот SafeArg и использую его для асинхронного вызова FirebaseFirestore.getInstance().collection...
3. Какии бы я ни делал callback, даже если я делаю это внутри ViewModel, всё равно не получается заставить подождать onCreateView.
Мне получается нужно как-то выполнить операцию с БД после нажатия кнопки (которая открывает через Navigation второй фрагмент), но до запуска onCreateView второго фрагмента?
Что в таких случаях делать? Заранее спасибо.
Библиотека корутин не была добавлена в студио, пришлось искать самому и прописывать, на заметку)
как тема в студии называется?
А как же runBlocking, suspend? Та самая не понятная теория на хабре, д и других источниках
Здравствуйте, используя runBlocking, вы заблокируете текущий поток. Нам это зачем?. Нам необходимо выполнить асинхронную операцию. Многие не правильно используют runBlocking. Использовать данную функцию имеет смысл, например в JUnit тестах когда необходимо заблокировать поток. По поводу suspend, здесь нет смысла в данном модификаторе, так как наша функция не останавливается. Если же, нам необходимо было бы приостанавливать функцию initContacts, например для синхронизации с базой данный SQlite,тогда да.
@@mr.developer о, спасибо. Благодарен!
дизы кто ставил не могу понять) это наверное до этой стадии изучения дошел и дальше лень было))
Ответ RX? Рили? А ни что что это вообще о разном? Курутинки о сопрограммах, а рх о потоке данных и многопоточка там как побочные результат.
Вот flow это ответ рх, действительно
Млин ничего не понял, но очень интересно 👍
@@mr.developer естественно что не понял, раз в своем видео говоришь что курутинки ответ RX-у
Даже спорить не буду
@@mr.developer почему?
Нет ни времени ни желании.)
глобал скоуп подчеркнут красным
Может импорты?