Чеееееееллллл, наконец то я нашел норм объяснение с кодом, максимальный респект
@mr.developer Жыл бұрын
Благодарю за отзыв, очень приятно ☺️🤝
@Inoy-y3p Жыл бұрын
Пожалуй один из самых сложных уроков, но и один из очень важных. Достаточно интересный урок. Большое спасибо учитель.
@АлександрНазаров-в2э9н3 жыл бұрын
Шикарная подача. Наконец-то понял всю эту штуку)
@purwic2 жыл бұрын
+
@sonnne343 жыл бұрын
Долго искала материал, чтоб вот так без воды на пальцах объяснили, что к чему) Спасибо большое!!! Вот прям спасибо!
@mr.developer3 жыл бұрын
Благодарю за отзыв 🤝
@Polite_person_2 жыл бұрын
@@mr.developer полностью согласен с первым комментарием, спасибо вам, тема простая, но обычно в курсах объясняют оторванные от реальности сеньоры, для которых многие вещи, непонятные новичкам, кажутся очевидными и все это происходит в контексте непростого приложения для новичка, где куча лишней инфы. Еще раз спасибо!
@АлексейМандрыкин-ч7е3 жыл бұрын
Здорово! Как же просто все объясняется. Наконец-то объяснение понятными словами.
@mr.developer3 жыл бұрын
Благодарю за отзыв 🤝
@Ivan-fl9vq2 жыл бұрын
спасибо больше, очень помог, сколько я уже ищу информацию у всех по разному НО у тебя быстро и доступно !
@mr.developer Жыл бұрын
Благодарю вас за отзыв, очень приятно ☺️🤝
@amadeusvsl3 жыл бұрын
Подача материала, просто ВЕЛИКОЛЕПНА!!!!
@Sakhalinec4 жыл бұрын
Здорово!!! Отличные видео, мне даже засыпающему многое понятно) Завтра буду еще раз смотреть! Не бросайте записывать обучающие материалы, у вас хорошо получается... Желаю каналу побольше лайков и подписчиков!!!
@mr.developer4 жыл бұрын
Благодарю за отзыв)
@omelchenkoaleks4 жыл бұрын
Редко пишу комментарии, но решил просто вас так поблагодарить. Очень понятно и доступно. Пытался сам неоднократно подойти к этой теме - скажу честно, шла туго. А тут прояснение! Спасибо! Надеюсь будут еще такие полезные видео!
@mr.developer4 жыл бұрын
Благодарю за отзыв
@jahongirmullayev51532 жыл бұрын
Спасибо за ваш труд! Подписался Жду новых уроков)
@АндрейАнашкин-е3у3 жыл бұрын
Большое спасибо 3 дня пытался это понять, пока не наткнулся на это видео!
@vitiyz803vitiyz Жыл бұрын
Блестящий урок, очень информативно, особенно если еть уже фрагменты знаний, этот урок их дополняет и упорядочивает
@mikoajreznik66622 жыл бұрын
Огромное спасибо! Благодарю Вашем видео я наконец-то понял зачем вообще нужен такой зверь - вьюмодель!
@muhammadkurbonov4779 Жыл бұрын
Спасибо большое за урок ,все четко и ясно , жаль что забросили уроки по котлину (
@ХожиакбарДжумабаев-ю1ц2 жыл бұрын
Спасибо за урок! Отлично преподносите информацию!
@mr.developer2 жыл бұрын
Благодарю за отзыв 🤝
@salhayek102 жыл бұрын
Очень круто! Спасибо!
@aidarmukanbet826910 ай бұрын
Огромное спасибо, часто оставлял на потом изучение архитектуры, изучая firebase room и тд. Но благодаря вам наконец то избавился от этой больной темы и так же обрел на вооружение преимущества MVVM и LiveData.
@getRECTaPPs11 ай бұрын
огромное спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!😘😘😘😘😘😘
@implementor73154 жыл бұрын
Благодаря вам я познал android, закрыл множество пробелов. Спасибо. Картина всего начала складываться лучше. коммент не только касается данного видео
@Majjabee-np9nq3 жыл бұрын
Ты крут! Большое спасибо! Наконец начал понимать что такое MVVM!!! Большое спасибо!
@mr.developer3 жыл бұрын
Благодарю за отзыв
@pokrova709 ай бұрын
Спасибо. Придется, наверно, этим заняться. Фрагменты...
@olegkovalenko57082 жыл бұрын
Круто, спасибо за понятную подачу!
@mr.developer Жыл бұрын
Благодарю за отзыв, очень приятно ☺️🤝
@innagosteva12032 жыл бұрын
Спасибо за Ваш труд)
@mr.developer2 жыл бұрын
🤝
@ipvoodoo4 жыл бұрын
Вот с таким подходом я наверное начну использовать viewmodel без кипячения мозгов и гемора. Спасибо Юрок за урок :)! Прикрути туда ещё работу с корутинами и тогда картинка сложится (по крайней мере у меня)))
@mr.developer4 жыл бұрын
Благодарю за отзыв)
@БайелКененбаев2 жыл бұрын
Супер благодарю !
@eltoro_study3 жыл бұрын
Молодець))))) ДЯкую
@mr.developer2 жыл бұрын
Можно поддержать автора и канал 🤝 купив полный курс по MVVM здесь: @t Список уроков: 1. Создание проекта. 2. Заполнение activity_main.xml. 3. Заполнение fragment_main.xml. Добавление note_item.xml 4. Заполнение макетов. Добавление кнопок на тулбар 5. Инициализация объектов в MainActivity 6. Инициализация StartFragment.kt, создание модели AppNote.kt 7. Создание DatabaseRepository.kt, реализация репозитория Room 8. Создание базы данных AppRoomDatabase.kt 9. Переход с MainFragment.kt на AddNewNoteFragment.kt 10. Создание новой заметки 11. Заполнение RecyclerView. Отображение списка заметок 12. Переход в NoteFragment.kt, удаление заметки из БД 13. Настройка поведения навигационного графа 14. Создание с нуля проекта в Firebase 15. Подключение к Firebase 16. Макет для выбора базы данных 17. Быстрая авторизация в Firebase 18. Создание LiveData для работы с Firebase 19. Создание новой заметки в Firebase 20. Удаление заметки из Firebase 21. Реализация функции выхода из аккаунта Firebase 22. Добавление анимации в навигацию 23. Сохранение настроек в SharedPreference. Где применим стек технологий: -Android SDK; -Kotlin; -MVVM; -LiveData; -ViewModel; -Room (SQLite); -Navigation; -Kotlin Coroutines; -Firebase SDK; -RecyclerView.
@kaiiitahka7402 Жыл бұрын
суко это лучшее обьяснение. Я вообще никак не мог понять эту гребаную viewModel , а сейчас наконец-то понял 🥳
@mr.developer Жыл бұрын
Благодарю вас за отзыв, очень приятно ☺️🤝
@JustAmalll4 жыл бұрын
большое спасибо, все понятно и ясно объяснили ))
@anoninfo974 жыл бұрын
Ahueennna! Спасибо.
@AK-eg5rr4 жыл бұрын
Годнота!
@ВиталийСупрун-р8ч7 ай бұрын
спасибо, очень доходчиво. а с точки зрения архитектуры разве не активити должна выводить тост, или идея была продемонстрировать доступ к контексту?
@vitalyparhomenko78174 жыл бұрын
Понятное объяснение, спасибо!
@romanfedorov45534 жыл бұрын
Очень крутой материал, спасибо! Только не согласен на счет получения контекста - если использовать например Dagger, и внедрить зависимость для контекста, то заранее инициализированный контекст можно получать абсолютно из любой части приложения, без всяких утечек памяти и тд
@ПавелЗубко-ц8ч3 жыл бұрын
супер!
@mr.developer3 жыл бұрын
Благодарю за отзыв 🤝
@pavelb37344 жыл бұрын
Шикарно. Делайте курс на какой-нибудь платформе, я б купил
@abuiman52513 жыл бұрын
👍🏻
@mikhaillazarev5378 Жыл бұрын
Спасибо большое за информацию, не много сложнова-то воспринимается, так как не сталкивался. А что если нам необходимо сохранить массив со своим классом в этом случае ViewModel поможет?
@mr.developer Жыл бұрын
Благодарю вас за отзыв, очень приятно ☺️🤝
@jojomajo4 жыл бұрын
Четко
@oleg123952 жыл бұрын
упер, большое спасибо! Только не могу понять, как вы обращаетесь к TextView без использования binding и findViewById ?
@mr.developer Жыл бұрын
Расширения в котлин
@fiodar_vasilets3 жыл бұрын
а почему у меня не обнуляется при повороте, не в onCreate не onStart?
@mr.developer Жыл бұрын
🤷♂️
@Child0fTheSun_2 жыл бұрын
Как сделать такие же цвета в коде (или установить другие)? Это все вручную настраивается или можно скачать какую-то тему и установить?
@mr.developer Жыл бұрын
Можно самому настроить)
@OleksandrArtiushenko2 жыл бұрын
Добрый день. Хотел спросить, может у Вас есть курс платный/бесплатный на степик или coursera??? Очень хорошо подаете материал, хотелось бы пройти с Вами полный курс спасибо
@mr.developer2 жыл бұрын
Здравствуйте. Пока нет) Вы можете изучить mvvm на реальном примере boosty.to/mr.developer/posts/fe32632b-1f7e-4c82-9a8e-d2a4e2cb2146?share=post_link
@РожковАндрей-х8ш4 жыл бұрын
Круто кодите!
@mr.developer4 жыл бұрын
Благодарю
@antaki93 Жыл бұрын
Не могу понять, как вы обращаетесь напрямую к view-элементам разметки из кода активити без fidnViewById() или дополнительных библиотек. Раскройте секрет, пожалуйста :)
@mr.developer Жыл бұрын
Эх, давно это было)))
@muhammadkurbonov4779 Жыл бұрын
Так уже нельзя, у него использовалось kotlinx.synthetics
@pavelgera723 жыл бұрын
Как передать во viewmodel из activity значение по нажатию клавиши?
@mr.developer Жыл бұрын
🤷♂️
@АртемДорожкин-п9г3 жыл бұрын
Классное объяснение, спасибо за уроки! Я пытаюсь сделать пример, аналогичный тому, что в видео начинается на 9:48. ( Наследуюсь от AndroidViewModel ) Однако возникает проблема при получении экземпляра модели. 1) myViewModel = ViewModelProvider(this).get(MyViewModel::class.java) // как в видео, почему-то runtime error (в дереве логов подозреваю виновником строчку Caused by: java.lang.InstantiationException: java.lang.Class has no zero argument constructor) 2) myViewModel = ViewModelProvider.AndroidViewModelFactory(application).create(MyViewModel::class.java) // работает 3) myViewModel = ViewModelProvider(this, MyFactory(application)).get(MyViewModel::class.java) // работает Второй и третий способ вроде бы работают, можно ли их считать заменой? Обязательно ли получать модель через метод get или можно через create?
@qqqwww70662 жыл бұрын
А разве когда view контролирует передачу данных из view во viewModel это хорошая практика? Я где-то видел мнение что вьюшка должна передавать что-то во viewModel только по запросу последней
@mr.developer Жыл бұрын
🤷♂️
@needtools Жыл бұрын
Не забыть настроить эмулятор для автоповорота экрана.
@mr.developer Жыл бұрын
Ага
@КатяДавыдова-э3у3 жыл бұрын
Хм.. Не понимаю почему у меня не сбрасывается счетчик при повороте экрана
@mr.developer Жыл бұрын
🤷♂️
@Бананб-г4щ4 жыл бұрын
Немного не понятно для чего мы создаём фактори,чтобы в тост задать текст?Но зачем, когда мы можем жестко это задать,прям в тосте, объясните пожалуйста
@liosha20074 жыл бұрын
Тут дело не в тексте, туда можно передать что-то, что можно получить только внутри активити (например значения из Bundle, с которыми активити было создано). С текстом это только пример как в принципе это делать, а что передавать уже дело конкретного случая.
@Бананб-г4щ4 жыл бұрын
@@liosha2007 а,понял, спасибо большое)
@Андрей-у9р7з2 жыл бұрын
Очень просто это сделать без ViewModel, с помощью потока Thread 😀
@mr.developer Жыл бұрын
👍
@АлександрГригоренко-г8к3 жыл бұрын
Спасибо за классный урок. А что за тема у вас установлена? тоже хочу такую)
@mr.developer3 жыл бұрын
Благодарю за просмотр, тема кастомная сам делал
@yuriisika28843 жыл бұрын
Дякую за відео))) Як можна зробити таку візуалізацію коду як у тебе?
@mr.developer3 жыл бұрын
Привет, material theme plugin
@yuriisika28843 жыл бұрын
@@mr.developer привіт, дуже дякую)
@BogaBoga9114 жыл бұрын
Спасибо бро, помог закрепить материал. У меня созрел вопрос. Скажи пожалуйста где рационально строить приложения по MVP, а где по MVVM? Я так понимаю клиент-серверное приложение с сохранением данных в локальную БД рациональней строить по MVVM. А где на практике рациональней использовать MVP?
@mr.developer4 жыл бұрын
Здравствуйте, MVVM надо использовать везде. MVP устарел
@BogaBoga9114 жыл бұрын
@@mr.developer спасибо👌
@iam_romanych4 жыл бұрын
@@mr.developer я как то на MVP подсел, но после его усвоения тут все совершенно просто понятно и перейти нет проблем на mvvm
@sergeyjoke Жыл бұрын
Звук от клавиатуры ужасный )))
@mr.developer Жыл бұрын
👀
@EgorRandomize3 жыл бұрын
А разве генерация кастомного factory не является poor practice? Как по мне, текст в тосте должен быть полем в ViewModel (можно даже не observable), и изменяться на уровне инициализации либо контекста бизнес логики. А так - просто лишний класс, который делает VM менее гибким
@FyUajYpUlM39 Жыл бұрын
Тоже подумал об этом. Задача view model же - отделять данные от ui, а тут они снова смешиваются.