Database Inspector: bu nədir, SQLite ilə necə işləmək və Room-u yoxlamaq

Müəllif: IT Sectr Dərc olunub: 2026-05-07 Oxuma vaxtı: 8 dəq

Android Studio-da Database Inspector — mobil tətbiqin SQLite verilənlər bazalarına real vaxtda baxmaq və yoxlamaq üçün quraşdırılmış alətdir. Android Developers (2025) rəsmi sənədlərinə görə, alət aktiv bazaya SQL sorğuları yerinə yetirməyə, cədvəl strukturuna baxmağa və tətbiqi dayandırmadan qeydləri redaktə etməyə imkan verir. Alət Room, SQLiteOpenHelper və istənilən in-app verilənlər bazalarını dəstəkləyir, profilləşdirmə işə salındıqda onları avtomatik aşkarlayır.

Əsas məqamlar

  • Database Inspector — Android Studio-nun tətbiqin SQLite verilənlər bazalarına real vaxtda baxmaq və sorğular yerinə yetirmək üçün komponentidir
  • Room dəstəyi — Room ilə tam inteqrasiya, o cümlədən DAO sorğularına baxmaq və verilənlər bazasında dəyişiklikləri izləmək
  • Məlumat redaktəsi — inspektor interfeysindən birbaşa cədvəl xanalarının dəyərlərini dəyişdirmək, tətbiqdə dərhal əks olunmaqla
  • SQL icrası — JOIN, GROUP BY və alt sorğular daxil olmaqla ixtiyari SQL sorğuları yazmaq və yerinə yetirmək imkanı
  • Baza ixracı — verilənlər bazasının dumpını analiz üçün kompüterə saxlamaq və ya həmkarlara ötürmək

Database Inspector nədir?

Database Inspector — Android Studio-da mobil tətbiqdə yerli verilənlər bazalarını yoxlamaq və ayıklamaq üçün alətdir. O, tətbiq tərəfindən yaradılmış bütün SQLite verilənlər bazalarını, o cümlədən Room, SQLiteOpenHelper və üçüncü tərəf kitabxanalarının bazalarını görməyə imkan verir. Alət Android Studio 4.1-dən etibarən mövcuddur və Android Profiler və ya birbaşa View menyusundan işə salınır.

Təyinat və imkanlar

Database Inspector-un əsas vəzifəsi inkişaf prosesində məlumatların vizuallaşdırılmasıdır Baza məzmununu logda çıxarmaq və ya məlumatlara baxmaq üçün ayrıca ekran yazmaq əvəzinə, proqramçı Database Inspector-u açıb dərhal bütün cədvəlləri, onların sxemini və məzmununu görə bilər. Alət həm relasiyalı SQLite bazalarını, həm də Auto-miqrasiyalı Room-u dəstəkləyir.

Database Inspector-dan nə vaxt istifadə etməli

Alət əməliyyat yerinə yetirildikdən sonra məlumatların düzgün saxlanmasını yoxlamaq lazım olduqda əvəzolunmazdır: istifadəçi qeydiyyatı, serverlə sinxronizasiya, siyahıların keşləşdirilməsi. Test UI yazmaq əvəzinə baza dumpı Database Inspector vasitəsilə baxılır. Alət həmçinin Room miqrasiyalarını ayıklamaq üçün fəal istifadə olunur — sxem hər yenilənməsindən sonra cədvəllərin aktual sxemini görmək olar.

Database Inspector necə işləyir

Database Inspector Android tətbiqinin prosesinə qoşulur Android Profiler Service vasitəsilə. O, tətbiqdəki bütün açıq SQLite birləşmələrini aşkarlayır və onları yan paneldə göstərir. İşləmək üçün API Level 26 (Android 8.0) və daha yüksək olan Debug quruluşu tələb olunur.

Arxitektura və iş mexanizmi

Database Inspector işə salındıqda cihazdakı tətbiq ilə kompüterdəki IDE arasında ADB tuneli yaradır. Verilənlər bazasının SQLite WAL (Write-Ahead Logging) faylları məzmunu göstərmək üçün bu tunel vasitəsilə ötürülür. SQL əmrləri Room və SQLiteDatabase-də Database Inspector dəstəyi vasitəsilə birbaşa tətbiqin SQLite mühərrikinə göndərilir. Alət avtomatik olaraq tətbiqin verilənlər bazasını açdığı anı müəyyən edir və onu yoxlanılan bazalar siyahısına əlavə edir.

Mühit tələbləri

Database Inspector-un düzgün işləməsi üçün tələb olunur: Android Studio 4.1+, API Level 26+ olan cihaz və ya emulator, tətbiqin Debug quruluşu. Room üçün əlavə olaraq room-runtime kitabxanası versiya 2.2+ tələb olunur. Əgər verilənlər bazası WAL rejimində yaradılıbsa ki, bu Room 2.2+ üçün standartdır, alət əsas tətbiqi bloklamadan məlumatları oxuya bilər.

kotlin
// Database Inspector tərəfindən dəstəklənən Room verilənlər bazası nümunəsi
@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-un əsas imkanları

Database Inspector yerli məlumatlarla işləmək üçün tam funksiya dəsti təmin edir: cədvəl sxeminə baxmaqdan tutmuş mürəkkəb SQL sorğuları yerinə yetirmək və qeydləri redaktə etməyə qədər.

Cədvəllərə və sxemə baxmaq

Sol paneldə bütün verilənlər bazaları və cədvəllər göstərilir. Cədvəl seçildikdə onun məzmunu sütunları olan cədvəl şəklində açılır: bütün qeyd sahələri sütun kimi göstərilir, hər sətir ayrıca qeyddir. Cədvəlin sxemi (ad, tip, məhdudiyyətlər) yuxarıda göstərilir. Xarici açarlar üçün cədvəllər arasında əlaqələr göstərilir.

Məlumat növüSQLite növüRoom növüNümunə
Tam ədədINTEGERInt, Long42
SətirTEXTString“John”
Kəsirli ədədREALDouble, Float3.14
İkili məlumatBLOBByteArray[0x00, 0x01]
Tarix/vaxtINTEGER (Unix epoch)Long, Date1720000000

SQL sorğularının yerinə yetirilməsi

Query vərəqi seçilmiş verilənlər bazasına birbaşa ixtiyari SQL əmrləri yerinə yetirməyə imkan verir. SELECT, INSERT, UPDATE, DELETE, CREATE INDEX, JOIN və SQLite-in istənilən digər operatorları dəstəklənir. Nəticələr sorğu redaktorunun altında cədvəl şəklində göstərilir. Sorğu tarixçəsi sessiya ərzində saxlanılır.

Qeydlərin redaktəsi

Cədvəl xanalarını birbaşa redaktə etmək olar — sadəcə dəyərin üzərinə klikləyin və yenisini daxil edin. Dəyişikliklər dərhal işləyən tətbiqə tətbiq olunur. Bu, xüsusilə sərhəd hallarını test etmək üçün faydalıdır: məcburi sahəyə null təyin etmək, ID-ni mövcud olmayanla əvəz etmək, uzun sətirlərin işlənməsini yoxlamaq. Bütün dəyişikliklər real vaxtda qeydə alınır.

Database Inspector ilə Room-un yoxlanması

Database Inspector Room ilə dərin inteqrasiyaya malikdir, bu da onu bu kitabxana ilə tətbiqlər hazırlayarkən əvəzolunmaz edir. Standart funksionallıqdan əlavə, inspektor Room üçün spesifik imkanlar təmin edir.

DAO sorğularına baxmaq

Room bazaları üçün Database Inspector hər DAO metodu üçün yaradılmış SQL sorğularını göstərir. Bu, Room-un düzgün SQL yaratdığına əmin olmağa imkan verir, xüsusən JOIN, @Relation və @Transaction ilə mürəkkəb sorğular üçün. Əgər Room səmərəsiz sorğu yerinə yetirirsə (məsələn, bir JOIN əvəzinə N+1 sorğu), bu dərhal Database Inspector sorğu jurnalında görünür.

Miqrasiyaların yoxlanması

AutoMigration və ya əl miqrasiyaları ilə Room sxemi yenilənərkən Database Inspector miqrasiyadan sonra cədvəllərin aktual strukturunu göstərir. Tətbiqi işə saldıqdan sonra inspektoru açıb bütün sütunların, indekslərin və xarici açarların düzgün yaradıldığını yoxlamaq kifayətdir. Əgər miqrasiya xəta ilə başa çatıbsa, verilənlər bazası açılmayacaq — alət son mövcud versiyanı göstərəcək.

Relations və Embedded-in yoxlanması

Room @Relation və @Embedded vasitəsilə çoxsaylı cədvəllərdən məlumatları birləşdirməyə imkan verir. Database Inspector əlaqəli cədvəllərin məlumatlarını yan-yana göstərərək əlaqələrin düzgünlüyünü vizual yoxlamağa kömək edir. Hər xarici açar üçün bir kliklə əlaqəli cədvələ keçmək olar.

kotlin
// Database Inspector vasitəsilə yoxlamaq üçün Relation ilə 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 istifadənin praktik ssenariləri

Database Inspector yerli məlumat saxlama ilə işləyərkən yaranan konkret proqramlaşdırma tapşırıqlarını həll edir. Gündəlik işdə alətdən istifadənin ən çox yayılmış ssenarilərinə baxaq.

Məlumat keşləşdirilməsinin yoxlanması

Tez-tez tətbiq API cavablarını yerli verilənlər bazasında keşləşdirir. Database Inspector keşləşdirmənin düzgünlüyünə əmin olmağa imkan verir: sinxronizasiya yerinə yetirildikdən sonra keş cədvəlində aktual qeydləri görmək olar. Əgər məlumatlar görünmədisə — problem saxlama kodundadır. Əgər dublikatlar göründüsə — problem upsert məntiqindədir.

Məlumat daxiletmə xətalarının yoxlanması

DAO metodu məlumatları saxlamadıqda, lakin istisna atmadıqda, Database Inspector cədvəlin aktual vəziyyətini göstərir. Tipik səbəblər: Primary Key konflikti (OnConflictStrategy qəbulu), sütunda yanlış məlumat növü, NOT NULL məhdudiyyətlərinin pozulması və ya Foreign Key violation. İnspektor əməliyyatdan əvvəl və sonra baza dəyişikliklər dəstini görməyə imkan verir. DAO çağırışından əvvəl və sonra məlumat anlıq görüntülərinin müqayisəsi — mürəkkəb yazma əməliyyatlarında tranzaksiya xətalarını ayıklamaq və tətbiqin biznes məntiqinin düzgünlüyünü yoxlamaq üçün ən effektiv üsullardan biridir.

Verilənlər bazası sxeminin refaktorinqi

Cədvəl sxemi dəyişdirilərkən — sütunlar əlavə edilərkən, sahələrin adı dəyişdirilərkən, cədvəllər bölünərkən — Database Inspector miqrasiya nəticəsini yoxlamağa kömək edir. Baza yeni versiyası ilə tətbiqi işə salıb bütün məlumatların yeni struktura düzgün köçürüldüyünə əmin olmaq kifayətdir. Əgər miqrasiyadan sonra məlumatlar yoxa çıxıbsa, onları refaktorinqdən əvvəl saxlanmış dumpdan bərpa etmək olar. Bu ssenari xüsusilə SQLiteOpenHelper-dən Room-a keçərkən və ya tətbiqin yeni versiyasında mövcud cədvəllərin strukturunu dəyişdirərkən aktualdır.

Sorğuların performansının monitorinqi

Database Inspector həmçinin SQL sorğularının performansını qiymətləndirmək üçün istifadə oluna bilər. Query vərəqi vasitəsilə SELECT yerinə yetirib cavab müddətini ölçməklə, indeksləri çatışmayan sorğuları aşkarlamaq olar. Room avtomatik olaraq yavaş sorğuları Logcat-də SLOW SQL qeydi ilə jurnal edir və Database Inspector dərhal icra planını təhlil etmək üçün EXPLAIN QUERY PLAN yerinə yetirməyə imkan verir.

Tez-tez verilən suallar

Niyə Database Inspector mənim verilənlər bazamı görmür?

Tətbiqin Debug rejimində işə salındığına və cihazın API Level-inin 26 və ya daha yüksək olduğuna əmin olun. Əgər baza ayrıca prosesdə və ya SQLCipher (şifrələmə) istifadə edərək yaradılıbsa, Database Inspector onu aşkarlaya bilməz. SQLCipher üçün şifrələməsiz köməkçi debug-bazasından istifadə edin.

Database Inspector vasitəsilə məlumatları redaktə etmək olar?

Bəli, məlumat redaktəsi birbaşa cədvəl xanalarında mümkündür. Dəyərin üzərində iki dəfə klikləmək onu dəyişməyə imkan verir. Dəyişikliklər dərhal işləyən tətbiqin verilənlər bazasına tətbiq olunur. Yeni qeydlər əlavə etmək üçün Query vərəqi vasitəsilə INSERT SQL sorğusundan istifadə edin.

Database Inspector Realm verilənlər bazalarını dəstəkləyir?

Xeyr, Database Inspector Realm-i dəstəkləmir, çünki Realm SQLite istifadə etmir. Realm-i ayıklamaq üçün Realm Object Server, Realm Studio və ya tətbiqdə loglamadan istifadə edin. MongoDB Realm SDK üçün macOS, Windows və Linux üçün öz Realm Studio aləti mövcuddur.

Database Inspector-dan verilənlər bazasını necə ixrac etmək olar?

Database Inspector verilənlər bazasını tamamilə ixrac etməyə imkan verir. Siyahıda baza adının üzərinə sağ klikləyin və Export Database seçin. .db faylı kompüterə yaddaşalınacaq. Baxmaq üçün istənilən SQLite brauzerindən, məsələn DB Browser for SQLite-dən istifadə edin.

Database Inspector tətbiqin performansına təsir edirmi?

Google-un məlumatına görə, yük minimaldır — Database Inspector verilənlər bazasının WAL fayllarını oxuyur, yazmanı bloklamır. İstifadəçi SQL sorğularının yerinə yetirilməsi bazanı müvəqqəti yükləyə bilər, lakin bu proqramçı tərəfindən idarə olunur. Production quruluşları üçün alət avtomatik söndürülür.

Nəticə

  • Database Inspector — Android Studio-ya quraşdırılmış, tətbiqin SQLite verilənlər bazalarına real vaxtda baxmaq və redaktə etmək üçün alətdir
  • Room dəstəyi DAO sorğularına baxmaq, miqrasiyaları ayıklamaq və @Relation və @Embedded-i yoxlamaq daxildir
  • SQL sorğularının icrası Query vərəqi vasitəsilə bütün SQLite operatorları dəstəyi və tarixçənin saxlanması ilə
  • Real vaxt redaktəsi xana dəyərlərini dəyişdirməyə və nəticəni işləyən tətbiqdə dərhal görməyə imkan verir
  • Verilənlər bazasının ixracı .db faylına xarici alətlərdə analiz və ya həmkarlara ötürmək üçün
  • İşləmək üçün Android Studio 4.1+, Debug quruluşu və API Level 26+ tələb olunur — alət bazanı göstərmirsə, bu tələbləri yoxlayın
  • Yerli məlumat saxlama ilə bağlı funksiyalar hazırlanarkən Database Inspector-dan müntəzəm istifadə edin — bu ayıklamanı dəfələrlə sürətləndirir

Açar təslim mobil tətbiq hazırlayacağıq

IT Sectr 2017-ci ildən startaplar və bizneslər üçün iOS və Android tətbiqləri yaradır. Sizə məsləhət verəcəyik və ən yaxşı həlli təklif edəcəyik.

Layihəni müzakirə et

Həm də oxuyun