База данных SQLite в Андроид и Room на Kotlin (Android Studio)

  Рет қаралды 22,458

Neco Ru

Neco Ru

Күн бұрын

Работает с базой данных в Android SQlite через библиотеку Room на Kotlin и Android Studio. На этом уроке мы узнаем самое основное для создания БД, записи и считывания с БД с помощью библиотеки Room.
✅Код урока: neco-desarrollo.es/2022/09/ro...
✅ Все уроки тут: neco-desarrollo.es/exyg
Есть платный курс где мы более подробно изучаем данную тему на практике. Это курс Список покупок/Блокнот, где мы создаем готовое приложение на основе БД и библиотеки Room.
Подробнее про Список покупок: neco-desarrollo.es/2022/06/sh...
ПО ВОПРОСАМ ПРИОБРЕТЕНИЯ КУРСОВ ПИШИТЕ СЮДА:
✅Instagram: @20neco20
✅Instagram: @neco_android_dev
✅VK: public189519480
✅Телеграм: t.me/androidstudioneco
✅Моя почта: necodesarrollo@gmail.com
В связи с ситуацией в мире и отключения рекламы на канале в некоторых странах, канал выживает только благодаря вашей поддержке, всем спасибо за поддержку!
Поддержать канал можно тут:
✅ЮMoney: 4100117811702825
✅PayPal: necodesarrollo@gmail.com
✅ Курс "Доска объявлений ЧАСТЬ 1" на Udemy: www.udemy.com/course/android-...
✅ Курс Shopping List на Udemy: www.udemy.com/course/room-per...
✅ Стать спонсором канала и получить доступ к курсу: / @necoruchannel
0:00 Вступление.
3:05 Добавляем зависимости
4:33 MainDb класс
11:00 Entity
19:20 Dao
26:47 ViewBinding
27:48 Разметка экрана
31:24 Запись в БД с MainActivity
38:24 Показываем данные как список в TextView
#AndroidStudio #Kotlin #Android

Пікірлер: 115
@dmitry_ruden
@dmitry_ruden Жыл бұрын
Отлично! Спасибо за информативный урок. Пожалуйста, сделайте отдельный подробный курс по многопоточности с Coroutine. Было бы очень здорово!
@porvalrubahu
@porvalrubahu Ай бұрын
Супер-уроки. Каждый раз по новый для себя теме делаю ресерч в гугле и ютубе и на Вашем канале всегда самая объемная и доступная для понимания вкатуном информация.
@user-sh9se6eo6f
@user-sh9se6eo6f Жыл бұрын
Каждый урок что то новое, Сергей - спасибо! После того, как посмотрел 45 ваших уроков, binding уже не глядя подключаю. Как подсказка начинающим - оставляйте комментарии в коде программы // по мере набора, что за код вы пишете, и что он делает. Это помогает лучше запоминать материал.
@brigadir5830
@brigadir5830 Жыл бұрын
Я очень ждал урок по room большое вам спасибо ♥️♥️♥️
@trismegistos1s
@trismegistos1s Жыл бұрын
Спасибо за уроки. Пожалуйста сделайте урок регистрация и авторизация по API :) Многим было бы полезно как и все ваши видео.
@OCEH6
@OCEH6 Жыл бұрын
Большое спасибо! Отличного настроения!
@fakkesenpai
@fakkesenpai Жыл бұрын
Ого, рад что ты продолжаешь это делать)
@Galyaminsky
@Galyaminsky Жыл бұрын
Спасибо! Платный Курс - вообще отличный. Советую
@pavelgera72
@pavelgera72 Жыл бұрын
БЛАГОДАРЮ ЗА УРОК
@sergeydunaev8146
@sergeydunaev8146 Жыл бұрын
супер материал! огромное человеческое спасибо!
@Polite_person_
@Polite_person_ Жыл бұрын
Я ждал этот урок, спасибо
@kostyachu
@kostyachu Жыл бұрын
Спасибо большое вам за ваши уроки, мне очень помогло! Мне подходит для понимания, как вы объясняете. Задумываюсь покупке курсов у вас. Спасбо!
@NecoRuChannel
@NecoRuChannel Жыл бұрын
Большое спасибо! Я рад что вам нравиться!
@seoonlyRU
@seoonlyRU Жыл бұрын
шикарно))) держите лукасик от гуру по БД и кодера СЕООНЛИ
@TheDamiankain
@TheDamiankain Жыл бұрын
Реально лучший преподаватель на ютубе!!!
@appsforkids7808
@appsforkids7808 8 ай бұрын
багато я уроків передивився поки знайшов той який працює, гарно пояснюєте
@NecoRuChannel
@NecoRuChannel 8 ай бұрын
Дякую !
@Densoll
@Densoll 10 ай бұрын
Спасибо, очень полезный и понятный урок!
@sportfun9713
@sportfun9713 Жыл бұрын
Супер урок, большое спасибо
@user-mz1xl4vr3l
@user-mz1xl4vr3l Жыл бұрын
Спасибо за урок, я как раз изучаю базы данных))
@user-we6si4mi3x
@user-we6si4mi3x 4 ай бұрын
Большое спасибо за информативный урок!!
@Ivan-fl9vq
@Ivan-fl9vq Жыл бұрын
Прохожу курс шопинг лист и немного возвращаюсь сюда что бы все понять и вспомнить! Отличные уроки, всем рекомендую купить платный курс ShopList
@vitiyz803vitiyz
@vitiyz803vitiyz 7 ай бұрын
Спасибо за труд. Очень понятно и полезно
@user-xx6nl3ym1h
@user-xx6nl3ym1h 3 ай бұрын
Спасибо, всё понятно!)))
@Nik_Gol_V
@Nik_Gol_V Жыл бұрын
Спасибо огромное за урок
@4sn003
@4sn003 Жыл бұрын
Недавно приобрёл проект «Список покупок», поверьте оно того стоит! Плюс обратная связь, помогает быстрее освоить написание кода и андроид программирование в целом! Хочу еще раз сказать огромное спасибо Сергею! В ближайшем будущем планирую приобрести проект «Доска объявлений»
@NikNewNik
@NikNewNik 5 ай бұрын
Спасибо! Вроде всё работает :)
@INVENToRGAmer
@INVENToRGAmer Жыл бұрын
Спасибо за видео
@sahibaliyev2445
@sahibaliyev2445 Жыл бұрын
Спасибо за урок. О Retrofit не планируете снять урок?
@Kininijbsrk
@Kininijbsrk Жыл бұрын
Спасибо Сергей за видео, но есть вопрос почему ты не пользуешься клин архитектурой?
@meiram1223
@meiram1223 Жыл бұрын
спасибо за труд
@Kininijbsrk
@Kininijbsrk Жыл бұрын
Спасибо за видео и еще можно про MWI
@user-ok9tp5lx6n
@user-ok9tp5lx6n Жыл бұрын
Спасибо) круто
@wowus94
@wowus94 Жыл бұрын
Спасибо!
@Qwerty-qz7gg
@Qwerty-qz7gg Жыл бұрын
Комментарий в поддержку!
@user-hq6iy6zk8s
@user-hq6iy6zk8s Жыл бұрын
спасибо!)
@user-xt5uc8fy4j
@user-xt5uc8fy4j Жыл бұрын
Здравствуйте, очень интересно было бы посмотреть, как создать приложение, которое использует sqlite и приложение работает в онлайн режиме
@IrinaLyubodeeva
@IrinaLyubodeeva Жыл бұрын
Спасибо😁
@stepanuchnnn4123
@stepanuchnnn4123 Жыл бұрын
Great! I very wait relise movie about on any libralies!👍👍
@user-vx9fn4es6c
@user-vx9fn4es6c 11 ай бұрын
Спасибо!!!
@Kinogoboom
@Kinogoboom Жыл бұрын
Канал просто 🔥 так держать. Очень много полезного и интересного. Можете пожалуйста сделать видео как создать приложение с фильмами либо обоями на телефон? Спасибо
@alexandralban5682
@alexandralban5682 Жыл бұрын
Отличный урок! Спасибо! У меня вопрос по сохранению списка в базу. Подскажите пожалуйста, тут лучше как бы распарсивать приходящий список и записывать по очереди, или лучше использовать конвертер? или я ерунду спрашиваю... ) Смысл - у меня список настроек которые я в базу хочу сохранять и перезаписывать периодический по воле пользователя.
@user-df2hp7zm8q
@user-df2hp7zm8q Жыл бұрын
круто )
@_chkMyStyle_
@_chkMyStyle_ 6 сағат бұрын
Супер курс! Спасибо! Скажите я двигаюсь по урокам на Вашем сайте, просмотрел все 35 уроков и вот теперь дошёл сюда. Я могу дальше продолжать двигаться по сайту? Или нужно посмотреть какие-то другие плейлисты уже на KZfaq ? Хочется сохранить последовательность
@user-bb7zy5mg5q
@user-bb7zy5mg5q 9 ай бұрын
Здравствуйте, подскажите можно ли использовать в место data class обычный class?
@stepanuchnnn4123
@stepanuchnnn4123 Жыл бұрын
👍👍👍
@user-rd8od6xz8x
@user-rd8od6xz8x 9 ай бұрын
а что делать если инспектор дата базу не показывает. Не запускается
@mikewazowski255
@mikewazowski255 Жыл бұрын
👍
@N__C__R
@N__C__R Жыл бұрын
годно. как насчет гайда по созданию VPN приложения? с нынешними событиями это будет более чем актуально)
@user-pq1wu2fx2l
@user-pq1wu2fx2l 6 ай бұрын
Ну наконец то знакомый SQL
@MrBestKenny
@MrBestKenny 5 ай бұрын
В дата классах Entity все поля должны быть var?
@user-ff1se8lq1p
@user-ff1se8lq1p Жыл бұрын
А можно ли профессионально разрабатывать приложение на телефоне для андроид?
@Mecenatt
@Mecenatt 5 ай бұрын
Подскажите пожалуста , где на эмуляторе храниться файл базы данных
@TundraEZ0
@TundraEZ0 9 ай бұрын
Привет А можешь записать видос как делать красивые заметки?
@alexpro2493
@alexpro2493 8 ай бұрын
Создал по вашему видео recycler view и создал базу данных. В моем приложении rc view находится во фрагменте и у меня никак не получается выводить данные из sqlite в rcView. Что только не пробовал но не могу найти туториал как это делать. Может кто нибудь знает конкретно что нужно делать?😢 два дня голову ломаю
@TheDamiankain
@TheDamiankain Жыл бұрын
Если я делаю на фрагментах, то где мне вставить строку val db = NoteDatabase.getDatabase(this)? Мой this подчеркивает красным. У меня 2 фрагмента HomeFragment и AddNoteFragment. Первый для отображения списка, через ресайклер вью, второй для создания/ редактирования заметки.
@TheDamiankain
@TheDamiankain Жыл бұрын
Разобрался. Похоже надо было писать val db = NoteDatabase.getDatabase(view.context) вместо val db = NoteDatabase.getDatabase(this) при использовании фрагментов
@cocojabaa
@cocojabaa 3 ай бұрын
После подключения зависимостей выдает ошибку "jlink executable C:\Program Files\Java\jre1.8.0_341\bin\jlink.exe does not exist". Не знаю как исправить
@user-xv7sh6lp7o
@user-xv7sh6lp7o Жыл бұрын
Спасибо автору канала ! Кто сталкивался с такой проблемой, помогите решить. Plugin [id: 'com.android.application', version: '7.3.0', apply: false] was not found in any of the following sources: Плагин Android Gradle не найден ни в одном из следующих источников
@user-li9be3jj3z
@user-li9be3jj3z Жыл бұрын
Добрый день,А когда новые видео?
@карнас
@карнас Жыл бұрын
Отличные уроки! Занимаюсь ремонтами и разработал для себя приложение за 2.5 месяца абсолютно с нуля. Динамичный прайс с категориями и сортировкой, ведение и просчет заказов согласно прайса, заметки, каталог материалов, контакты с метками, уведомления по заказам и т.д.. Сейчас планирую смотреть уроки по погодному приложению, так как буду писать под себя для морской рыбалки)) 👍
@user-rw8zs7vz9u
@user-rw8zs7vz9u Жыл бұрын
Чувак, я уже пол года учусь, но своего ещё ничего не написал, если у тебя такие успехи в программировании, то может нах этот ремонт и лучше пойдешь в разработку приложений???
@карнас
@карнас Жыл бұрын
@@user-rw8zs7vz9u суть в том, что учиться нужно на том, что нужно тебе самому. На всякой фигне, аля (сделай свое первое приложение за 5 минут!) - ничего не выйдет.. Набросать проект, задаться целью и реализовывать смотря ютуб и читая доки
@thejekashoww
@thejekashoww Жыл бұрын
@@карнас спасибо большое, очень полезный совет! Теперь понимаю, почему нет мотивации, желания обучаться...поскольку нет своей (!) цели, сделать свою прогу для своих нужд! Благодарю🙏
@карнас
@карнас Жыл бұрын
@@thejekashoww , спасибо! Абсолютно верно, пошаговые уроки типа "сделай приложение за 15 уроков", нужны для понимания самих процессов. Если нет своей цели, все бестолково..
@thejekashoww
@thejekashoww Жыл бұрын
@@user-rw8zs7vz9u Друг, ты через пол года получается не получил никаких практических навыков..?
@edilm2008
@edilm2008 3 ай бұрын
а что если при создании нового проекта не выходит вообще room. версия студио - iguana. Как быть?
@NecoRuChannel
@NecoRuChannel 3 ай бұрын
Там просто пиши как раньше, не обращай внимание что остальные зависимости по другому. Я сейчас записываю урок об этом. Чуть позже уже загружу
@luide2167
@luide2167 2 ай бұрын
Выдало ошибку вот такую. Как устанавливать версии в Игуане я понял. И всё равно как пытаюсь изучить ROOM всегда какаета ошибка которую я пока не могу сам решить. Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugCompileClasspath'.
@luide2167
@luide2167 2 ай бұрын
Надо было сделать RebuildProject
@LokiDmytro
@LokiDmytro 7 ай бұрын
Спасибо за ваши уроки :) Подскажите, а как мне вытащить в отдельную переменную данные с Room. Например я хочу вывести в отдельную переменную цену товара и в отдельную - его название Спасибо :)
@NecoRuChannel
@NecoRuChannel 7 ай бұрын
Привет, Entitie из Room это дата класс в котором уже есть переменные по это у из этого дата класса просто передаешь в нужную тебе переменную только в Dao пропиши функцию которая возвращает один элемент или бери нужный из полученного списка
@LokiDmytro
@LokiDmytro 7 ай бұрын
@@NecoRuChannel Спасибо, Это я понял А можно подробнее с примером ;)
@user-hi1kb9ob1h
@user-hi1kb9ob1h 8 ай бұрын
3 вопроса: 1) Почему при указании id в дата классе мы не используем ColumnInfo вместе с PrimaryKey? 2) Почему в дата классе используем var, а не val? 3) Какой стек технологий у вашего приложения с платных уроков? (список покупок + блокнот)
@NecoRuChannel
@NecoRuChannel 8 ай бұрын
1 - ColumnInfo нужно только когда хотим чтоб название полей в БД и название переменных было разным. Например ты создаешь БД и используешь в андроид но в БД у тебя поле называется name а в Entity хочешь назвать переменную myName в таком случае будет ошибка, но это можно решить используя ColumnInfo. Если переменные в Entity и в БД не отличаются как в нашем случае то ColumnInfo не обязательно. 2 - в дата классе лучше использовать Val по возможности а изменять значения с помощью copy 3 - Используем Room persistence library, AdMob (3 вида разных реклам), паттерн МVVM, Billing library (встроенные покупки). Курс предназначен для более глубокого изучения Room (БД SQLite) на практике.
@user-pq1wu2fx2l
@user-pq1wu2fx2l 6 ай бұрын
Жаль дб не сработало. Но что делать.
@Muhomor2003
@Muhomor2003 Жыл бұрын
Здравствуйте, в самом начале при добавлении плагина id ‘kotlin-kapt’ и библиотеки kapt ‘androidx.room:room-compiler:2.5.1’ синхронизация проходит без ошибок. Но при запуске виртуального устройства всегда выходит ошибка: “Задача compileDebugJavaWithJavac (текущая цель - 1.8) и задача kaptGenerateStubsDebugKotlin (текущая цель - 17). Целевая совместимость jvm должна быть установлена на одну и ту же версию Java.” Подскажите пожалуйста, как решить этот вопрос с совместимостью?
@NecoRuChannel
@NecoRuChannel Жыл бұрын
в build.gradle (Module) выбери: compileOptions { sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = '17' } должно помочь
@Muhomor2003
@Muhomor2003 Жыл бұрын
@@NecoRuChannel Спасибо от всей души, помогло!
@NecoRuChannel
@NecoRuChannel Жыл бұрын
@@Muhomor2003 Я рад что помогло!
@fstore2313
@fstore2313 9 ай бұрын
Добрый день, у меня при создание binding, не показывает binding=ActivityMainBanding? Почему так?
@NecoRuChannel
@NecoRuChannel 9 ай бұрын
В новой версии АС пишем viewBinding = true в файле build.gradle раньше было без равно
@pavelgera72
@pavelgera72 Жыл бұрын
почему getAllItem не suspend функция( не запускается во второстепенном потоке)?
@NecoRuChannel
@NecoRuChannel Жыл бұрын
потому что мы не используем корутины
@user-fb5bh1qh2r
@user-fb5bh1qh2r Жыл бұрын
Здравствуйте, скажите пожалуйста, а можно добавить уже готовую бд в приложение на языке Котлин
@NecoRuChannel
@NecoRuChannel Жыл бұрын
Да, конечно
@user-fb5bh1qh2r
@user-fb5bh1qh2r 10 ай бұрын
не подскажите как это сделать? Спасибо@@NecoRuChannel
@NecoRuChannel
@NecoRuChannel 10 ай бұрын
@@user-fb5bh1qh2r при создании БД прежде чем build() запускать есть функция createFromAssets в папку assets нужно добавить БД которую хочешь загрузить и чтоб таблицы и переменные все совпадали иначе работать не будет.
@Boro030771
@Boro030771 8 ай бұрын
Как использовать в качестве имени таблицы переменную?
@NecoRuChannel
@NecoRuChannel 8 ай бұрын
Нельзя использовать переменную, для этого, таблица будет создана и нельзя ее изменить, можно только делая миграцию
@ddd6355
@ddd6355 17 күн бұрын
Я вообще не понимаю, как оно может так работать с базой данных, ведь для работы с базами данных нужен удаленный хост и само подключение, но в этом случае куда сохраняются все данные? И почему даже не требует разрешения на доступ в интернет в манифесте
@NecoRuChannel
@NecoRuChannel 17 күн бұрын
Потому что это локальная БД на смартфоне
@ddd6355
@ddd6355 17 күн бұрын
​@@NecoRuChannel хм, ну а допустим, если с помощью неё писать авторизацию в большом проекте, и на одном телефоне человек зарегистрировался под данными, например, login и password123, то сможет ли он под такими данными войти с другого устройства? Или если это локальная БД, то только на своём?
@NecoRuChannel
@NecoRuChannel 17 күн бұрын
@@ddd6355 Локальная это как например твой дом 🏠. Твой дом это твой телефон, а в доме есть хранилище, и только ты можешь им пользоваться, у соседа свое хранилище. А вот БД на сервере это как общественна библиотека куда может придти кто угодно
@monkey_businessss
@monkey_businessss Жыл бұрын
Господа, если у кого-то выдавалась ошибка апп.*чететам связанное с датабайндинг дебаг*, то вот вам МОЁ решение. В активити у меня помимо основного констрейнлайаут был еще дополнительный (отвечал за визуал серой полосочки слева экрана), на котором находились тектовые плашки. Проблема была, блять, в этих самых плашечках. Рекомендую заместо удаления проекта к хуям просто очень хорошо проверить xml файлы активити.
@user-pq1wu2fx2l
@user-pq1wu2fx2l 6 ай бұрын
Ошибок навыдавал. Еще в граблях не подключил дату. такого нет. И Flow покрасил красным.
@NecoRuChannel
@NecoRuChannel 6 ай бұрын
Смотри чтоб Flow был из пакета coroutine
@rinatislamov8977
@rinatislamov8977 Жыл бұрын
Мне нравится видео, лёгкая информация для восприятия на русском языке
@Кай4ик
@Кай4ик Жыл бұрын
Здравствуйте Сергей! Я поражён вашим испанским языком, на вашем втором канале. Почему бы вам не поделится своими знаниями по Испанскому языку, и не обучать ему нас?
@NecoRuChannel
@NecoRuChannel Жыл бұрын
Какие там знания, у меня акцент ужасный))
@Кай4ик
@Кай4ик Жыл бұрын
@@NecoRuChannel Ну всё равно, если бы сделали курс по испанскому, то было бы хорошо его изучить)
@Кай4ик
@Кай4ик Жыл бұрын
@@NecoRuChannel В любом случае, если у вас закончатся курсы, и идеи для новых видео, то вы обязательно вспомните и подумаете об этом 😉
@NecoRuChannel
@NecoRuChannel Жыл бұрын
@@Кай4ик Обязатльно!😉
@discord4364
@discord4364 Жыл бұрын
@@NecoRuChannel Я вообще думал, что Сергей испанец с хорошим русским 😁
@aftereffects-7483
@aftereffects-7483 Жыл бұрын
спасибо за урок,что то у меня - db.getDao().insertItem(item) - insertItem(красным,и как ставишь точку после db - то не ищет...)
@sports_and_humor
@sports_and_humor Жыл бұрын
Значит Dao не подключена, в базе данных MainDb перепиши abstract fun getDao(): com.example.*название поекта*.Dao или просто сотри и Dao и начни писать заново, он подскажет
@aftereffects-7483
@aftereffects-7483 Жыл бұрын
@@sports_and_humor спасибо
Navigation в Андроид | Android Studio & Kotlin
26:48
Lesson 34. Working with SQLite databases on the Android
16:32
Start Android
Рет қаралды 146 М.
Жайдарман | Туған күн 2024 | Алматы
2:22:55
Jaidarman OFFICIAL / JCI
Рет қаралды 1,6 МЛН
1❤️
00:17
Nonomen ノノメン
Рет қаралды 12 МЛН
Room. SQLite для Android. Часть 1. [Ru, Kotlin\Android]
57:23
Mobile Developer
Рет қаралды 27 М.
Room в Jetpack Compose | Android Studio + Kotlin
1:05:54
Neco Ru
Рет қаралды 9 М.
#1 Что такое корутина. Важные особенности || Курс по корутинам
16:40
Android Broadcast. Все об Андроид разработке
Рет қаралды 87 М.
Жайдарман | Туған күн 2024 | Алматы
2:22:55
Jaidarman OFFICIAL / JCI
Рет қаралды 1,6 МЛН