Database Inspector: bu nima, SQLite bilan qanday ishlash va Room-ni tuzatish

Muallif: IT Sectr Nashr etilgan: 2026-05-07 O'qish vaqti: 8 daq

Android Studio-dagi Database Inspector — mobil ilovaning SQLite ma'lumotlar bazalarini real vaqtda ko'rish va tuzatish uchun o'rnatilgan vositadir. Android Developers (2025) rasmiy hujjatlariga ko'ra, vosita faol bazaga SQL so'rovlarini bajarish, jadval tuzilishini ko'rish va ilovani to'xtatmasdan yozuvlarni tahrirlash imkonini beradi. Vosita Room, SQLiteOpenHelper va har qanday in-app ma'lumotlar bazalarini qo'llab-quvvatlaydi, profiling ishga tushirilganda ularni avtomatik aniqlaydi.

Asosiy ma'lumotlar

  • Database Inspector — Android Studio-ning ilova SQLite ma'lumotlar bazalarini real vaqtda ko'rish va so'rovlar bajarish imkoniyatiga ega komponenti
  • Room qo'llab-quvvatlashi — Room bilan to'liq integratsiya, jumladan DAO so'rovlarini ko'rish va ma'lumotlar bazasidagi o'zgarishlarni kuzatish
  • Ma'lumotlarni tahrirlash — inspektor interfeysidan to'g'ridan-to'g'ri jadval kataklari qiymatlarini o'zgartirish, ilovada darhol aks etishi bilan
  • SQL bajarish — JOIN, GROUP BY va pastki so'rovlar kabi ixtiyoriy SQL so'rovlarini yozish va bajarish imkoniyati
  • Bazani eksport qilish — ma'lumotlar bazasi dumpini tahlil qilish yoki hamkasblarga uzatish uchun kompyuterga saqlash

Database Inspector nima?

Database Inspector — Android Studio-da mobil ilovadagi mahalliy ma'lumotlar bazalarini tekshirish va tuzatish uchun vositadir. U ilova tomonidan yaratilgan barcha SQLite ma'lumotlar bazalarini, jumladan Room, SQLiteOpenHelper va uchinchi tomon kutubxonalari bazalarini ko'rish imkonini beradi. Vosita Android Studio 4.1 dan boshlab mavjud va Android Profiler yoki to'g'ridan-to'g'ri View menyusidan ishga tushiriladi.

Maqsad va imkoniyatlar

Database Inspector-ning asosiy vazifasi ishlab chiqish jarayonida ma'lumotlarni vizuallashtirishdir Baza mazmunini logda chiqarish yoki ma'lumotlarni ko'rish uchun alohida ekran yozish o'rniga, dasturchi Database Inspector-ni ochib, darhol barcha jadvallar, ularning sxemasi va mazmunini ko'rishi mumkin. Vosita ham relatsion SQLite bazalarini, ham Auto-migratsiyali Room-ni qo'llab-quvvatlaydi.

Database Inspector-dan qachon foydalanish kerak

Vosita operatsiyadan so'ng ma'lumotlarning to'g'ri saqlanganligini tekshirish kerak bo'lgan stsenariylarda ajralmas hisoblanadi: foydalanuvchi ro'yxatdan o'tishi, server bilan sinxronizatsiya, ro'yxatlarni keshlash. Test UI yozish o'rniga baza dumpi Database Inspector orqali ko'riladi. Vosita, shuningdek, Room migratsiyalarini tuzatish uchun faol qo'llaniladi — sxema har yangilanishidan so'ng jadvallarning joriy sxemasini ko'rish mumkin.

Database Inspector qanday ishlaydi

Database Inspector Android ilovasining jarayoniga ulanadi Android Profiler Service orqali. U ilovadagi barcha ochiq SQLite ulanishlarini aniqlaydi va ularni yon panelda ko'rsatadi. Ishlash uchun API Level 26 (Android 8.0) va undan yuqori bo'lgan Debug qurilishi talab qilinadi.

Arxitektura va ishlash mexanizmi

Database Inspector ishga tushirilganda qurilmadagi ilova va kompyuterdagi IDE o'rtasida ADB tunnelini yaratadi. Ma'lumotlar bazasining SQLite WAL (Write-Ahead Logging) fayllari mazmunni ko'rsatish uchun ushbu tunnel orqali uzatiladi. SQL buyruqlari Room va SQLiteDatabase-dagi Database Inspector qo'llab-quvvatlashi orqali to'g'ridan-to'g'ri ilovaning SQLite mexanizmiga yuboriladi. Vosita avtomatik ravishda ilova ma'lumotlar bazasini ochgan momentni aniqlaydi va uni tekshirilayotgan bazalar ro'yxatiga qo'shadi.

Muhit talablari

Database Inspector-ning to'g'ri ishlashi uchun talab qilinadi: Android Studio 4.1+, API Level 26+ bo'lgan qurilma yoki emulyator, ilovaning Debug qurilishi. Room uchun qo'shimcha ravishda room-runtime kutubxonasi 2.2+ versiyasi talab qilinadi. Agar ma'lumotlar bazasi WAL rejimida yaratilgan bo'lsa, bu Room 2.2+ uchun standart, vosita asosiy ilovani bloklamasdan ma'lumotlarni o'qiy oladi.

kotlin
// Database Inspector tomonidan qo'llab-quvvatlanadigan Room ma'lumotlar bazasi namunasi
@Database(
    entities = [User::class, Order::class],
    version = 2,
    autoMigrations = [AutoMigration(from = 1, to = 2)]
)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
    abstract fun orderDao(): OrderDao
}

Database Inspector-ning asosiy imkoniyatlari

Database Inspector mahalliy ma'lumotlar bilan ishlash uchun to'liq funksiyalar to'plamini taqdim etadi: jadval sxemasini ko'rishdan murakkab SQL so'rovlarini bajarish va yozuvlarni tahrirlashgacha.

Jadvallar va sxemani ko'rish

Chap panelda barcha ma'lumotlar bazalari va jadvallar ko'rsatiladi. Jadval tanlanganda uning mazmuni ustunli jadval shaklida ochiladi: barcha yozuv maydonlari ustun sifatida ko'rsatiladi, har bir qator alohida yozuvdir. Jadval sxemasi (nomi, turi, cheklovlari) yuqorida ko'rsatiladi. Tashqi kalitlar uchun jadvallar orasidagi bog'lanishlar ko'rsatiladi.

Ma'lumot turiSQLite turiRoom turiMisol
Butun sonINTEGERInt, Long42
SatrTEXTString“John”
Kasr sonREALDouble, Float3.14
Ikkilik ma'lumotBLOBByteArray[0x00, 0x01]
Sana/vaqtINTEGER (Unix epoch)Long, Date1720000000

SQL so'rovlarini bajarish

Query varog'i tanlangan ma'lumotlar bazasiga to'g'ridan-to'g'ri ixtiyoriy SQL buyruqlarini bajarish imkonini beradi. SELECT, INSERT, UPDATE, DELETE, CREATE INDEX, JOIN va SQLite-ning boshqa barcha operatorlari qo'llab-quvvatlanadi. Natijalar so'rov muharriri ostida jadval shaklida ko'rsatiladi. So'rov tarixi sessiya davomida saqlanadi.

Yozuvlarni tahrirlash

Jadval kataklarini to'g'ridan-to'g'ri tahrirlash mumkin — qiymatni bosib yangisini kiritish kifoya. O'zgarishlar darhol ishlayotgan ilovaga qo'llaniladi. Bu, ayniqsa, chegara holatlarini sinash uchun foydalidir: majburiy maydonga null o'rnatish, ID ni mavjud bo'lmaganiga almashtirish, uzun satrlarni qayta ishlashni tekshirish. Barcha o'zgarishlar real vaqtda qayd etiladi.

Database Inspector bilan Room-ni tuzatish

Database Inspector Room bilan chuqur integratsiyaga ega, bu uni ushbu kutubxona bilan ilovalar ishlab chiqishda ajralmas qiladi. Standart funksionallikdan tashqari, inspektor Room uchun xos imkoniyatlarni taqdim etadi.

DAO so'rovlarini ko'rish

Room bazalari uchun Database Inspector har bir DAO metodi uchun yaratilgan SQL so'rovlarini ko'rsatadi. Bu Room to'g'ri SQL yaratayotganiga ishonch hosil qilish imkonini beradi, ayniqsa JOIN, @Relation va @Transaction bilan murakkab so'rovlar uchun. Agar Room samarasiz so'rovni bajarsa (masalan, bitta JOIN o'rniga N+1 so'rov), bu darhol Database Inspector so'rov jurnalida ko'rinadi.

Migratsiyalarni tuzatish

AutoMigration yoki qo'lda migratsiyalar bilan Room sxemasi yangilanayotganda, Database Inspector migratsiyadan so'ng jadvallarning joriy tuzilishini ko'rsatadi. Ilovani ishga tushirgandan so'ng inspektorni ochib, barcha ustunlar, indekslar va tashqi kalitlar to'g'ri yaratilganligini tekshirish kifoya. Agar migratsiya xato bilan tugagan bo'lsa, ma'lumotlar bazasi ochilmaydi — vosita oxirgi mavjud versiyani ko'rsatadi.

Relations va Embedded-ni tekshirish

Room @Relation va @Embedded orqali bir nechta jadvallardan ma'lumotlarni birlashtirish imkonini beradi. Database Inspector bog'liq jadvallar ma'lumotlarini yonma-yon ko'rsatib, bog'lanishlarning to'g'riligini vizual tekshirishga yordam beradi. Har bir tashqi kalit uchun bir marta bosish bilan bog'liq jadvalga o'tish mumkin.

kotlin
// Database Inspector orqali tekshirish uchun Relation bilan Entity
@Entity(tableName = "users")
data class User(
    @PrimaryKey val id: Int,
    val name: String
)

data class UserWithOrders(
    @Embedded val user: User,
    @Relation(parentColumn = "id", entityColumn = "user_id")
    val orders: List<Order>
)

Database Inspector-dan foydalanishning amaliy stsenariylari

Database Inspector mahalliy ma'lumotlarni saqlash bilan ishlashda yuzaga keladigan aniq dasturlash vazifalarini hal qiladi. Keling, kundalik ishda vositadan foydalanishning eng keng tarqalgan stsenariylarini ko'rib chiqaylik.

Ma'lumotlarni keshlashni tekshirish

Ko'pincha ilova API javoblarini mahalliy ma'lumotlar bazasida keshlaydi. Database Inspector keshlashning to'g'riligiga ishonch hosil qilish imkonini beradi: sinxronizatsiya amalga oshirilgandan so'ng keshlash jadvalidagi joriy yozuvlarni ko'rish mumkin. Agar ma'lumotlar ko'rinmasa — muammo saqlash kodida. Agar dublikatlar paydo bo'lsa — muammo upsert mantiqida.

Ma'lumot kiritish xatolarini tuzatish

DAO metodi ma'lumotlarni saqlamasa, lekin istisno tashlamasa, Database Inspector jadvalning joriy holatini ko'rsatadi. Oddiy sabablar: Primary Key konflikti (OnConflictStrategy sozlamasi), ustunda noto'g'ri ma'lumot turi, NOT NULL cheklovlarini buzish yoki Foreign Key violation. Inspektor operatsiyadan oldin va keyin baza o'zgarishlar to'plamini ko'rish imkonini beradi. DAO chaqiruvidan oldin va keyin ma'lumotlar lahzalik tasvirlarini taqqoslash — murakkab yozish operatsiyalarida tranzaksiya xatolarini tuzatish va ilovaning biznes mantig'ining to'g'riligini tekshirishning eng samarali usullaridan biridir.

Ma'lumotlar bazasi sxemasini refaktoring qilish

Jadval sxemasi o'zgartirilayotganda — ustunlar qo'shilganda, maydonlar nomi o'zgartirilganda, jadvallar bo'linganda — Database Inspector migratsiya natijasini tekshirishga yordam beradi. Baza yangi versiyasi bilan ilovani ishga tushirib, barcha ma'lumotlarning yangi tuzilishga to'g'ri ko'chirilganligiga ishonch hosil qilish kifoya. Agar migratsiyadan so'ng ma'lumotlar yo'qolgan bo'lsa, ularni refaktoringdan oldin saqlangan dumpdan tiklash mumkin. Bu stsenariy, ayniqsa, SQLiteOpenHelper-dan Room-ga o'tishda yoki ilovaning yangi versiyasida mavjud jadvallar tuzilishini o'zgartirishda dolzarbdir.

So'rovlar unumdorligini monitoring qilish

Database Inspector, shuningdek, SQL so'rovlarining unumdorligini baholash uchun ishlatilishi mumkin. Query varog'i orqali SELECT bajarib, javob vaqtini o'lchash orqali indekslari yetishmaydigan so'rovlarni aniqlash mumkin. Room avtomatik ravishda sekin so'rovlarni Logcat-da SLOW SQL belgisi bilan qayd qiladi va Database Inspector darhol bajarish rejasini tahlil qilish uchun EXPLAIN QUERY PLAN bajarish imkonini beradi.

Tez-tez beriladigan savollar

Nega Database Inspector mening ma'lumotlar bazamni ko'rmaydi?

Ilova Debug rejimida ishga tushirilganligiga va qurilmaning API Level 26 yoki undan yuqori ekanligiga ishonch hosil qiling. Agar baza alohida jarayonda yoki SQLCipher (shifrlash) yordamida yaratilgan bo'lsa, Database Inspector uni aniqlay olmasligi mumkin. SQLCipher uchun shifrlanmagan yordamchi debug-bazasidan foydalaning.

Database Inspector orqali ma'lumotlarni tahrirlash mumkinmi?

Ha, ma'lumotlarni tahrirlash to'g'ridan-to'g'ri jadval kataklarida mumkin. Qiymatni ikki marta bosish uni o'zgartirish imkonini beradi. O'zgarishlar darhol ishlayotgan ilovaning ma'lumotlar bazasiga qo'llaniladi. Yangi yozuvlarni qo'shish uchun Query varog'i orqali INSERT SQL so'rovidan foydalaning.

Database Inspector Realm ma'lumotlar bazalarini qo'llab-quvvatlaydimi?

Yo'q, Database Inspector Realm-ni qo'llab-quvvatlamaydi, chunki Realm SQLite dan foydalanmaydi. Realm-ni tuzatish uchun Realm Object Server, Realm Studio yoki ilovada loglashdan foydalaning. MongoDB Realm SDK uchun macOS, Windows va Linux uchun o'zining Realm Studio vositasi mavjud.

Database Inspector-dan ma'lumotlar bazasini qanday eksport qilish mumkin?

Database Inspector ma'lumotlar bazasini to'liq eksport qilish imkonini beradi. Ro'yxatdagi baza nomini o'ng tugmasini bosib, Export Database ni tanlang. .db fayli kompyuterga saqlanadi. Ko'rish uchun istalgan SQLite brauzeridan, masalan DB Browser for SQLite dan foydalaning.

Database Inspector ilova unumdorligiga ta'sir qiladimi?

Google ma'lumotlariga ko'ra, yuk minimal — Database Inspector ma'lumotlar bazasining WAL fayllarini o'qiydi, yozishni bloklamaydi. Foydalanuvchi SQL so'rovlarini bajarish bazani vaqtincha yuklashi mumkin, ammo bu dasturchi tomonidan nazorat qilinadi. Production qurilishlari uchun vosita avtomatik o'chiriladi.

Xulosa

  • Database Inspector — Android Studio-ga o'rnatilgan, ilovaning SQLite ma'lumotlar bazalarini real vaqtda ko'rish va tahrirlash vositasi
  • Room qo'llab-quvvatlashi DAO so'rovlarini ko'rish, migratsiyalarni tuzatish va @Relation va @Embedded-ni tekshirishni o'z ichiga oladi
  • SQL so'rovlarini bajarish Query varog'i orqali barcha SQLite operatorlari qo'llab-quvvatlashi va tarixni saqlash bilan
  • Real vaqtda tahrirlash katak qiymatlarini o'zgartirish va natijani ishlayotgan ilovada darhol ko'rish imkonini beradi
  • Ma'lumotlar bazasini eksport qilish .db fayliga tashqi vositalarda tahlil qilish yoki hamkasblarga uzatish uchun
  • Ishlash uchun Android Studio 4.1+, Debug qurilishi va API Level 26+ talab qilinadi — vosita bazani ko'rsatmasa, ushbu talablarni tekshiring
  • Mahalliy ma'lumotlarni saqlash bilan bog'liq funksiyalarni ishlab chiqishda Database Inspector-dan muntazam foydalaning — bu tuzatishni bir necha barobar tezlashtiradi

Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz

IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.

Loyihani muhokama qilish

Shuningdek o'qing