Урок 7. Сохранение состояния Activity - onSaveInstanceState() или ViewModel? LiveData

  Рет қаралды 36,935

Start Android

Start Android

Күн бұрын

Пікірлер: 64
@alexbulavin543
@alexbulavin543 5 жыл бұрын
Так никуда не годится! В одном уроке две темы. Если с первой частью почти всё понятно и код работает (кроме восстановления данных после поворота экрана телефона, списываю это на нестабильность Android Q на текущий момент 4.05.2019), то во второй части урока начиная с 5:12 используется неизвестно откуда взявшийся код. И что нам с этим делать? Где разъяснения как его создавать? Мы ведь для того и пришли на это занятие, чтобы найти объяснения. А тут предлагается наобум создавать все нужные файлы, восстанавливая текст с видео не понимая, куда делся предыдущий код из первой части занятия и как они должны быть связаны? Кроме того, когда код создан он просто не работает. И всего лишь из-за того, что нужно подгрузить некоторые компоненты SDK (или ещё что-то). Нонам откуда это должно быть известно??? Считаю, что нужно как минимум откорректировать видео и чётко объяснить с момента 5:12, что ребята, сейчас мы соддадим совершенно новый проект с ноля. Делайте так и так, должно получиться вот это... и так далее. Хардкод списка пользователей предлагаю заменить на более простые и понятные (и сразу и для последующего переиспользования) UserName1...UserNameN; UserDescription1...UserDescriptionN и так далее. Пользователи тем самым будут отличаться друг от друга, но подобные списки нам создать гораздо проще - скопировал и вставил, изменил индекс и всё готово. Спасибо!
@start_android
@start_android 5 жыл бұрын
Спасибо, учтем пожелания
@appcantabria3324
@appcantabria3324 5 жыл бұрын
@@start_android ну ну.........
@Guck1986
@Guck1986 5 жыл бұрын
Да не, норм, если свичь с другого языка, чисто для ускорения ознакомления. А если вы с нуля, вам явно не за андройд надо браться.
@AlexRobz161
@AlexRobz161 4 жыл бұрын
kzbin.info/www/bejne/g3LPhJ2qrd5ol80
@bogdannikitchuk3878
@bogdannikitchuk3878 4 жыл бұрын
@@AlexRobz161 в точку)
@wormeater1954
@wormeater1954 2 жыл бұрын
Даже спустя 3 года актуально, благодарю 💪
@АлексейЛукин-ь9м
@АлексейЛукин-ь9м 4 жыл бұрын
Предыдущие уроки всё отлично, лучшие уроки в сети... а здесь со второй половины "галопом по европам". Про холдеры, биндинг и адаптер не понятно... слишком быстро, половина строк не объясняется... и т.д. Просто чтение комментариев по кускам кода получается... гораздо лучше когда автор пишет код и объясняет, а тут во второй половине по уже написанному просто комментарии какой блок что делает.
@Dark3470
@Dark3470 Жыл бұрын
это recycler view, в интернете есть годные уроки по нему но у всех них встает вопрос о сохранении состояния, потому как нигде не объясняется как сохранить состояние в recycler view, официальная документация иногда как белый шум в таких случаях, вроде знаешь что это, но не понимаешь как применить собственно это видео не очень помогло в сохранении состояния
@YoungDeveloper
@YoungDeveloper 5 жыл бұрын
Если можно уроки выпускать часто. Жду не дождусь следующего урока
@awenn2015
@awenn2015 2 жыл бұрын
Не получается создать в mainActivity переменную от UserViewModel, показывает ошибку Property delegate must have a 'getValue(MainActivity, KProperty*>)' method. None of the following functions are suitable. Решение: Для тех кто в в 2022г и пишет на котлине вот так создаем переменную ViewModel => private val customizerViewModel by lazy {ViewModelProvider(this)[CustomizerViewModel::class.java]} (так же вместо android.arch.lifecycle нужно имплементировать 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1')
@korsikov2552
@korsikov2552 5 жыл бұрын
Пример проще нельзя было использовать? Вроде рассматривали ViewModel, а накрутили так...
@alexstyle8654
@alexstyle8654 5 жыл бұрын
Бро,очень ждем следующего урока. Можно хоть по 3 минуты, но почаще.
@НиколайЕфимов-г7л
@НиколайЕфимов-г7л 5 жыл бұрын
implementation 'com.android.support:recyclerview-v7:28.0.0' не подгружается следовательно import android.support.v7.widget.LinearLayoutManager не работает и userList.layoutManager = LinearLayoutManager(this) userList.adapter = adapter не будет работать не пойму как это побороть работаю на C# и там таких проблем нет, студия сама подскажет как исправить или что подгрузить
@НиколайЕфимов-г7л
@НиколайЕфимов-г7л 5 жыл бұрын
На страничке с уроком, в комментариях есть решение www.fandroid.info/urok-7-androiddev-na-kotlin-sohranenie-i-peredacha-sostoyaniya-aktiviti-pri-povorote-ustrojstva-onsaveinstancestate-ili-viewmodel-livedata-kotlin-android-extensions/
@kulbabus
@kulbabus 4 жыл бұрын
Если честно мало что извлек из видео. Нужно проще рассказывать и говорить о главном.
@sergey_risovaniy
@sergey_risovaniy 4 жыл бұрын
Спасибо, большое за курс! Информацию о Kotlin Android Extensions стоит добавить в урок номер 4 после инструкции про добавление автоимпорта "на лету"
@IlyaPopov2003
@IlyaPopov2003 3 жыл бұрын
Есть вопрос ,ответьте пожалуста .Я создал приложение погода ,и хочу чтобы данные все сохранялись при повороте экрана .Не какойто элемент а все активити .Можете написать код для сохранения всего активити
@amiakari7700
@amiakari7700 2 жыл бұрын
странно - у меня при повороте экрана и при переходе в многооконный режим текст в TextView не сбросился, а при смене языка - да
@awenn2015
@awenn2015 2 жыл бұрын
сейчас restore по другому наверно работает, его лучше не использовать для таких целей так как он срабатывает только при повороте экрана
@iamlaner2029
@iamlaner2029 4 жыл бұрын
Нет папки «User» Откуда она появилась?
@Flandenar
@Flandenar 4 жыл бұрын
По ViewModel наверное стоило бы сделать отдельный урок. К тому же, установить зависимости как в видео сейчас не получается, при установке более современной версии список получается другим, не понятно что и как.
@АнтонАнтипин-п2ъ
@АнтонАнтипин-п2ъ Жыл бұрын
Я когда давно столкнулся с тем что activity пересоздает данные - посчитал бредом и меня отвернуло навиг. Ни в одной системе до этого view так не пересоздавался. Во всяком случае данные по 10 раз получать и где то хранить - больше на костыль похоже
@awenn2015
@awenn2015 2 жыл бұрын
То есть по идее во vm можно хранить Bluetooth сокет? Что бы он не уничтожался при повороте экрана и тд (точнее он не уничтожается просто я его на deatch уничтожаю
@InvincibleXXX
@InvincibleXXX 4 жыл бұрын
еще момент - у меня сохраняются значения при повороте экрана, может это связано с новой версией android studio, а урок просто уже утарел?
@alexeyryaguzov3951
@alexeyryaguzov3951 5 жыл бұрын
здравствуйте виталий. в версии. Android Studio 3.4. появилась возможность использовать sample Data можете ли вы сделать по этой теме урок
@Haota2000
@Haota2000 4 жыл бұрын
Код не работает, в интеренете пишут что это java а не котлин. Почему он у вас работает?
@InvincibleXXX
@InvincibleXXX 4 жыл бұрын
я один не понимаю почему здесь ненужно применять findViewById к элементам? Как система или как правильно сказать, наверное SDK понимает какой элемент куда подвязывается?
@Irod_Akayanny
@Irod_Akayanny 4 жыл бұрын
Просто в коде по id обращаешься к View.
@InvincibleXXX
@InvincibleXXX 4 жыл бұрын
@@Irod_Akayanny для чего там нам нужен был findVeiwById или зачем применять dataBinding?
@Irod_Akayanny
@Irod_Akayanny 4 жыл бұрын
@@InvincibleXXX Изначально для работы с View в коде использовался (и сейчас его по прежнему можно использовать) findVeiwById. Потом подъехал Kotlin Android Extensions и с помощью kotlinx.android.synthetic ты можешь прям сразу в коде писать id. А dataBinding связывает переменную и то место где она должна отображаться (View). Тебе больше не нужно заботится о том, чтобы пулять каждый раз измененное значение во вьюху.
@InvincibleXXX
@InvincibleXXX 4 жыл бұрын
@@Irod_Akayanny я вас понял, спасибо за разъяснение!
@dimka00706
@dimka00706 4 жыл бұрын
@@Irod_Akayanny этот плагин (kotlin android extensions) уже стал deprecated
@soulgenn
@soulgenn 5 жыл бұрын
Создайте пожалуйста урок про хоткеи в Android Studio и полезные(скрытые) трюки пользования данной IDE
@awenn2015
@awenn2015 2 жыл бұрын
для тех пришел в 2к22 имплементируйте androidx.recyclerview:recyclerview:1.2.1 вместо com.android.support:recycylerview-v7:28.0.0
@cybersystem5137
@cybersystem5137 4 жыл бұрын
Bundle? не работает тоже сейчас, без ? - спокойно.
@Dark3470
@Dark3470 Жыл бұрын
это recycler view, в интернете есть годные уроки по нему но у всех них встает вопрос о сохранении состояния, потому как нигде не объясняется как сохранить состояние в recycler view, официальная документация иногда как белый шум в таких случаях, вроде знаешь что это, но не понимаешь как применить собственно это видео не очень помогло в решении этой проблемы в recycle view
@b0ss1987
@b0ss1987 5 жыл бұрын
Отлично! Канал оживился )
@freeman5505
@freeman5505 5 жыл бұрын
Здавствуйте! Почему не которые приложения работает с помощью интернета, например : вконтакт, инсаграмм... и тогдали , а не которые работает без интернета ? Или они создаются на разных языках?
@toki317
@toki317 2 жыл бұрын
без интернета работают те приложения, которые работают на языках программирования не с интернета а с флешки а те что с интернета тем и интернет нуж0н
@awenn2015
@awenn2015 2 жыл бұрын
причем тут язык вообще, какие permission запросишь в манифесте то и будет работать
@b1_world
@b1_world 5 жыл бұрын
где новое видєо?
@Tim_Obozny
@Tim_Obozny 2 жыл бұрын
ценю чужой труд, поэтому досмотрел до конца с удовольствием, но, к сожалению, сейчас этот код не работает :( Почитаю документашку
@croptv7093
@croptv7093 5 жыл бұрын
Годно, без вопросов
@yuriyabramov8360
@yuriyabramov8360 5 жыл бұрын
Местами ощущение что на разном пишем, местами код совсем не работает, местами все другое. У вас хоть какая версия? У меня 3.5.1. Или это не уроки совсем, а замануха на курсы такая!? Так хуже себе делаете
@ДмитрийСысоев-ъ6я
@ДмитрийСысоев-ъ6я 5 жыл бұрын
Что делать если антивирус (AVG) удалил файл adb.exe (в карантин)?
@ЕвгенийЛарин-с5п
@ЕвгенийЛарин-с5п 5 жыл бұрын
Заменить антивирус)
@jojomajo
@jojomajo 4 жыл бұрын
антивирус сносит безобидные файлы - повод снести сам антивирус
@tpov_oleg
@tpov_oleg 3 жыл бұрын
Лёгкие вещи объясняются сложными терминами, ничего не понятно
@alext711
@alext711 4 жыл бұрын
ЛАЙВ ДЭЙТА! А НЕ ЛИВ ДАТА!
@meoook
@meoook 5 жыл бұрын
Спасибо, все понятно и подробно рассказал, а где надо, коменты в коде.
@ki11qwerty47
@ki11qwerty47 5 жыл бұрын
не смотрел, но ставлю лайк так как уважаю вашу работу, параллельно учусь котлину на андройд просто забежал уже немного по дальше, весело было с бродкастами, с созданием ананимного класса в котлин, часа 4 убил)
@sfiirwuejnn
@sfiirwuejnn 5 жыл бұрын
kzbin.info/door/xGXkPks1Ykbx2Plt4DgZlA - Еще один хороший канал для андроид разработчиков
@KabukiWarrior369
@KabukiWarrior369 3 жыл бұрын
Очень крутой урок, все понятно, большое спасибо!
@DTXru
@DTXru 5 жыл бұрын
Много автор канала заработал?
@KlinovAS
@KlinovAS 4 жыл бұрын
Вообще неважно. Заслуживает более чем. Когда мотиваторы говорят "главное действовать", то одни говорят "это точно", а другие действуют. Автор просто молодец!
@aleksandrboyko1388
@aleksandrboyko1388 2 жыл бұрын
Что за магия? button.setOnClickListener . А где инициализация button?
@devmob1740
@devmob1740 2 ай бұрын
10.35 объяснение
Урок 8. Android Data Binding - основы
10:01
Start Android
Рет қаралды 24 М.
요즘유행 찍는법
0:34
오마이비키 OMV
Рет қаралды 12 МЛН
Как Ходили родители в ШКОЛУ!
0:49
Family Box
Рет қаралды 2,3 МЛН
Шаблон MVVM по-простому. LiveData.
33:00
Мобильный разработчик | Юрий Петров | Flutter
Рет қаралды 25 М.
LiveData Explained - Android Architecture Component | Tutorial
12:12
MVI в Android на практике
19:20
Тимофей Коваленко
Рет қаралды 16 М.
ViewModel Explained - Android Architecture Component | Tutorial
8:27