Может кому пригодится, в видео на 52:10 neco говорит про считывания одной переменны из БД хотя туда кидали 2 переменные, если кто хочет дальше разобраться как считывать больше данных из БД то в этом видосе есть это, смотрите с самого начала "KOTLIN база данных SQLite || Приложение "БЛОКНОТ" || Часть 5"
@ЕвгенийПечерский-р3я4 жыл бұрын
Классный урок. Небольшая ремарка, "table" переводится не только как стол, но и как таблица, так что не смущайтесь)
@NecoRuChannel4 жыл бұрын
Спасибо!
@BigedEd Жыл бұрын
стол, таблица, скрижаль, расписание, табель: сущ
@antonioant38582 жыл бұрын
У кого как и у меня ругалось что "cursor.getColumnIndex может давать -1" просто юзайте cursor.getColumnIndexOrThrow и всё работает. лайк что-бы увидели и добавили в описание видео
@cid-nc3ie Жыл бұрын
спасибо тебе!
@murmia8398Ай бұрын
@@antonioant3858 СПАСИБО БОЛЬШОЕ!!!
@cibofff4 жыл бұрын
Супер урок. Посмотрел курс по Котлин, многое прояснилось до чего не мог дойти сам. Спасибо огромное. Всем рекомендую! Нужен урок по Recycler view в связке с sQlite.
@k.subb324 жыл бұрын
Круто!!! По традиции сначала лайк и комментарий, потом просмотр)
@NecoRuChannel4 жыл бұрын
Спасибо!
@oleg123952 жыл бұрын
Благодарю за отличный урок, а с колонами и столами вообще не парьтесь, главное что ценнейшая информация по работе с SQLite выложена. Кто пришел за этим, тот оценит !!!
@NecoRuChannel2 жыл бұрын
Большое спасибо! Просто в голове каша с языками. Русский, испанский, английский)))
@ЮрійБережний-с7ъ4 жыл бұрын
Отличный урок! Ждем Room на Kotlin!! P.S. Желательно не платный :)
@MrDiMaSTeRTM4 жыл бұрын
очень ждем!!!
@alashorda6028 Жыл бұрын
прям очень
@MrBrick122 жыл бұрын
Получил несколько ошибок, т.к. версии андроид студии уже другие. Решил поделиться как их фиксить. Ошибка №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ш Жыл бұрын
Спасибо тебе, хороший человек
@guychokalolo23783 жыл бұрын
Quel talent, vous avez ce don d'explique la matier. Bravo 👏🏻
@vitaliy.martunyuk2 жыл бұрын
Спасибо тебе большое, я всегда вручную писал добавление в базу данных и меня это так бесило, а ты упростил мою жизнь в несколько раз!
@Lexapskovpro11 ай бұрын
В сравнении с первыми уроками сильно перегрузил созданием классов, в итоге основная цель урока -работа с бд. Как то потерялась на их фоне... Кмк кому надо упростить написание кода в будущем сам справится, а кому нужны азы суть потеряет в куче информации за создание и работу классов...
@jurabekavezov86723 жыл бұрын
Сделал все как на уроке никаких ошибок нет, но в tvTest никакие данные не высвечиваются при нажатии на кнопку
@ChetyreSem2 жыл бұрын
*У кого подчеркивает getColumnIndex и в подсказке пишет must be >=0, нужно использовать getColumnIndexOrThrow*
@NecoRuChannel2 жыл бұрын
Да, это в новой версии добавили
@landfathich2 жыл бұрын
спасибо!)
@oleg123952 жыл бұрын
спасибо за getColumnIndexOrThrow !!!!!!!!!!!!!!!!
@nightscream36874 жыл бұрын
Это безусловно хороший урок, но сейчас по рукам бьют кто пишет на голом Sqlite БД. Сейчас Room юзают для нее, и там попроще будет с точки зрения количества кода. Но зато те кто осилит этот урок и потом изучать room, те поймут сколько работы под капотом происходит и сколько магии
@NecoRuChannel4 жыл бұрын
Я согласен, Room сейчас рекомендуеться а не писать куча, но знать не помешает
@ПростоУлыбка-ш2о3 жыл бұрын
@@NecoRuChannel Сергей, а когда будут уроки по Room на Kotlin-е? очень надо)
@NecoRuChannel3 жыл бұрын
@@ПростоУлыбка-ш2о Собирался когда закончу "Доска объявлений на Java" но возможно лучше будет раньше сделать мини курс по Room
@ПростоУлыбка-ш2о3 жыл бұрын
@@NecoRuChannel вот-вот!) давай, жги!))) ждём с нетерпением!) уроков на 10-20, но основательно к делу подойди)
@Mecenatt3 жыл бұрын
очень тяжело это все осмыслить , видимо с библиотекой было бы легче. Сделал все тоже самое в андроид студио , но в самом конце меня ждал облом . В слушателе нажатия не видит у меня id edTitle и edContent
@NecoRuChannel3 жыл бұрын
Просто эту библиотеку убрали, нельзя id напрямую теперь писать, нужно или через findViewById или ViewBinding
@Mecenatt3 жыл бұрын
@@NecoRuChannel спасиб .
@andrewdobosh21534 жыл бұрын
Классный урок! Жду продолжение)
@haxd79514 жыл бұрын
у меня ошибка Unresolved reference: edTitle, Unresolved reference: edContent Unresolved reference: tvTest
@ВладимирБаденков-г9й4 жыл бұрын
аналогично, не понятно что делать, похоже MainActivity не видит их, а как сделать видимыми не объясняется
@dmitrysergienko61534 жыл бұрын
у меня тоже ( не знаю как решить в 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 - выкидывает.
@MaksimMatveichuk4 жыл бұрын
@@dmitrysergienko6153 У меня твой способ помог решить проблему.
@MaksimMatveichuk3 жыл бұрын
У кого есть такая проблема, попробуйте прописать в build gradle: apply plugin: 'kotlin-android-extension'
@АлександрФролов-г9м2 жыл бұрын
@@MaksimMatveichuk а где именно?
@benandrew7390 Жыл бұрын
заметка для таких как я: Видео уже частично устарело, и в некоторых местах у вас будут вылетать ошибки. Проблема не в ваших руках
@NecoRuChannel Жыл бұрын
Прекрасное объяснение!
@pyharchagelton45583 жыл бұрын
Просто огонь! Чётко по полкам разложил!
@Бананб-г4щ4 жыл бұрын
Здравствуйте,было бы очень неплохо если бы вы сделали видео про RxJava2
@toeeurope67634 жыл бұрын
Шедевр а не видео) работал с map в котлин очень похожи и проще может из - за этого понимается)
@ВладимирБаденков-г9й4 жыл бұрын
Хорошо бы еще связанные 2,3 таблицы сделать) и вывод в интерфейс
@ЧеширскийКот-т8д4 жыл бұрын
Спасибо Вам огромное! Особенно за пояснения!
@NecoRuChannel4 жыл бұрын
И вам спасибо за поддержку!
@boni79442 жыл бұрын
Подскажите, в fun onClickSave(view: View){ tvText(выделен красным цветом).text=" " muDbManager.insertToDb(edTitle(выделен красным цветом).text().toString, edContent(выделен красным цветом).text.toString()) } Кто сталкивался с этой ошибкой и как её решили.
@sssh15054 жыл бұрын
Урок однозначно полезный. Хотелось бы в продолжении увидеть, как создать и добавить в одно из полей основной таблицы "дочернюю" таблицу. Есть задумка написать приложение "фамильное древо" на Kotlin. Лайк! 👍
@NecoRuChannel4 жыл бұрын
доя этого мы создаем разные табоицы и в главную таблицу сохраняем названия таблиц
@sssh15054 жыл бұрын
@@NecoRuChannel Есть ли доступ к созданной базе данных из других Activity?
@NecoRuChannel4 жыл бұрын
@@sssh1505 Da
@NecoRuChannel4 жыл бұрын
@@sssh1505 Да, конечно, из любого активити в приложении.
@sssh15054 жыл бұрын
@@NecoRuChannel Если мы создаём новую БД с увеличенной версией, что происходит с прежней БД? Остается "бесхозно" на диске до удаления программы?
@linarus60902 жыл бұрын
ничего не понимаю , как вы берете id разметок в MainActivity без findviewbyid ???? у меня красным подчеркивает нужен или байдинг или findviewbyid
@NecoRuChannel2 жыл бұрын
Была по умолчанию библиотека в старых версиях но сейчас ее уже нет используй ViewBinding
@TheGuy-h6c2 жыл бұрын
Еще ремарка: execSQL читается как "экзэкЭсКюЭль", экзэк - это сокращение от экзэкьют (execute) - выполнять/исполнять.
@ПростоУлыбка-ш2о3 жыл бұрын
привет, Сергей. оператор with для того нужен, чтобы самому не писать постоянно close
@farhodismailov6357 Жыл бұрын
как можно купить ваш курс, на какую почту вам написать, так как хотелось бы от вас узнать что лучше всего приобрести сейчас, чтобы научиться работать с Barcode, API, БД, выгрузка данных БД в эксел файл. Я прошел несколько ваших бесплатных курсов, но не все моменты понятны, спасибо кстати вам за уроки)
@NecoRuChannel Жыл бұрын
Привет, моя почта: necodesarrollo@gmail.com
@evaanufrieva Жыл бұрын
Подскажите, пожалуйста, где я могу найти файл с базой данных *db, чтобы открыть ее в SQLite? Не находит в проводнике и не отрывается в SQLite
@NecoRuChannel Жыл бұрын
Находиться это в data/data/ваше имя пакета приложения/database
@MrBestKenny11 ай бұрын
А нельзя при чтении использовать cursor с циклом foreach, как в массивах? К примеру cursor.foreach{...}?
@smiling50913 жыл бұрын
ActivityMain.kt не находит идентификаторы TextView, кнопок и т.д. из activity-main.xml
@gorsky63823 жыл бұрын
View Binding теперь
@Ketstroi3 жыл бұрын
@@gorsky6382 подробнее можно плизз :))
@gorsky63823 жыл бұрын
@@Ketstroi я скидывал ссылки, но они автоматически удаляются. Учитесь грамотно гуглить. Возьмем основные сайты для поиска информации stackoverflow и habr. Наш запрос для поиска на конкретном сайте - site:habr.com view binding . И да, поисковые вопросы желательно составлять на английском, это проверено - на русском иногда просто не находит
@aooNVosson5 ай бұрын
Сергей, приветствую. Спасибо большое за ролики. Очень нравятся. При таком подробном объяснении приложение "блокнот" удалось воспроизвести легко. Но несмотря на все детальные объяснения не могу создать вторую таблицу в базе данных. По сути повторил всю группу классов и вызываю DBManager_2.openDB() в onResume() Activity_2 однако создание 2ой таблицы не происходит. Разумеется, имена (да и структуры) таблиц разные. Что я упустил? Может есть нюансы при создании новой таблицы в базе данных с уже имеющимися таблицами?
@NecoRuChannel5 ай бұрын
@@aooNVosson привет, БД больше не создастся. Удали приложение и тогда установи заново с новыми таблицами. Чтоб без удаления добавились новые таблицы нужно делать миграцию
@aooNVosson5 ай бұрын
@@NecoRuChannel спасибо за подсказку. Все получилось!!
@edwardkonstantinow22023 жыл бұрын
Хороший урок. Конечно, колонны режут слух человека, который с БД более 10 лет работает. И ещё пожелание по поводу upgrade версии. Команда drop table удаляет таблицу и все пользовательские данные, поэтому, наверное, лучше по-другому делать :-) Но повторюсь, действительно хороший урок.
@АндрейПирогов-ш6ч3 жыл бұрын
не сразу нашел на kotlin, теперь смотрю более внимательно
@ЕКББерезовский9 ай бұрын
Спасибо. Очень полезный и интересный материал.
@TexHuK013 жыл бұрын
Спасибо большое за разжёванный материал!!! У меня вопрос, сейчас как я понимаю 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н3 жыл бұрын
Согласна( библиотеки меняются(
@alexandrzverev16222 жыл бұрын
Спасибо Сергей! Очень круто! Вроде разобрался)
@priklyuchencher3 жыл бұрын
Почему может падать в функции openDb ? На этой строке: db = myDbHelper.writableDatabase
@АртёмМорозов-ц3р3 жыл бұрын
Такая же ситуация, возникает исключение. Сергей, помогите нам пожалуйста)
@nikitamuzalevskiy3 жыл бұрын
@@АртёмМорозов-ц3р я с вами! Будем надеяться на помощь!)
@pavelgera723 жыл бұрын
тоже самое
@АртёмМорозов-ц3р3 жыл бұрын
@@pavelgera72 в общем ошибка у меня была в том, что в скрипте по созданию БД случайно указал вместо переменной с именем БД переменную с именем Таблицы. Будьте аккуратнее с подсказчиком
@pavelgera723 жыл бұрын
@@АртёмМорозов-ц3р благодарю , я в константе строки создания таблицы вместо EXISTS написал EXIST
@hihnik1233219 ай бұрын
Спасибо большое, очень полезное и интересное видео!
@deshawn5253 Жыл бұрын
Здравствуйте! у меня проблема, я все переписал как на уроке и добавил байндинг но все равно не запускается, выдает ошиби в трех сторках, и говорит что глобальные переменные должны быть приватными и т.д.
@NecoRuChannel Жыл бұрын
Привет пришли мне скрин с ошибками
@gvshishkin2 жыл бұрын
getColumnIndex в данном случае выдаст ошибку, так как может быть равен -1, плюс повторил всё в точности, каждый символ и приложение крашится при нажатии на Save
@denyslopata73182 жыл бұрын
Ты решил это как-то? У меня также @Neco Ru
@gvshishkin2 жыл бұрын
@@denyslopata7318 GetColumIndexOrThrow, в документации так
@denyslopata73182 жыл бұрын
@@gvshishkin Пробовал, все равно вылетает из приложения
@justwrecker2 жыл бұрын
Здравствуйте, у вас на 27:45 apply подсвечивается и всё работает, у меня почему-то apply горит красным и пишет unresolved reference: apply
@Denis-PP2 жыл бұрын
Помогите разобраться,. У меня на прямую не получается обратиться к id в activity_main?
@NecoRuChannel2 жыл бұрын
уже так нельзя, эту библиотеку убрали, Посмотри в новом плейлисте "котлин для начинающих 2021" там есть новый способ "ViewBinding"
@WolfKrugerr Жыл бұрын
Может я что-то упустил, но если я хочу создать ещё одну таблицу в этой же БД, то нужно отдельно такие же файлы создавать или можно просто как-то указать её где-нибудь?
@ЭркинРахимов-в2б4 жыл бұрын
спасибо болшое привет от узбекистана ПОЖАЛУСТА сделайте урок по Интернет Магазин
@NecoRuChannel4 жыл бұрын
Спосибо!
@abdumalikizzatov8494 жыл бұрын
Cпасибо Ждем rest api на Kotlin!!
@dreamz672 жыл бұрын
Может прочитаете, у меня он жалуется на getColumnIndex, якобы Value must be ≥ 0, что делать?
@cid-nc3ie Жыл бұрын
+ тоже такое, но несмотря на ошибку код работает
@cid-nc3ie Жыл бұрын
только что увидел ниже что нужно использовать cursor.getColumnIndexOrThrow и реально ошибка ушла
@dreamz67 Жыл бұрын
@@cid-nc3ie спасибо
@sooneof3 жыл бұрын
Класный урок и чуть не оглох в конце ролика. (Обосрался)
@NecoRuChannel3 жыл бұрын
😅😅😅уже убрал эту заставку, вышлю туалетную бумагу без проблем😂
@caxacaxa4842 жыл бұрын
Здравствуйте, в итоге у Вас есть урок про внешнюю память?
@NecoRuChannel2 жыл бұрын
Привет, нет, так как перешел на котлин
@caxacaxa4842 жыл бұрын
@@NecoRuChannel в том то и дело) я сейчас на Котлин пишу приложение, которое должно сохранять введённые данные в текстовом файле) но конкретного описания данного действия не могу найти
@NecoRuChannel2 жыл бұрын
@@caxacaxa484 Я собираюсь на недели это записать
@caxacaxa4842 жыл бұрын
@@NecoRuChannel спасибо огромное, буду с нетерпением ждать
@caxacaxa4842 жыл бұрын
@@NecoRuChannel здравствуйте, вы не передумали?)
@_Killana_3 жыл бұрын
Сергей, привет, скажи пожалуйста, а где можно посмотреть у тебя про room на java? А то найти не могу ))
@NecoRuChannel3 жыл бұрын
Привет, в плей листах. там сразу его найдешь
@_Killana_3 жыл бұрын
@@NecoRuChannel Действительно, теперь увидел, спасибо
@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
@dmitrysergienko61534 жыл бұрын
Отличный урок! Но у меня почему-то при нажатии на кнопку 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) } }
@NecoRuChannel4 жыл бұрын
между _id и INTEGER нет пробела
@dmitrysergienko61534 жыл бұрын
@@NecoRuChannel Спасибо! Исправил теперь все работает как часы!
@numaax94173 жыл бұрын
@@NecoRuChannel а где в MyDbHelper "_idINTEGER"?
@alexkhvostyak59254 жыл бұрын
Спасибо за уроки!
@AleksandrShtomov4 жыл бұрын
Не знаю, почему автору не нравится слово - table, у него несколько значений есть. Самое частое, это - стол, но на втором месте по частоте использования, как раз идет - таблица. Для русскоговорящих, наоборот слово table созвучно по корню - табл и словом таблица.
@AS-ic8nu4 жыл бұрын
Неужели при обновлении версии БД таблицы надо удалять? Неужели нет ALTER TABLE? Ведь там данные находятся. Есть возможность строить sql запросы к таблицам? Есть джоины?
@OCEH64 жыл бұрын
Большое спасибо!
@AS-ic8nu4 жыл бұрын
Снова, здравствуйте. Возник вопрос - если у меня в базе есть необязательные поля, как мне их передать в функцию insertToDB? Я указал возможность типа быть null, через "?", но тогда Котлин говорит, что нет такой версии функции put.
@NecoRuChannel4 жыл бұрын
передавай ключевое слово которое будет указывать пустоту, например "null" или "empty"
@NecoRuChannel4 жыл бұрын
а вобще нужно указывать не в котлин а в самой таблице когда поле создаем
@AS-ic8nu4 жыл бұрын
@@NecoRuChannel Спасибо.
@landfathich2 жыл бұрын
жалко что при создании константы CREATE_TABLE есть риск неправильно написать что-то, у меня так и случилось, запускаю, а приложение сразу закрывается при вызове функции openDb(), оказалось написал вместо "EXISTS" - "EXIST"(( 30 минут сидел парился код перечитывал пххпхп
@NecoRuChannel2 жыл бұрын
По этому нужно учить Room. там таких проблем нет, а это так для ознакомления
@landfathich2 жыл бұрын
@@NecoRuChannel как раз следующий шаг для меня это Room! А так когда решаюсь начать изучать какую-либо тему - у тебя на канале смотрю первым делом(проверенный источник))
@NecoRuChannel2 жыл бұрын
@@landfathich )) Спасибо
@brigadir58302 жыл бұрын
Уроки просто кайф вы лучший в инете. 💕💕💕
@denyslopata73182 жыл бұрын
getColumnIndex в данном случае выдаст ошибку, так как может быть равен -1, плюс повторил всё в точности, каждый символ и приложение крашится при нажатии на Save. Подскажите пожалуйста, нигде не могу найти решение это проблемы. Спасибо
@ChetyreSem2 жыл бұрын
Я думаю, что вам уже не актуально, но если вдруг кому-то актуально, то вместо getColumnIndex используется getColumnIndexOrThrow
@DonLauffer2 жыл бұрын
@@ChetyreSem Спасибо!!!
@bairinc03 жыл бұрын
Хороший урок, казалось бы в документации всё есть, но тут автор прямо разжевал. Единственное лучше использовать при описании таблицы слова "строка" и "столбец". Ну или "по умному": "кортеж" и "атрибут"
@РоманЯроцкий-х3в4 жыл бұрын
Сергей , Вам огромное спасибо за понятное объяснение! Отличный урок! Класс. С наступающим Новым годом Вас =)
@Станислав88-ы2ж3 жыл бұрын
Как быстро актуальность уроков пропадает. Половина кода уже не работает в данном виде, ужас(
@pyharchagelton45583 жыл бұрын
Как это? Сейчас 30.11.2021 и код работает))
@LubluYoba3 жыл бұрын
Спасибо за уроки. Если не ошибаюсь, то если мы используем with (cursor) то нам не обязательно потом опять писать cursor или this перед вызовами методов.
@АнтошаГорохов Жыл бұрын
Вообще уроки топ, очень все подробно и по порядку. Но только вот произношение английских слов режет ухо немного. Но это даже забавно. Спасибо большое за контент
@luide21679 ай бұрын
А как же я хотел урок для работы с файловой системой. Эххх
@НазарКублій4 жыл бұрын
Уроки реально полезные, спасибо за подробное описание. Было бы круто, если бы вы записали урок по работе с сетью, а точнее с организацией ее работы, получение данных через API , их храние и использование в приложение, заранее благодарю!
@komronrustamov87454 жыл бұрын
Спосибо за все урок вы можите показать урок Kotlin на андроид создание Форма регистрация SQLite
@BossVspMax7 ай бұрын
Почему table - это стол? Table - это и стол и таблица. В данном случае именно таблица, а не стол. А так всё хорошо, спасибо за уроки, всё супер!
@NecoRuChannel7 ай бұрын
Потому что когда перед камерой сидишь иногда можешь какую то чушь ляпнуть)) особенно если не эксперт в английском языке)) спасибо !☺️
@realtyadvertising27522 жыл бұрын
Непонятно зачем не Mysql? такое ощущение что SQLite не хранится на сервере, зачем она тогда нужна? SQL-инструкции прямо в приложении, значит и БД на телефоне хранится, как тогда идет запись на один сервер?
@NecoRuChannel2 жыл бұрын
Это не для сервера, а для внутреннего хранения. Не всем приложениям нужно подключение к серверу. Куча приложений сохраняет данные в телефоне локально, урок об этом
@chriswaytt60093 жыл бұрын
спасибо за уроки, сделайте по Room пожалуйста урок )
@dhaha34752 жыл бұрын
да чел этот достаточно ясно выразился: "по нормальному взаимодействию с бд есть у меня платный курс, а сейчас я вам покажу то как никто не делает тупо по рофлу, бесплатно же смотрите"
@norwaysamurai17123 жыл бұрын
val values = ContentValues().apply ......apply и put выдает ошибки......как можно исправить?
@NecoRuChannel3 жыл бұрын
смотря что за ошибки, решение может быть разное
@norwaysamurai17123 жыл бұрын
@@NecoRuChannel Делал как по видео, но метод apply просто не находит в studio при быстром наборе в подсказках. После знака "точка" Не выскакивает apply. В сообщениях об ошибках написано "Unresolved reference: apply" и "Unresolved reference: put" часа 3 искал ответ в гугле но не нашел правильный вариант того как это исправить.
@ВасилийДжаман3 жыл бұрын
При нажатии на кнопку save приложение падает. Запустить не смог. Байндинг подключил.
@ЯрославДудка-й2б3 жыл бұрын
у меня тоже была такая проблема. Сделал клас из константами по примеру сайта "Андроид" и все заработало
@ВасилийДжаман3 жыл бұрын
@@ЯрославДудка-й2б Уже решил. Допустил ошибку в написании слова.
@lukosir3 жыл бұрын
я продалбался но всё таки сам сделал запись и вывод всего и title и content
@lukosir3 жыл бұрын
МОЛОДЕЦ !!!
@karimovamir60573 жыл бұрын
Спасибо большое.
@khametoff63864 жыл бұрын
Можно на Java?)
@NecoRuChannel4 жыл бұрын
На Java тоже будет
@khametoff63864 жыл бұрын
@@NecoRuChannel жду...)
@Евгений-ч3и2ы2 жыл бұрын
Super lesson!
@alexandervasuho35343 жыл бұрын
неужели нашел, не может быть
@neuralnetwork28112 жыл бұрын
Классный урок
@atomblog4 жыл бұрын
Спасибо Сергей! Очень хороший урок. Хоть я и не учу Котлин но посмотрел для общего развития. Даже с учётом того что я не знаю язык все очень подробно и понятно! Тут люди пишут не хотим хардкор дай нам room data base, а мне наоборот хардкор нравится ;) очень круто было бы реализовать нечто подобное но через интернет! Тоесть не через Firebase чтоб не зависеть от нее а на прямую по хардкору. Тоесть создать базу MySQL на своем хостинге или своем домашнем сервере с выделенным ip address и туда набивать данные! Таким образом чтоб не зависеть не от Firebase не от storage. Тоесть если у меня свой сервер свой storage и своя база данных, то это полная свобода от Google, не надо не за что платить кроме домашнего электричества ;) и делать я там могу что хочу, реализовать любой проект.
@NecoRuChannel4 жыл бұрын
да, ты прав, но в таком случаее нужно и серверную часть писать, а для этого знаеие андроида и java не хватит, нужно phyton или php например
@atomblog4 жыл бұрын
@@NecoRuChannel я понемногу смотрю видео по pithon. Он достаточно лёгкий. Легче Java. Вобщем стараюсь двигаться в нужном направлении ;)
@NecoRuChannel4 жыл бұрын
@@atomblog Ну тогда проблем со своим сервером не будет, только для того чтоб выдержал большой трафик сервер нужен будет огромный)
@atomblog4 жыл бұрын
@@NecoRuChannel согласен. Но пока трафик небольшой можно просто дешёвый хостинг или недорогую виртуальную машину, так будет удобнее и дешевле! Но если проект допустим будет удачным и трафик пойдет большой тут конечно уже дешевле свой сервер и жирный канал на оптоволокно. Так как за большой трафик и огромное хранилище хостинг провайдеры просто обдерут в плане стоимости ;)
@NecoRuChannel4 жыл бұрын
@@atomblog Я с тобой полностью согласен
@manako76532 жыл бұрын
Table - переводится как таблица.
@Александр357-в1с4 жыл бұрын
чертов король! спассибо
@AutoAmper Жыл бұрын
А как Вы так на прямую обращаетесь к элементам Лаяута, без использования биндинга и без findViewById() ?? пишите: tvTest.text =.... у меня такое не работает(((
@NecoRuChannel Жыл бұрын
Эту библиотеку уже убрали, теперь нужно ViewBinding использовать, в курсе для начинающих 2021 кажется в уроке 4 рассказал об этом
@AutoAmper Жыл бұрын
@@NecoRuChannel Спасибо за ответ
@ПростоУлыбка-ш2о3 жыл бұрын
странная нумерация уроков) первым идёт 17-й) а дальше 1, 2, 3 и т.д.) поправьте)
@MAQA5453 жыл бұрын
17ый это из одной серии уроков, а 1, 2, 3... это с другой (ссылка на полный плейлист - kzbin.info/aero/PLmjT2NFTgg1clSDgx1YYOuVyZuCXVjfuR )
@ДжамиляХабибова-х8с Жыл бұрын
класс☺
@ВасяГураль-ъ4з4 жыл бұрын
👍👍👍👍👍👍👍👍
@ВасяГураль-ъ4з4 жыл бұрын
Привіт, я тобі писав в фейсбуці, є зміни.
@kamrannitaliyev18814 жыл бұрын
Вы препадаете?
@alexeypetrov61556 ай бұрын
Table также переводится как таблица. Ты чего вообще?
@alexxustube Жыл бұрын
С английским у тебя плоховато. Table - это таблица. Ты путаешь контексты, поэтому для тебя не логично. Всё равно спасибо за уроки
@ДаниилДанилевский-ч5б2 жыл бұрын
А как быть, если при нажатии на Save приложение вылетает? А выражение cursor.getColumnIndex(MyDbClass.COLUMN_NAME_TITLE) подчеркивает красным?
@ЄгорКовальов-ь6н2 жыл бұрын
та же проблема😥
@myangel3852 жыл бұрын
Здравствуйте, у вас на сайте, есть данный проект в готовом варианте ? Где-то у меня ошибка не могу разобраться вот ошибка 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" }
@myangel3852 жыл бұрын
думаю мб как-то записалась таблица уже с таким значение и не дает запустить приложение больше. Хотя я и менял версию и удалял приложение и менял имя таблицы