ContentValues. Qo'shish yoki yangilash uchun biz ContentValues ob'ektini yaratishimiz kerak. Bu ob'ekt kalit-qiymat juftlarini o'z ichiga olgan lug'atni ifodalaydi. put usuli bu lug'atga yangi ob'ekt qo'shish uchun ishlatiladi. Usulning birinchi parametri - kalit, ikkinchisi - qiymat, masalan:
ContentValues cv = new ContentValues(); cv.put("NAME", "Tom"); cv.put("YEAR", 30);
Siz put usuliga satrlarni, butun sonlarni, suzuvchi nuqta raqamlarini qiymat sifatida o'tkazishingiz mumkin.
Bunday holda, matn maydoniga kiritilgan qiymatlar qo'shiladi:
ContentValues cv = new ContentValues(); cv.put(DatabaseHelper.COLUMN_NAME, nameBox.getText().toString()); cv.put(DatabaseHelper.COLUMN_YEAR, Integer.parseInt(yearBox.getText().toString()));
Yangilash paytida update() usuli jadvalning nomi, ContentValues ob'ekti va yangilanish sodir bo'ladigan mezonga o'tkaziladi (bu holda id ustuni):
insert() usuli jadval nomini, qo'shilgan qiymatlarga ega bo'lgan ContentValues ob’yektini qabul qiladi. Ikkinchi parametr ixtiyoriy: u NULL qiymat qo'shmoqchi bo'lgan ustundan o'tadi:
db.insert(DatabaseHelper.TABLE, null, cv);
Bu usullar o'rniga, oldingi mavzuda bo'lgani kabi, execSQL() usulini ishlatib, sql ifodasini aniq ko'rsatib berish mumkin. Shu bilan birga, delete/insert/update usullarining afzalliklari bor - ular o'zgartirilgan yozuvning id ni qaytaradi, bu orqali biz operatsiyaning muvaffaqiyati haqida bilib olamiz, yoki muvaffaqiyatsiz bajarilgan taqdirda -1:
long result = db.insert(DatabaseHelper.TABLE, null, cv); if(result>0){ // amallar }
Har bir operatsiyadan so'ng, asosiy activity ga qaytadigan goHome() usuli bajariladi.
Shundan so'ng, MainActivity kodini UserActivity da kod bajarilishini boshlashi uchun tuzatishimiz kerak. Buning uchun activity_main.xml kodini o'zgartiring: