Room ma'lumotlar bazasidan foydalanish Ishning maqsadi: Xona ma'lumotlar bazasi bilan ishlashni o'rganish
Nazariy qism.
Room — bu Android arxitektura komponentlarining bir qismi bo'lgan kutubxona. Qatlamlar sonini kamaytirish va kompilyatsiya vaqtida SQL so'rovlarini tekshirish orqali ilovada SQLiteDatabase ob'ektlari bilan ishlashni osonlashtiradi..
Ma'lumotlarni saqlash uchun SQLite -dan foydalanadigan Android loyihasi allaqachon mavjudmi? Agar shunday bo'lsa, uni xonaga ko'chirishingiz mumkin. Keling, mavjud loyihani qanday amalga oshirish va uni 7 ta oson qadamda Xonadan foydalanish uchun qayta ishlashni ko'rib chiqaylik..
TL; DR: gradusli bog'liqliklarni yangilang, sizning sub'ektlaringizni, DAO va ma'lumotlar bazasini yarating, SQLiteDatabase -ga qo'ng'iroqlarni DAO usullariga qo'ng'iroqlar bilan almashtiring, siz yaratgan yoki o'zgartirgan hamma narsani sinab ko'ring va ishlatilmagan sinflarni olib tashlang. Hammasi shu!
Namunaviy migratsiya ilovasida biz User turidagi ob'ektlar bilan ishlaymiz.
sqlite — SQLiteOpenHelper va an'anaviy SQLite interfeyslaridan foydalanadi.
room — amalga oshirishni Xona bilan almashtiradi va migratsiyani ta'minlaydi.
Har bir variant MVP modeli tufayli UserRepository klassi bilan ishlaydigan bir xil foydalanuvchi interfeysi qatlamidan foydalanadi.
Sqlite variantida siz tez -tez takrorlanadigan va UsersDbHelper va LocalUserDataSource sinflarida ma'lumotlar bazasidan foydalanadigan juda ko'p kodni ko'rasiz. So'rovlar ContentValues yordamida tuziladi va Kursor ob'ektlari tomonidan qaytarilgan ma'lumotlar ustunlar ustidan o'qiladi. Bu kodlarning barchasi aniq xatolarga yordam beradi. Masalan, siz so'rovga ustun qo'shishni o'tkazib yuborishingiz yoki ob'ektni ma'lumotlar bazasidan noto'g'ri yig'ishingiz mumkin..
Keling, Room kodimizni qanday yaxshilashini ko'rib chiqaylik. Dastlab, biz faqat sinflarni sqlite variantidan nusxa ko'chiramiz va asta -sekin o'zgartiramiz.
Qadam 1. gradusga bog'liqliklarni yangilash
|