SQLite База Данных на Андроид (KOTLIN)/ Урок 17

  Рет қаралды 44,239

Neco Ru

Neco Ru

Күн бұрын

Пікірлер: 202
@spam397
@spam397 2 жыл бұрын
Может кому пригодится, в видео на 52:10 neco говорит про считывания одной переменны из БД хотя туда кидали 2 переменные, если кто хочет дальше разобраться как считывать больше данных из БД то в этом видосе есть это, смотрите с самого начала "KOTLIN база данных SQLite || Приложение "БЛОКНОТ" || Часть 5"
@ЕвгенийПечерский-р3я
@ЕвгенийПечерский-р3я 4 жыл бұрын
Классный урок. Небольшая ремарка, "table" переводится не только как стол, но и как таблица, так что не смущайтесь)
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
Спасибо!
@BigedEd
@BigedEd Жыл бұрын
стол, таблица, скрижаль, расписание, табель: сущ
@antonioant3858
@antonioant3858 2 жыл бұрын
У кого как и у меня ругалось что "cursor.getColumnIndex может давать -1" просто юзайте cursor.getColumnIndexOrThrow и всё работает. лайк что-бы увидели и добавили в описание видео
@cid-nc3ie
@cid-nc3ie Жыл бұрын
спасибо тебе!
@murmia8398
@murmia8398 Ай бұрын
@@antonioant3858 СПАСИБО БОЛЬШОЕ!!!
@cibofff
@cibofff 4 жыл бұрын
Супер урок. Посмотрел курс по Котлин, многое прояснилось до чего не мог дойти сам. Спасибо огромное. Всем рекомендую! Нужен урок по Recycler view в связке с sQlite.
@k.subb32
@k.subb32 4 жыл бұрын
Круто!!! По традиции сначала лайк и комментарий, потом просмотр)
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
Спасибо!
@oleg12395
@oleg12395 2 жыл бұрын
Благодарю за отличный урок, а с колонами и столами вообще не парьтесь, главное что ценнейшая информация по работе с SQLite выложена. Кто пришел за этим, тот оценит !!!
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
Большое спасибо! Просто в голове каша с языками. Русский, испанский, английский)))
@ЮрійБережний-с7ъ
@ЮрійБережний-с7ъ 4 жыл бұрын
Отличный урок! Ждем Room на Kotlin!! P.S. Желательно не платный :)
@MrDiMaSTeRTM
@MrDiMaSTeRTM 4 жыл бұрын
очень ждем!!!
@alashorda6028
@alashorda6028 Жыл бұрын
прям очень
@MrBrick12
@MrBrick12 2 жыл бұрын
Получил несколько ошибок, т.к. версии андроид студии уже другие. Решил поделиться как их фиксить. Ошибка №1 вместо getColumnIndex нужно писать getColumnIndexOrThrow Пример: val dataText = cursor?.getString(cursor.getColumnIndexOrThrow(DB.COLUMNNAME)) Ошибка №2 Если в результате бд выдает ошибку в поле TextView, там где вы вставляете в базу данных нужно добавить метод getText(), а потом писать toString() Пример: Db_manager.insertToDb(binding?.edTitle.getText().toString(),binding?.edContent?.getText().toString())
@АлинаСергиенко-х4ш
@АлинаСергиенко-х4ш Жыл бұрын
Спасибо тебе, хороший человек
@guychokalolo2378
@guychokalolo2378 3 жыл бұрын
Quel talent, vous avez ce don d'explique la matier. Bravo 👏🏻
@vitaliy.martunyuk
@vitaliy.martunyuk 2 жыл бұрын
Спасибо тебе большое, я всегда вручную писал добавление в базу данных и меня это так бесило, а ты упростил мою жизнь в несколько раз!
@Lexapskovpro
@Lexapskovpro 11 ай бұрын
В сравнении с первыми уроками сильно перегрузил созданием классов, в итоге основная цель урока -работа с бд. Как то потерялась на их фоне... Кмк кому надо упростить написание кода в будущем сам справится, а кому нужны азы суть потеряет в куче информации за создание и работу классов...
@jurabekavezov8672
@jurabekavezov8672 3 жыл бұрын
Сделал все как на уроке никаких ошибок нет, но в tvTest никакие данные не высвечиваются при нажатии на кнопку
@ChetyreSem
@ChetyreSem 2 жыл бұрын
*У кого подчеркивает getColumnIndex и в подсказке пишет must be >=0, нужно использовать getColumnIndexOrThrow*
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
Да, это в новой версии добавили
@landfathich
@landfathich 2 жыл бұрын
спасибо!)
@oleg12395
@oleg12395 2 жыл бұрын
спасибо за getColumnIndexOrThrow !!!!!!!!!!!!!!!!
@nightscream3687
@nightscream3687 4 жыл бұрын
Это безусловно хороший урок, но сейчас по рукам бьют кто пишет на голом Sqlite БД. Сейчас Room юзают для нее, и там попроще будет с точки зрения количества кода. Но зато те кто осилит этот урок и потом изучать room, те поймут сколько работы под капотом происходит и сколько магии
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
Я согласен, Room сейчас рекомендуеться а не писать куча, но знать не помешает
@ПростоУлыбка-ш2о
@ПростоУлыбка-ш2о 3 жыл бұрын
@@NecoRuChannel Сергей, а когда будут уроки по Room на Kotlin-е? очень надо)
@NecoRuChannel
@NecoRuChannel 3 жыл бұрын
@@ПростоУлыбка-ш2о Собирался когда закончу "Доска объявлений на Java" но возможно лучше будет раньше сделать мини курс по Room
@ПростоУлыбка-ш2о
@ПростоУлыбка-ш2о 3 жыл бұрын
@@NecoRuChannel вот-вот!) давай, жги!))) ждём с нетерпением!) уроков на 10-20, но основательно к делу подойди)
@Mecenatt
@Mecenatt 3 жыл бұрын
очень тяжело это все осмыслить , видимо с библиотекой было бы легче. Сделал все тоже самое в андроид студио , но в самом конце меня ждал облом . В слушателе нажатия не видит у меня id edTitle и edContent
@NecoRuChannel
@NecoRuChannel 3 жыл бұрын
Просто эту библиотеку убрали, нельзя id напрямую теперь писать, нужно или через findViewById или ViewBinding
@Mecenatt
@Mecenatt 3 жыл бұрын
@@NecoRuChannel спасиб .
@andrewdobosh2153
@andrewdobosh2153 4 жыл бұрын
Классный урок! Жду продолжение)
@haxd7951
@haxd7951 4 жыл бұрын
у меня ошибка Unresolved reference: edTitle, Unresolved reference: edContent Unresolved reference: tvTest
@ВладимирБаденков-г9й
@ВладимирБаденков-г9й 4 жыл бұрын
аналогично, не понятно что делать, похоже MainActivity не видит их, а как сделать видимыми не объясняется
@dmitrysergienko6153
@dmitrysergienko6153 4 жыл бұрын
у меня тоже ( не знаю как решить в fun onClickSave(view: View) добавил три ссылки: var tvTest:TextView = findViewById(R.id.tvTest) var edTitle:TextView = findViewById(R.id.edTitle) var edContent:TextView = findViewById(R.id.edContent) приложение запускается, но при нажатии на Save - выкидывает.
@MaksimMatveichuk
@MaksimMatveichuk 4 жыл бұрын
@@dmitrysergienko6153 У меня твой способ помог решить проблему.
@MaksimMatveichuk
@MaksimMatveichuk 3 жыл бұрын
У кого есть такая проблема, попробуйте прописать в build gradle: apply plugin: 'kotlin-android-extension'
@АлександрФролов-г9м
@АлександрФролов-г9м 2 жыл бұрын
@@MaksimMatveichuk а где именно?
@benandrew7390
@benandrew7390 Жыл бұрын
заметка для таких как я: Видео уже частично устарело, и в некоторых местах у вас будут вылетать ошибки. Проблема не в ваших руках
@NecoRuChannel
@NecoRuChannel Жыл бұрын
Прекрасное объяснение!
@pyharchagelton4558
@pyharchagelton4558 3 жыл бұрын
Просто огонь! Чётко по полкам разложил!
@Бананб-г4щ
@Бананб-г4щ 4 жыл бұрын
Здравствуйте,было бы очень неплохо если бы вы сделали видео про RxJava2
@toeeurope6763
@toeeurope6763 4 жыл бұрын
Шедевр а не видео) работал с map в котлин очень похожи и проще может из - за этого понимается)
@ВладимирБаденков-г9й
@ВладимирБаденков-г9й 4 жыл бұрын
Хорошо бы еще связанные 2,3 таблицы сделать) и вывод в интерфейс
@ЧеширскийКот-т8д
@ЧеширскийКот-т8д 4 жыл бұрын
Спасибо Вам огромное! Особенно за пояснения!
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
И вам спасибо за поддержку!
@boni7944
@boni7944 2 жыл бұрын
Подскажите, в fun onClickSave(view: View){ tvText(выделен красным цветом).text=" " muDbManager.insertToDb(edTitle(выделен красным цветом).text().toString, edContent(выделен красным цветом).text.toString()) } Кто сталкивался с этой ошибкой и как её решили.
@sssh1505
@sssh1505 4 жыл бұрын
Урок однозначно полезный. Хотелось бы в продолжении увидеть, как создать и добавить в одно из полей основной таблицы "дочернюю" таблицу. Есть задумка написать приложение "фамильное древо" на Kotlin. Лайк! 👍
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
доя этого мы создаем разные табоицы и в главную таблицу сохраняем названия таблиц
@sssh1505
@sssh1505 4 жыл бұрын
@@NecoRuChannel Есть ли доступ к созданной базе данных из других Activity?
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
@@sssh1505 Da
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
@@sssh1505 Да, конечно, из любого активити в приложении.
@sssh1505
@sssh1505 4 жыл бұрын
@@NecoRuChannel Если мы создаём новую БД с увеличенной версией, что происходит с прежней БД? Остается "бесхозно" на диске до удаления программы?
@linarus6090
@linarus6090 2 жыл бұрын
ничего не понимаю , как вы берете id разметок в MainActivity без findviewbyid ???? у меня красным подчеркивает нужен или байдинг или findviewbyid
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
Была по умолчанию библиотека в старых версиях но сейчас ее уже нет используй ViewBinding
@TheGuy-h6c
@TheGuy-h6c 2 жыл бұрын
Еще ремарка: execSQL читается как "экзэкЭсКюЭль", экзэк - это сокращение от экзэкьют (execute) - выполнять/исполнять.
@ПростоУлыбка-ш2о
@ПростоУлыбка-ш2о 3 жыл бұрын
привет, Сергей. оператор with для того нужен, чтобы самому не писать постоянно close
@farhodismailov6357
@farhodismailov6357 Жыл бұрын
как можно купить ваш курс, на какую почту вам написать, так как хотелось бы от вас узнать что лучше всего приобрести сейчас, чтобы научиться работать с Barcode, API, БД, выгрузка данных БД в эксел файл. Я прошел несколько ваших бесплатных курсов, но не все моменты понятны, спасибо кстати вам за уроки)
@NecoRuChannel
@NecoRuChannel Жыл бұрын
Привет, моя почта: necodesarrollo@gmail.com
@evaanufrieva
@evaanufrieva Жыл бұрын
Подскажите, пожалуйста, где я могу найти файл с базой данных *db, чтобы открыть ее в SQLite? Не находит в проводнике и не отрывается в SQLite
@NecoRuChannel
@NecoRuChannel Жыл бұрын
Находиться это в data/data/ваше имя пакета приложения/database
@MrBestKenny
@MrBestKenny 11 ай бұрын
А нельзя при чтении использовать cursor с циклом foreach, как в массивах? К примеру cursor.foreach{...}?
@smiling5091
@smiling5091 3 жыл бұрын
ActivityMain.kt не находит идентификаторы TextView, кнопок и т.д. из activity-main.xml
@gorsky6382
@gorsky6382 3 жыл бұрын
View Binding теперь
@Ketstroi
@Ketstroi 3 жыл бұрын
@@gorsky6382 подробнее можно плизз :))
@gorsky6382
@gorsky6382 3 жыл бұрын
@@Ketstroi я скидывал ссылки, но они автоматически удаляются. Учитесь грамотно гуглить. Возьмем основные сайты для поиска информации stackoverflow и habr. Наш запрос для поиска на конкретном сайте - site:habr.com view binding . И да, поисковые вопросы желательно составлять на английском, это проверено - на русском иногда просто не находит
@aooNVosson
@aooNVosson 5 ай бұрын
Сергей, приветствую. Спасибо большое за ролики. Очень нравятся. При таком подробном объяснении приложение "блокнот" удалось воспроизвести легко. Но несмотря на все детальные объяснения не могу создать вторую таблицу в базе данных. По сути повторил всю группу классов и вызываю DBManager_2.openDB() в onResume() Activity_2 однако создание 2ой таблицы не происходит. Разумеется, имена (да и структуры) таблиц разные. Что я упустил? Может есть нюансы при создании новой таблицы в базе данных с уже имеющимися таблицами?
@NecoRuChannel
@NecoRuChannel 5 ай бұрын
@@aooNVosson привет, БД больше не создастся. Удали приложение и тогда установи заново с новыми таблицами. Чтоб без удаления добавились новые таблицы нужно делать миграцию
@aooNVosson
@aooNVosson 5 ай бұрын
@@NecoRuChannel спасибо за подсказку. Все получилось!!
@edwardkonstantinow2202
@edwardkonstantinow2202 3 жыл бұрын
Хороший урок. Конечно, колонны режут слух человека, который с БД более 10 лет работает. И ещё пожелание по поводу upgrade версии. Команда drop table удаляет таблицу и все пользовательские данные, поэтому, наверное, лучше по-другому делать :-) Но повторюсь, действительно хороший урок.
@АндрейПирогов-ш6ч
@АндрейПирогов-ш6ч 3 жыл бұрын
не сразу нашел на kotlin, теперь смотрю более внимательно
@ЕКББерезовский
@ЕКББерезовский 9 ай бұрын
Спасибо. Очень полезный и интересный материал.
@TexHuK01
@TexHuK01 3 жыл бұрын
Спасибо большое за разжёванный материал!!! У меня вопрос, сейчас как я понимаю import kotlinx.android.synthetic.main.activity_main.* не используется? И в последнее время некоторые уроки вызывают трудности, как выходить из этой ситуации более простым способом? вроде разобрался, надо добавить в build.grable(Module:*.app) plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions' //эту строку } и после этого работает import kotlinx.android.synthetic.main.activity_main.* просто не понимаю, зачем это урезали, хз или действительно писать такие конструкции var tvTest:TextView = findViewById(R.id.tvTest)
@КатяСамокат-ы1н
@КатяСамокат-ы1н 3 жыл бұрын
Согласна( библиотеки меняются(
@alexandrzverev1622
@alexandrzverev1622 2 жыл бұрын
Спасибо Сергей! Очень круто! Вроде разобрался)
@priklyuchencher
@priklyuchencher 3 жыл бұрын
Почему может падать в функции openDb ? На этой строке: db = myDbHelper.writableDatabase
@АртёмМорозов-ц3р
@АртёмМорозов-ц3р 3 жыл бұрын
Такая же ситуация, возникает исключение. Сергей, помогите нам пожалуйста)
@nikitamuzalevskiy
@nikitamuzalevskiy 3 жыл бұрын
@@АртёмМорозов-ц3р я с вами! Будем надеяться на помощь!)
@pavelgera72
@pavelgera72 3 жыл бұрын
тоже самое
@АртёмМорозов-ц3р
@АртёмМорозов-ц3р 3 жыл бұрын
@@pavelgera72 в общем ошибка у меня была в том, что в скрипте по созданию БД случайно указал вместо переменной с именем БД переменную с именем Таблицы. Будьте аккуратнее с подсказчиком
@pavelgera72
@pavelgera72 3 жыл бұрын
@@АртёмМорозов-ц3р благодарю , я в константе строки создания таблицы вместо EXISTS написал EXIST
@hihnik123321
@hihnik123321 9 ай бұрын
Спасибо большое, очень полезное и интересное видео!
@deshawn5253
@deshawn5253 Жыл бұрын
Здравствуйте! у меня проблема, я все переписал как на уроке и добавил байндинг но все равно не запускается, выдает ошиби в трех сторках, и говорит что глобальные переменные должны быть приватными и т.д.
@NecoRuChannel
@NecoRuChannel Жыл бұрын
Привет пришли мне скрин с ошибками
@gvshishkin
@gvshishkin 2 жыл бұрын
getColumnIndex в данном случае выдаст ошибку, так как может быть равен -1, плюс повторил всё в точности, каждый символ и приложение крашится при нажатии на Save
@denyslopata7318
@denyslopata7318 2 жыл бұрын
Ты решил это как-то? У меня также @Neco Ru
@gvshishkin
@gvshishkin 2 жыл бұрын
@@denyslopata7318 GetColumIndexOrThrow, в документации так
@denyslopata7318
@denyslopata7318 2 жыл бұрын
@@gvshishkin Пробовал, все равно вылетает из приложения
@justwrecker
@justwrecker 2 жыл бұрын
Здравствуйте, у вас на 27:45 apply подсвечивается и всё работает, у меня почему-то apply горит красным и пишет unresolved reference: apply
@Denis-PP
@Denis-PP 2 жыл бұрын
Помогите разобраться,. У меня на прямую не получается обратиться к id в activity_main?
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
уже так нельзя, эту библиотеку убрали, Посмотри в новом плейлисте "котлин для начинающих 2021" там есть новый способ "ViewBinding"
@WolfKrugerr
@WolfKrugerr Жыл бұрын
Может я что-то упустил, но если я хочу создать ещё одну таблицу в этой же БД, то нужно отдельно такие же файлы создавать или можно просто как-то указать её где-нибудь?
@ЭркинРахимов-в2б
@ЭркинРахимов-в2б 4 жыл бұрын
спасибо болшое привет от узбекистана ПОЖАЛУСТА сделайте урок по Интернет Магазин
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
Спосибо!
@abdumalikizzatov849
@abdumalikizzatov849 4 жыл бұрын
Cпасибо Ждем rest api на Kotlin!!
@dreamz67
@dreamz67 2 жыл бұрын
Может прочитаете, у меня он жалуется на getColumnIndex, якобы Value must be ≥ 0, что делать?
@cid-nc3ie
@cid-nc3ie Жыл бұрын
+ тоже такое, но несмотря на ошибку код работает
@cid-nc3ie
@cid-nc3ie Жыл бұрын
только что увидел ниже что нужно использовать cursor.getColumnIndexOrThrow и реально ошибка ушла
@dreamz67
@dreamz67 Жыл бұрын
@@cid-nc3ie спасибо
@sooneof
@sooneof 3 жыл бұрын
Класный урок и чуть не оглох в конце ролика. (Обосрался)
@NecoRuChannel
@NecoRuChannel 3 жыл бұрын
😅😅😅уже убрал эту заставку, вышлю туалетную бумагу без проблем😂
@caxacaxa484
@caxacaxa484 2 жыл бұрын
Здравствуйте, в итоге у Вас есть урок про внешнюю память?
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
Привет, нет, так как перешел на котлин
@caxacaxa484
@caxacaxa484 2 жыл бұрын
@@NecoRuChannel в том то и дело) я сейчас на Котлин пишу приложение, которое должно сохранять введённые данные в текстовом файле) но конкретного описания данного действия не могу найти
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
@@caxacaxa484 Я собираюсь на недели это записать
@caxacaxa484
@caxacaxa484 2 жыл бұрын
@@NecoRuChannel спасибо огромное, буду с нетерпением ждать
@caxacaxa484
@caxacaxa484 2 жыл бұрын
@@NecoRuChannel здравствуйте, вы не передумали?)
@_Killana_
@_Killana_ 3 жыл бұрын
Сергей, привет, скажи пожалуйста, а где можно посмотреть у тебя про room на java? А то найти не могу ))
@NecoRuChannel
@NecoRuChannel 3 жыл бұрын
Привет, в плей листах. там сразу его найдешь
@_Killana_
@_Killana_ 3 жыл бұрын
@@NecoRuChannel Действительно, теперь увидел, спасибо
@MrGDCool
@MrGDCool Жыл бұрын
Добрый день. Почему то не проходит дальше этой функции. Может кто то увидит ошибку не замыленным взглядом? На логе read0 останавливается и не заходит в цикл, либо ломается в нем. fun readDbData() : ArrayList{ //возвращеает одну позицию Log.v("MyLog", "readTop") val dataList = ArrayList() val cursor =db?.query(MyDbNameClass.TABLE_NAME, null, null, null, null, null, null) Log.v("MyLog", "read0") while (cursor?.moveToNext()!!) { Log.v("MyLog", "read1") val dataText = cursor.getString(cursor.getColumnIndexOrThrow(MyDbNameClass.COLUMN_NAME_TITLE)) Log.v("MyLog", "read2") dataList.add(dataText.toString()) } Log.v("MyLog", "read2.1") cursor.close() Log.v("MyLog", "read") return dataList
@dmitrysergienko6153
@dmitrysergienko6153 4 жыл бұрын
Отличный урок! Но у меня почему-то при нажатии на кнопку Save система выкидывает (Close app) Я проверил Logcat: указывает на строку в MyDbHelper: db?.execSQL(MyDbNameClass.CREAT_TABLE) Caused by: android.database.sqlite.SQLiteException: near "EXSISTS": syntax error (code 1 SQLITE_ERROR): , while compiling: CREATE TABLE IF NOT EXSISTS my_table (_idINTEGER PRIMARY KEY,title TEXT,content TEXT) Подскажите, что не так? вот мой MyDbHelper import android.content.Context import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper class MyDbHelper(context: Context) : SQLiteOpenHelper(context,MyDbNameClass.DATABASE_NAME, null,MyDbNameClass.DATABASE_VERSION) { override fun onCreate(db: SQLiteDatabase?) { db?.execSQL(MyDbNameClass.CREAT_TABLE) } override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) { db?.execSQL(MyDbNameClass.SQL_DELETE_TABLE) onCreate(db) } }
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
между _id и INTEGER нет пробела
@dmitrysergienko6153
@dmitrysergienko6153 4 жыл бұрын
@@NecoRuChannel Спасибо! Исправил теперь все работает как часы!
@numaax9417
@numaax9417 3 жыл бұрын
@@NecoRuChannel а где в MyDbHelper "_idINTEGER"?
@alexkhvostyak5925
@alexkhvostyak5925 4 жыл бұрын
Спасибо за уроки!
@AleksandrShtomov
@AleksandrShtomov 4 жыл бұрын
Не знаю, почему автору не нравится слово - table, у него несколько значений есть. Самое частое, это - стол, но на втором месте по частоте использования, как раз идет - таблица. Для русскоговорящих, наоборот слово table созвучно по корню - табл и словом таблица.
@AS-ic8nu
@AS-ic8nu 4 жыл бұрын
Неужели при обновлении версии БД таблицы надо удалять? Неужели нет ALTER TABLE? Ведь там данные находятся. Есть возможность строить sql запросы к таблицам? Есть джоины?
@OCEH6
@OCEH6 4 жыл бұрын
Большое спасибо!
@AS-ic8nu
@AS-ic8nu 4 жыл бұрын
Снова, здравствуйте. Возник вопрос - если у меня в базе есть необязательные поля, как мне их передать в функцию insertToDB? Я указал возможность типа быть null, через "?", но тогда Котлин говорит, что нет такой версии функции put.
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
передавай ключевое слово которое будет указывать пустоту, например "null" или "empty"
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
а вобще нужно указывать не в котлин а в самой таблице когда поле создаем
@AS-ic8nu
@AS-ic8nu 4 жыл бұрын
@@NecoRuChannel Спасибо.
@landfathich
@landfathich 2 жыл бұрын
жалко что при создании константы CREATE_TABLE есть риск неправильно написать что-то, у меня так и случилось, запускаю, а приложение сразу закрывается при вызове функции openDb(), оказалось написал вместо "EXISTS" - "EXIST"(( 30 минут сидел парился код перечитывал пххпхп
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
По этому нужно учить Room. там таких проблем нет, а это так для ознакомления
@landfathich
@landfathich 2 жыл бұрын
@@NecoRuChannel как раз следующий шаг для меня это Room! А так когда решаюсь начать изучать какую-либо тему - у тебя на канале смотрю первым делом(проверенный источник))
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
@@landfathich )) Спасибо
@brigadir5830
@brigadir5830 2 жыл бұрын
Уроки просто кайф вы лучший в инете. 💕💕💕
@denyslopata7318
@denyslopata7318 2 жыл бұрын
getColumnIndex в данном случае выдаст ошибку, так как может быть равен -1, плюс повторил всё в точности, каждый символ и приложение крашится при нажатии на Save. Подскажите пожалуйста, нигде не могу найти решение это проблемы. Спасибо
@ChetyreSem
@ChetyreSem 2 жыл бұрын
Я думаю, что вам уже не актуально, но если вдруг кому-то актуально, то вместо getColumnIndex используется getColumnIndexOrThrow
@DonLauffer
@DonLauffer 2 жыл бұрын
@@ChetyreSem Спасибо!!!
@bairinc0
@bairinc0 3 жыл бұрын
Хороший урок, казалось бы в документации всё есть, но тут автор прямо разжевал. Единственное лучше использовать при описании таблицы слова "строка" и "столбец". Ну или "по умному": "кортеж" и "атрибут"
@РоманЯроцкий-х3в
@РоманЯроцкий-х3в 4 жыл бұрын
Сергей , Вам огромное спасибо за понятное объяснение! Отличный урок! Класс. С наступающим Новым годом Вас =)
@Станислав88-ы2ж
@Станислав88-ы2ж 3 жыл бұрын
Как быстро актуальность уроков пропадает. Половина кода уже не работает в данном виде, ужас(
@pyharchagelton4558
@pyharchagelton4558 3 жыл бұрын
Как это? Сейчас 30.11.2021 и код работает))
@LubluYoba
@LubluYoba 3 жыл бұрын
Спасибо за уроки. Если не ошибаюсь, то если мы используем with (cursor) то нам не обязательно потом опять писать cursor или this перед вызовами методов.
@АнтошаГорохов
@АнтошаГорохов Жыл бұрын
Вообще уроки топ, очень все подробно и по порядку. Но только вот произношение английских слов режет ухо немного. Но это даже забавно. Спасибо большое за контент
@luide2167
@luide2167 9 ай бұрын
А как же я хотел урок для работы с файловой системой. Эххх
@НазарКублій
@НазарКублій 4 жыл бұрын
Уроки реально полезные, спасибо за подробное описание. Было бы круто, если бы вы записали урок по работе с сетью, а точнее с организацией ее работы, получение данных через API , их храние и использование в приложение, заранее благодарю!
@komronrustamov8745
@komronrustamov8745 4 жыл бұрын
Спосибо за все урок вы можите показать урок Kotlin на андроид создание Форма регистрация SQLite
@BossVspMax
@BossVspMax 7 ай бұрын
Почему table - это стол? Table - это и стол и таблица. В данном случае именно таблица, а не стол. А так всё хорошо, спасибо за уроки, всё супер!
@NecoRuChannel
@NecoRuChannel 7 ай бұрын
Потому что когда перед камерой сидишь иногда можешь какую то чушь ляпнуть)) особенно если не эксперт в английском языке)) спасибо !☺️
@realtyadvertising2752
@realtyadvertising2752 2 жыл бұрын
Непонятно зачем не Mysql? такое ощущение что SQLite не хранится на сервере, зачем она тогда нужна? SQL-инструкции прямо в приложении, значит и БД на телефоне хранится, как тогда идет запись на один сервер?
@NecoRuChannel
@NecoRuChannel 2 жыл бұрын
Это не для сервера, а для внутреннего хранения. Не всем приложениям нужно подключение к серверу. Куча приложений сохраняет данные в телефоне локально, урок об этом
@chriswaytt6009
@chriswaytt6009 3 жыл бұрын
спасибо за уроки, сделайте по Room пожалуйста урок )
@dhaha3475
@dhaha3475 2 жыл бұрын
да чел этот достаточно ясно выразился: "по нормальному взаимодействию с бд есть у меня платный курс, а сейчас я вам покажу то как никто не делает тупо по рофлу, бесплатно же смотрите"
@norwaysamurai1712
@norwaysamurai1712 3 жыл бұрын
val values = ContentValues().apply ......apply и put выдает ошибки......как можно исправить?
@NecoRuChannel
@NecoRuChannel 3 жыл бұрын
смотря что за ошибки, решение может быть разное
@norwaysamurai1712
@norwaysamurai1712 3 жыл бұрын
@@NecoRuChannel Делал как по видео, но метод apply просто не находит в studio при быстром наборе в подсказках. После знака "точка" Не выскакивает apply. В сообщениях об ошибках написано "Unresolved reference: apply" и "Unresolved reference: put" часа 3 искал ответ в гугле но не нашел правильный вариант того как это исправить.
@ВасилийДжаман
@ВасилийДжаман 3 жыл бұрын
При нажатии на кнопку save приложение падает. Запустить не смог. Байндинг подключил.
@ЯрославДудка-й2б
@ЯрославДудка-й2б 3 жыл бұрын
у меня тоже была такая проблема. Сделал клас из константами по примеру сайта "Андроид" и все заработало
@ВасилийДжаман
@ВасилийДжаман 3 жыл бұрын
@@ЯрославДудка-й2б Уже решил. Допустил ошибку в написании слова.
@lukosir
@lukosir 3 жыл бұрын
я продалбался но всё таки сам сделал запись и вывод всего и title и content
@lukosir
@lukosir 3 жыл бұрын
МОЛОДЕЦ !!!
@karimovamir6057
@karimovamir6057 3 жыл бұрын
Спасибо большое.
@khametoff6386
@khametoff6386 4 жыл бұрын
Можно на Java?)
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
На Java тоже будет
@khametoff6386
@khametoff6386 4 жыл бұрын
@@NecoRuChannel жду...)
@Евгений-ч3и2ы
@Евгений-ч3и2ы 2 жыл бұрын
Super lesson!
@alexandervasuho3534
@alexandervasuho3534 3 жыл бұрын
неужели нашел, не может быть
@neuralnetwork2811
@neuralnetwork2811 2 жыл бұрын
Классный урок
@atomblog
@atomblog 4 жыл бұрын
Спасибо Сергей! Очень хороший урок. Хоть я и не учу Котлин но посмотрел для общего развития. Даже с учётом того что я не знаю язык все очень подробно и понятно! Тут люди пишут не хотим хардкор дай нам room data base, а мне наоборот хардкор нравится ;) очень круто было бы реализовать нечто подобное но через интернет! Тоесть не через Firebase чтоб не зависеть от нее а на прямую по хардкору. Тоесть создать базу MySQL на своем хостинге или своем домашнем сервере с выделенным ip address и туда набивать данные! Таким образом чтоб не зависеть не от Firebase не от storage. Тоесть если у меня свой сервер свой storage и своя база данных, то это полная свобода от Google, не надо не за что платить кроме домашнего электричества ;) и делать я там могу что хочу, реализовать любой проект.
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
да, ты прав, но в таком случаее нужно и серверную часть писать, а для этого знаеие андроида и java не хватит, нужно phyton или php например
@atomblog
@atomblog 4 жыл бұрын
@@NecoRuChannel я понемногу смотрю видео по pithon. Он достаточно лёгкий. Легче Java. Вобщем стараюсь двигаться в нужном направлении ;)
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
@@atomblog Ну тогда проблем со своим сервером не будет, только для того чтоб выдержал большой трафик сервер нужен будет огромный)
@atomblog
@atomblog 4 жыл бұрын
@@NecoRuChannel согласен. Но пока трафик небольшой можно просто дешёвый хостинг или недорогую виртуальную машину, так будет удобнее и дешевле! Но если проект допустим будет удачным и трафик пойдет большой тут конечно уже дешевле свой сервер и жирный канал на оптоволокно. Так как за большой трафик и огромное хранилище хостинг провайдеры просто обдерут в плане стоимости ;)
@NecoRuChannel
@NecoRuChannel 4 жыл бұрын
@@atomblog Я с тобой полностью согласен
@manako7653
@manako7653 2 жыл бұрын
Table - переводится как таблица.
@Александр357-в1с
@Александр357-в1с 4 жыл бұрын
чертов король! спассибо
@AutoAmper
@AutoAmper Жыл бұрын
А как Вы так на прямую обращаетесь к элементам Лаяута, без использования биндинга и без findViewById() ?? пишите: tvTest.text =.... у меня такое не работает(((
@NecoRuChannel
@NecoRuChannel Жыл бұрын
Эту библиотеку уже убрали, теперь нужно ViewBinding использовать, в курсе для начинающих 2021 кажется в уроке 4 рассказал об этом
@AutoAmper
@AutoAmper Жыл бұрын
@@NecoRuChannel Спасибо за ответ
@ПростоУлыбка-ш2о
@ПростоУлыбка-ш2о 3 жыл бұрын
странная нумерация уроков) первым идёт 17-й) а дальше 1, 2, 3 и т.д.) поправьте)
@MAQA545
@MAQA545 3 жыл бұрын
17ый это из одной серии уроков, а 1, 2, 3... это с другой (ссылка на полный плейлист - kzbin.info/aero/PLmjT2NFTgg1clSDgx1YYOuVyZuCXVjfuR )
@ДжамиляХабибова-х8с
@ДжамиляХабибова-х8с Жыл бұрын
класс☺
@ВасяГураль-ъ4з
@ВасяГураль-ъ4з 4 жыл бұрын
👍👍👍👍👍👍👍👍
@ВасяГураль-ъ4з
@ВасяГураль-ъ4з 4 жыл бұрын
Привіт, я тобі писав в фейсбуці, є зміни.
@kamrannitaliyev1881
@kamrannitaliyev1881 4 жыл бұрын
Вы препадаете?
@alexeypetrov6155
@alexeypetrov6155 6 ай бұрын
Table также переводится как таблица. Ты чего вообще?
@alexxustube
@alexxustube Жыл бұрын
С английским у тебя плоховато. Table - это таблица. Ты путаешь контексты, поэтому для тебя не логично. Всё равно спасибо за уроки
@ДаниилДанилевский-ч5б
@ДаниилДанилевский-ч5б 2 жыл бұрын
А как быть, если при нажатии на Save приложение вылетает? А выражение cursor.getColumnIndex(MyDbClass.COLUMN_NAME_TITLE) подчеркивает красным?
@ЄгорКовальов-ь6н
@ЄгорКовальов-ь6н 2 жыл бұрын
та же проблема😥
@myangel385
@myangel385 2 жыл бұрын
Здравствуйте, у вас на сайте, есть данный проект в готовом варианте ? Где-то у меня ошибка не могу разобраться вот ошибка Caused by: android.database.sqlite.SQLiteException: duplicate column name: content (code 1 SQLITE_ERROR): , while compiling: CREATE TABLE IF NOT EXISTS my_table (_id INTEGER PRIMARY KEY, title TEXT, content TEXT, content TEXT) но я в коде уже увидел, что у меня 2 раза content был вместо uri исправил но приложение краш при запуске package com.vanclykin.notebooksqlite.db import android.provider.BaseColumns //НЕОБХОДИМЫЕ КОНСТАТНЫ И ЗНАЧЕНИЯ БАЗЫ ДАННЫХ object MyDbNameClass { //0 title content const val TABLE_NAME = "my_table" const val COLUMN_NAME_TITLE = "title" const val COLUMN_NAME_CONTENT = "content" const val COLUMN_IMAGE_URI = "uri" const val DATABASE_VERSION = 5 const val DATABASE_NAME = "NotebookDb.db" const val SQL_CREATE_TABLE = "CREATE TABLE IF NOT EXISTS $TABLE_NAME (" + "${BaseColumns._ID} INTEGER PRIMARY KEY, $COLUMN_NAME_TITLE TEXT,$COLUMN_NAME_CONTENT TEXT,$COLUMN_IMAGE_URI TEXT)" const val SQL_DELETE_TABLE = "DROP TABLE IF EXISTS $TABLE_NAME" }
@myangel385
@myangel385 2 жыл бұрын
думаю мб как-то записалась таблица уже с таким значение и не дает запустить приложение больше. Хотя я и менял версию и удалял приложение и менял имя таблицы
@АртёмМорозов-ц3р
@АртёмМорозов-ц3р 3 жыл бұрын
Спасибо за подробное изложение!
@ИсраилБ
@ИсраилБ 4 жыл бұрын
Спасибо большое!
@arjmobiledeveloper1903
@arjmobiledeveloper1903 4 жыл бұрын
👍👍👍
@k.subb32
@k.subb32 4 жыл бұрын
Спасибо большое!!!
Caleb Pressley Shows TSA How It’s Done
0:28
Barstool Sports
Рет қаралды 60 МЛН
Vampire SUCKS Human Energy 🧛🏻‍♂️🪫 (ft. @StevenHe )
0:34
Alan Chikin Chow
Рет қаралды 138 МЛН
Room. SQLite для Android. Часть 1. [Ru, Kotlin\Android]
57:23
Mobile Developer
Рет қаралды 29 М.
Вся база SQL для начинающих за 1 час
1:19:48
Vlad Mishustin
Рет қаралды 353 М.
Учим Базы Данных за 1 час! #От Профессионала
1:07:50
Хауди Хо™ - Просто о мире IT!
Рет қаралды 513 М.
⚡️NEWS | UNITED RUSSIA OFFICE AND ATMS BURNED DOWN | COMPLAINING TO PUTIN ABOUT GREF
9:14
Caleb Pressley Shows TSA How It’s Done
0:28
Barstool Sports
Рет қаралды 60 МЛН