Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent




Download 2,42 Mb.
bet12/16
Sana15.05.2024
Hajmi2,42 Mb.
#236485
1   ...   8   9   10   11   12   13   14   15   16
Bog'liq
Mobil 3

E'tibor bering: silliq ko'chish uchun, asl dasturdagi jadval va ustun nomlariga katta e'tibor bering va ularni @Entity va @ColumnInfo izohlarida to'g'ri o'rnatganingizga ishonch hosil qiling..


3 -qadam. Ma'lumotlarga kirish ob'ektlarini yaratish (DAO)
DAO ma'lumotlar bazasiga kirish usullarini aniqlash uchun javobgardir. SQLite loyihamizning dastlabki bajarilishida ma'lumotlar bazasi bo'yicha barcha so'rovlar LocalUserDataSource sinfida bajarilgan, u erda biz kursor ob'ektlari bilan ishlaganmiz. Xonada bizga kursor bilan bog'liq barcha kodlar kerak emas va biz UserDao sinfidagi izohlar yordamida so'rovlarimizni aniqlashimiz mumkin.
Masalan, ma'lumotlar bazasidan barcha foydalanuvchilarni so'raganda, Room hamma "mashaqqatli ishni" bajaradi va biz faqat yozishimiz kerak:


@Query(“SELECT * FROM Users”) List getUsers();


Qadam 4. Ma'lumotlar bazasini yaratish

Biz allaqachon foydalanuvchilar jadvalini va tegishli so'rovlarni aniqladik, lekin biz bu Xonaning barcha komponentlarini birlashtiradigan ma'lumotlar bazasini yaratmaganmiz. Buning uchun biz RoomDatabase -ni kengaytiradigan mavhum sinfni aniqlashimiz kerak. Bu sinf @Database bilan belgilanadi va ma'lumotlar bazasida joylashgan ob'ektlar va ularga havola qilinadigan DAOlar ro'yxatini ko'rsatadi. Ma'lumotlar bazasi versiyasi asl qiymatiga nisbatan 1 taga ko'paytirilishi kerak, shuning uchun bizda 2 bo'ladi.






@Database(entities = {User.class}, version = 2) @TypeConverters(DateConverter.class)
public abstract class UsersDatabase extends RoomDatabase { private static UsersDatabase INSTANCE;
public abstract UserDao userDao();

Biz foydalanuvchi ma'lumotlarini saqlamoqchi bo'lganimiz uchun, biz Xonaga 1 -dan 2 -versiyaga o'tish paytida nima qilish kerakligini ko'rsatadigan


Migratsiya sinfini joriy etishimiz kerak. Bizning holda, ma'lumotlar bazasi sxemasi o'zgarmaganligi uchun, biz faqat bo'sh joy beramiz. amalga oshirish:


static final Migration MIGRATION_1_2 = new Migration(1, 2) { @Override
public void migrate(SupportSQLiteDatabase database) {
// Поскольку мы не изменяли таблицу, здесь больше ничего не нужно делать.
}
};

Ma'lumotlar bazasi nomini va ko'chishini aniqlaydigan UsersDatabase sinfida ma'lumotlar bazasi ob'ektini yarating::


database = Room.databaseBuilder(context.getApplicationContext(),

UsersDatabase.class, "Sample.db")
.addMigrations(MIGRATION_1_2)
.build();






Download 2,42 Mb.
1   ...   8   9   10   11   12   13   14   15   16




Download 2,42 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Raqamli texnologiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent

Download 2,42 Mb.