Немножко внутренностей 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 - Сохранение в базе данных
Алексей все круто. Спасибо за крутейший материал. Единственное - сложновато когда не с начала начинаешь ... Это я так, как самый начинающий андройд разработчик )
Спасибо автору за видео. Качественная подача материала и понятное объяснение. Я только начала работать программистом, пишу на языке Java и все равно уловила суть 🙂
Недавно первый раз столкнулся с NoSql, в firebase firestore. первые пол часа просто тупил и не мог понять как в таком виде вообще работать с данными :) Потом придумал для себя такое представление, что если sql это можно представить как всем знакомый excel с табличками, то nosql это как физическая папка с мультифорами, в которых лежат документы. И как-то сразу стало понятно как с такой БД работать :) Но было бы полезно посмотреть видео и на тему nosql. p.s. мультифора - файл, пластиковый пакетик. недавно узнал, что вне сибири мало кто знает такое название ))
Ой сразу вспомнил родной Томск ) да в Москве никто не знает, что такое мультифора. NoSql это целая группа разных реализаций, но в целом если взять firestore, то это выглядит просто как гигантский Dictionary ) чем он собственно и является )
@@MobileDeveloper Блин, может это у меня с головой проблемы, но все-таки, думаю, таких как я много. Описываю свои проблемы после 24-х минутного просмотра: 1. Взят проект уже существующий. Мне, как человеку, который впервые на канале интересно узнать конкретно про room как его поставить и как начать пользоваться. Следовательно, не удобно изучать это смотря на большой проект, в котором минут 15 рассказывается как мы будем совмещать сервер и базу данных, что вообще не по теме. Если рассказывать про что-то, то лучше все-таки на очень простом примере. 2. Было бы приятно видеть ссылки из которых берешь код для тех же зависимостей например. Я вот взял CompillerOptions от сюда developer.android.com/jetpack/androidx/releases/room и долго не мог понять почему gradle ругается на "to". 3. Дошел я до 24 минуты, там ты открываешь папку room после работы с gradle. У меня папки room нет (может быть я не заметил конечно). Я не знаю, нужно ли ее создавать вручную, или она должна была появиться. Я не знаю толком как вообще в android с базами данных работать. Я просто зашел на страницу документашки по бд и там был совет использовать room) То есть, получается, я уже не могу ничего сделать, чтобы продолжить дальше следовать уроку и понять как работать с room на самом простом уровне, чтобы дальше уже учиться средствами чтения документашки. Но у тебя приятная подача материала. Узнал из урока хотя бы как обновлять приложения с бд, как раз задавался таким вопросом. Буду рад, если мои замечания помогут лучше понять типичного зрителя и улучшить контент)
+ Хотел просто добавить локальное хранение данных, но блин по создавал куча классов и интерфейсов, частично связал, начал ругатся на мои функции, не юзал до этого rxjava и drager, кароче нужно все переделывать. А я надеялся обойдусь пару файлами, думал будет просто записывать массив, и его вызывать при запуске ну и чекать удалленное хранение
@@MobileDeveloper пропущено 'не', т.е. 'а не =='. Меня смутило сравнение целых чисел через like. В sql like применяется для поиска вхождения подстроки в строку.
Про ошибку на (55:05) Проверьте на 44:57. Возможно проблема банально в Dao. В одном @Insert прописан OnConflictStrategy, а во втором нет. По умолчанию он падает на constraint при попытке добавить запись с таким же primary key.
Добрый день! Было бы интересно от вас получить видео (или даже цикл роликов) на тему нововведений в различных версиях андройд и какую они имеют прикладную роль непосредственно в разработке. Например, про сервисы в 8+ версиях и пр
Привет, может вопрос и тупой, но я не особо опытный программист и мне интересно, почему мы не можем просто кешировать данный с помощью SharedPreferences, а используем локальную бд ?
БД работает вроде как быстрее, и более мощная в плане доступа к данным, когда нам нужно достать из БД данные по каким-то условиям, а не просто все подряд
Думаю проблема в следующем Цепочка вызовов примерно такая. Подписка на результаты запроса в локальный дс + выполнение запроса, далее дёргается удаленный дс, который сразу пишет в локальный дс, локальный эмитит всем новые данные и данные улетают в подписку (мы ведь в конкате подписались на изменения в бд) на локальный дс, далее конкат опять дергаеет удаленный дс, тот пишет в локабьный дс и так по кругу
Имелось ввиду, что сам слой дата сорса не имеет никакой своей логики. То есть он тупо дёргает функцию у апи а эту функцию дёргает репозиторий. Получается, что смысла в таком дата сорсе нет, потому что он просто проксирует запрос и ничего с ним не делает. Поскольку не нужно делать разделение ради разделения, то в таком случае можно и без дата сорсов обойтись. Каждый новый слой абстракции должен быть создан с какой-то понятной целью. Например, очищать выдачу от сервера от не валидных данных, чтобы репозитории данные уже были валидные. Надеюсь понятно объяснил
Возможно ошибка в том, что когда ты кладёшь в БД, то дёргается observable от loadAllQuests() и у тебя на экране показются данные только из БД, из сети никогда не показываются.
было бы здорово понять как рум поставить на gradle.kts, пробовал сам, но возникла проблема с каптом( без него приложение крашится без ошибки при старте)
@@MobileDeveloper ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-8uiikWcsf3A.html . Это всем известный чувак , разработчик 👨💻, в Яндекс у него высокая должность - я точно не помню он толи вроде как топ менеджер 👨💼, толи около того 😜. А то что касается ситуации с SQLite- то они обсуждали в подкасте радио 📻 т , где бобок сказал, что он посмотрел в сторону SQLite и ее для его целей вполне хватило . По моему речь 🗣 была про то, что postgres для этих целей была сильно большой , а MongoDB он не знает и он посмотрел в сторону SQLite, но точно о чем была речь не помню - по моему суть была вот такая
Извините за вопрос не в тему, но как в Андроиде реализовать навигацию по фрагментам с сохранением состояния как в iOS? В интернете одни костыли. Может кто направит?