Тёмный

Room. SQLite для Android. Часть 1. [Ru, Kotlin\Android] 

Mobile Developer
Подписаться 52 тыс.
Просмотров 29 тыс.
50% 1

Опубликовано:

 

25 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 75   
@MobileDeveloper
@MobileDeveloper 3 года назад
Немножко внутренностей 02:48 - Виды баз данных 06:02 - SqLite 08:54 - Практическая часть 10:32 - Подготовка проекта 17:49 - Класс Room и модуль DataModule 21:12 - Добавление Room 24:08 - Создание таблицы 27:31 - Запись и чтение данных (DAO) 33:12 - Создание и подключение базы данных 42:01 - Сохранение в базе данных
@oleg12395
@oleg12395 2 года назад
Алексей все круто. Спасибо за крутейший материал. Единственное - сложновато когда не с начала начинаешь ... Это я так, как самый начинающий андройд разработчик )
@user-sankarsana
@user-sankarsana 3 года назад
Круто! И да, нужно видео про транзакции.
@MobileDeveloper
@MobileDeveloper 3 года назад
Спасибо :)
@loragomel4706
@loragomel4706 2 года назад
Спасибо автору за видео. Качественная подача материала и понятное объяснение. Я только начала работать программистом, пишу на языке Java и все равно уловила суть 🙂
@MobileDeveloper
@MobileDeveloper 2 года назад
Спасибо!)
@wasp5787
@wasp5787 3 года назад
Недавно первый раз столкнулся с NoSql, в firebase firestore. первые пол часа просто тупил и не мог понять как в таком виде вообще работать с данными :) Потом придумал для себя такое представление, что если sql это можно представить как всем знакомый excel с табличками, то nosql это как физическая папка с мультифорами, в которых лежат документы. И как-то сразу стало понятно как с такой БД работать :) Но было бы полезно посмотреть видео и на тему nosql. p.s. мультифора - файл, пластиковый пакетик. недавно узнал, что вне сибири мало кто знает такое название ))
@MobileDeveloper
@MobileDeveloper 3 года назад
Ой сразу вспомнил родной Томск ) да в Москве никто не знает, что такое мультифора. NoSql это целая группа разных реализаций, но в целом если взять firestore, то это выглядит просто как гигантский Dictionary ) чем он собственно и является )
@АнтонКулибякин
@АнтонКулибякин 3 года назад
Для тех кто с Кубани - это вообще загадочное слово
@АнтонКулибякин
@АнтонКулибякин 3 года назад
Ну попробуй посмотреть видео монги- mongo dB university, там на курсе m01 они рассказывают разницу
@Mecenatt
@Mecenatt 3 года назад
Если кто-то понял хоть одно слово , я думаю он знает как использовать ROOM.
@MobileDeveloper
@MobileDeveloper 3 года назад
Не очень понял, что вы имеете ввиду
@Mecenatt
@Mecenatt 3 года назад
@@MobileDeveloper да имел ввиду что "жаргон" как минимум на Midl , а для нубасов непонятно . Ну а мидл и так знает рум
@MobileDeveloper
@MobileDeveloper 3 года назад
Что конкретно не понятно?)
@михаилкоровин-е5м
@михаилкоровин-е5м 3 года назад
@@MobileDeveloper Блин, может это у меня с головой проблемы, но все-таки, думаю, таких как я много. Описываю свои проблемы после 24-х минутного просмотра: 1. Взят проект уже существующий. Мне, как человеку, который впервые на канале интересно узнать конкретно про room как его поставить и как начать пользоваться. Следовательно, не удобно изучать это смотря на большой проект, в котором минут 15 рассказывается как мы будем совмещать сервер и базу данных, что вообще не по теме. Если рассказывать про что-то, то лучше все-таки на очень простом примере. 2. Было бы приятно видеть ссылки из которых берешь код для тех же зависимостей например. Я вот взял CompillerOptions от сюда developer.android.com/jetpack/androidx/releases/room и долго не мог понять почему gradle ругается на "to". 3. Дошел я до 24 минуты, там ты открываешь папку room после работы с gradle. У меня папки room нет (может быть я не заметил конечно). Я не знаю, нужно ли ее создавать вручную, или она должна была появиться. Я не знаю толком как вообще в android с базами данных работать. Я просто зашел на страницу документашки по бд и там был совет использовать room) То есть, получается, я уже не могу ничего сделать, чтобы продолжить дальше следовать уроку и понять как работать с room на самом простом уровне, чтобы дальше уже учиться средствами чтения документашки. Но у тебя приятная подача материала. Узнал из урока хотя бы как обновлять приложения с бд, как раз задавался таким вопросом. Буду рад, если мои замечания помогут лучше понять типичного зрителя и улучшить контент)
@B0RSH777
@B0RSH777 2 года назад
+ Хотел просто добавить локальное хранение данных, но блин по создавал куча классов и интерфейсов, частично связал, начал ругатся на мои функции, не юзал до этого rxjava и drager, кароче нужно все переделывать. А я надеялся обойдусь пару файлами, думал будет просто записывать массив, и его вызывать при запуске ну и чекать удалленное хранение
@Juliet-z8z
@Juliet-z8z Год назад
А вторая часть-то будет?)
@damask_
@damask_ Год назад
воу, а нельзя было запилить какое-нибудь новое приложение с использованием Room? мне как новичку не очень понятно, как и многим другим
@MobileDeveloper
@MobileDeveloper Год назад
Забавно, но под другими видео пишут воу, а нельзя было не hello world показать, а реальный проект?
@АндрейТерегулов
@АндрейТерегулов 3 года назад
32:16 Почему используется like, а ==? Ключ же интовый.
@MobileDeveloper
@MobileDeveloper 3 года назад
Там нет a ==, что вы имеете ввиду?
@АндрейТерегулов
@АндрейТерегулов 3 года назад
@@MobileDeveloper пропущено 'не', т.е. 'а не =='. Меня смутило сравнение целых чисел через like. В sql like применяется для поиска вхождения подстроки в строку.
@lui970
@lui970 3 года назад
Про ошибку на (55:05) Проверьте на 44:57. Возможно проблема банально в Dao. В одном @Insert прописан OnConflictStrategy, а во втором нет. По умолчанию он падает на constraint при попытке добавить запись с таким же primary key.
@MobileDeveloper
@MobileDeveloper 3 года назад
Хм, интересно ) я ещё не разбирал )
@MrPwnzrus
@MrPwnzrus 3 года назад
Добрый день! Было бы интересно от вас получить видео (или даже цикл роликов) на тему нововведений в различных версиях андройд и какую они имеют прикладную роль непосредственно в разработке. Например, про сервисы в 8+ версиях и пр
@MobileDeveloper
@MobileDeveloper 3 года назад
Очень интересная идея, подумаю, спасибо )
@PandaTop.
@PandaTop. 3 года назад
Про Dagger Hilt будет видео ?
@MobileDeveloper
@MobileDeveloper 3 года назад
Есть уже на канале, поищите
@nikolozlatsabidze2196
@nikolozlatsabidze2196 2 года назад
а там нелзя анотацию использывать (@Embedded)? когда у тебя лист в рум, а не создавать таипконвертеры
@PandaTop.
@PandaTop. 3 года назад
Когда вторая часть?
@MobileDeveloper
@MobileDeveloper 3 года назад
Возможно ее вообще не будет, ибо вторые части не очень интересны как я вижу)
@PandaTop.
@PandaTop. 3 года назад
@@MobileDeveloper лично мне интересно )
@obozrevatel365
@obozrevatel365 3 года назад
Друзья, пожалуйста подскажите как так научится писать приложения, какие ресурсы, книги, или т д.
@MobileDeveloper
@MobileDeveloper 3 года назад
Время, время и опыт )
@mimictwt
@mimictwt 2 года назад
Привет, может вопрос и тупой, но я не особо опытный программист и мне интересно, почему мы не можем просто кешировать данный с помощью SharedPreferences, а используем локальную бд ?
@EugeneVoronoy
@EugeneVoronoy 2 года назад
БД работает вроде как быстрее, и более мощная в плане доступа к данным, когда нам нужно достать из БД данные по каким-то условиям, а не просто все подряд
@TheDicobraz063
@TheDicobraz063 3 года назад
Думаю проблема в следующем Цепочка вызовов примерно такая. Подписка на результаты запроса в локальный дс + выполнение запроса, далее дёргается удаленный дс, который сразу пишет в локальный дс, локальный эмитит всем новые данные и данные улетают в подписку (мы ведь в конкате подписались на изменения в бд) на локальный дс, далее конкат опять дергаеет удаленный дс, тот пишет в локабьный дс и так по кругу
@MobileDeveloper
@MobileDeveloper 3 года назад
Возможно, перед второй частью решу эту проблему )
@Qwazar3559
@Qwazar3559 3 года назад
хотелось бы уже часть два. Про миграции..
@MobileDeveloper
@MobileDeveloper 3 года назад
Может сделаю, сейчас не в приоритете )
@inquisitor4894
@inquisitor4894 10 месяцев назад
увы, не дождались)
@deadchannal
@deadchannal 3 года назад
Полезно
@MobileDeveloper
@MobileDeveloper 3 года назад
Спасибо )
@матжонфаттоев-щ5ш
@матжонфаттоев-щ5ш 3 года назад
Когда будет видео про repository
@MobileDeveloper
@MobileDeveloper 3 года назад
А надо?) вроде я тут примерно показал как это работает
@sergeytretyakov3040
@sergeytretyakov3040 3 года назад
Подскажите пожалуйста, на 16:57 что значит слово проксируете?
@MobileDeveloper
@MobileDeveloper 3 года назад
Имелось ввиду, что сам слой дата сорса не имеет никакой своей логики. То есть он тупо дёргает функцию у апи а эту функцию дёргает репозиторий. Получается, что смысла в таком дата сорсе нет, потому что он просто проксирует запрос и ничего с ним не делает. Поскольку не нужно делать разделение ради разделения, то в таком случае можно и без дата сорсов обойтись. Каждый новый слой абстракции должен быть создан с какой-то понятной целью. Например, очищать выдачу от сервера от не валидных данных, чтобы репозитории данные уже были валидные. Надеюсь понятно объяснил
@olegleonov1310
@olegleonov1310 3 года назад
Возможно ошибка в том, что когда ты кладёшь в БД, то дёргается observable от loadAllQuests() и у тебя на экране показются данные только из БД, из сети никогда не показываются.
@KriopeG
@KriopeG 3 года назад
Тоже об этом подумал, подозреваю, что так и есть.
@MobileDeveloper
@MobileDeveloper 3 года назад
Нет, там в логах четко видно что именно с сервака перезапрашивается каждый раз
@Trecoolerok
@Trecoolerok 3 года назад
Какая версия rxjava? Я столкнулся с тем, что рум, хилт и 3 rx очень плохо дружат. Постоянно что-то отваливалось у kapt
@MobileDeveloper
@MobileDeveloper 3 года назад
Версия вторая, на третью уже не хватило ибо ушёл на корутины
@olegleonov1310
@olegleonov1310 3 года назад
А почемму rx+Single, а не coroutine+flow?
@MobileDeveloper
@MobileDeveloper 3 года назад
В проекте Rx использовался
@dmitrymukhin9050
@dmitrymukhin9050 3 года назад
Каким эмулятором пользуетесь?
@MobileDeveloper
@MobileDeveloper 3 года назад
Да обычным, встроенным в студию
@SergKoshelev
@SergKoshelev 3 года назад
было бы здорово понять как рум поставить на gradle.kts, пробовал сам, но возникла проблема с каптом( без него приложение крашится без ошибки при старте)
@MobileDeveloper
@MobileDeveloper 3 года назад
Я так понял я вам скинул уже свой ктс файлик )
@SergKoshelev
@SergKoshelev 3 года назад
@@MobileDeveloper да)
@АнтонКулибякин
@АнтонКулибякин 3 года назад
Слышал , что Бобок стал использовать SQLite
@MobileDeveloper
@MobileDeveloper 3 года назад
Кто? Бобок?
@АнтонКулибякин
@АнтонКулибякин 3 года назад
@@MobileDeveloper ну да БоБок из Яндекса )))
@MobileDeveloper
@MobileDeveloper 3 года назад
Это кто?)))
@АнтонКулибякин
@АнтонКулибякин 3 года назад
@@MobileDeveloper ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8uiikWcsf3A.html . Это всем известный чувак , разработчик 👨‍💻, в Яндекс у него высокая должность - я точно не помню он толи вроде как топ менеджер 👨‍💼, толи около того 😜. А то что касается ситуации с SQLite- то они обсуждали в подкасте радио 📻 т , где бобок сказал, что он посмотрел в сторону SQLite и ее для его целей вполне хватило . По моему речь 🗣 была про то, что postgres для этих целей была сильно большой , а MongoDB он не знает и он посмотрел в сторону SQLite, но точно о чем была речь не помню - по моему суть была вот такая
@luide2167
@luide2167 6 месяцев назад
Ничё не понял. Зашёл поучит базу данных, а тут на первом уроке уже миллион строк кода написано. Мда
@XmanX777
@XmanX777 3 года назад
Автор приветствую, можно размер текста увеличить в видео на 20 pt
@MobileDeveloper
@MobileDeveloper 3 года назад
Можно, но уже в следующих
@madmax_2994
@madmax_2994 3 года назад
Извините за вопрос не в тему, но как в Андроиде реализовать навигацию по фрагментам с сохранением состояния как в iOS? В интернете одни костыли. Может кто направит?
@MobileDeveloper
@MobileDeveloper 3 года назад
Приходите сегодня в 19 вечера на канал мы это прям показывать будем
@sergsangels
@sergsangels 2 года назад
НЕ ху...я не понятно но очень интересно 😃
@Youngheart-u4w
@Youngheart-u4w 9 месяцев назад
Видео не для новичков
Далее
Introduction to Ktor by Tomas Zezula
31:32
Просмотров 1 тыс.
MVVM в Android на практике
41:32
Просмотров 49 тыс.