Database Inspector: یہ کیا ہے، SQLite کے ساتھ کیسے کام کریں اور Room ڈیبگ کریں

مصنف: IT Sectr اشاعت: 2026-05-07 مطالعے کا وقت: 8 منٹ

Android Studio میں Database Inspector ایک بلٹ ان ٹول ہے جو موبائل ایپلیکیشن کے SQLite ڈیٹا بیس کو ریئل ٹائم میں دیکھنے اور ڈیبگ کرنے کے لیے ہے۔ آفیشل Android Developers دستاویزات (2025) کے مطابق، یہ ٹول فعال ڈیٹا بیس پر SQL کوریز انجام دینے، ٹیبل ڈھانچہ دیکھنے اور ایپلیکیشن کو روکے بغیر ریکارڈ میں ترمیم کرنے کی اجازت دیتا ہے۔ یہ ٹول Room، SQLiteOpenHelper اور کسی بھی in-app ڈیٹا بیس کو سپورٹ کرتا ہے، پروفائلنگ شروع ہونے پر انہیں خود بخود دریافت کرتا ہے۔

اہم نکات

  • Database Inspector Android Studio کا ایک جزو ہے جو کوریز انجام دینے کی صلاحیت کے ساتھ ریئل ٹائم میں ایپلیکیشن کے SQLite ڈیٹا بیس دیکھنے کے لیے ہے
  • Room سپورٹ — Room کے ساتھ مکمل انضمام، جس میں DAO کوریز دیکھنا اور ڈیٹا بیس میں تبدیلیوں کو ٹریک کرنا شامل ہے
  • ڈیٹا میں ترمیم — انسپکٹر انٹرفیس سے براہ راست ٹیبل سیل ویلیوز تبدیل کرنا اور ایپلیکیشن میں فوری عکاسی
  • SQL انجام دینا — JOIN، GROUP BY اور ذیلی کوریز سمیت صوابدیدی SQL کوریز لکھنے اور انجام دینے کی صلاحیت
  • ڈیٹا بیس برآمد — تجزیہ یا ساتھیوں کے ساتھ اشتراک کے لیے کمپیوٹر پر ڈیٹا بیس ڈمپ محفوظ کرنا

Database Inspector کیا ہے؟

Database Inspector موبائل ایپلیکیشن میں مقامی ڈیٹا بیس کا معائنہ اور ڈیبگ کرنے کے لیے Android Studio کا ایک ٹول ہے۔ یہ ایپلیکیشن کے ذریعے بنائے گئے تمام SQLite ڈیٹا بیس دیکھنے کی اجازت دیتا ہے، جس میں Room ڈیٹا بیس، SQLiteOpenHelper اور تیسرے فریق کی لائبریریاں شامل ہیں۔ یہ ٹول Android Studio 4.1 سے دستیاب ہے اور Android Profiler کے ذریعے یا براہ راست View مینو سے لانچ کیا جا سکتا ہے۔

مقصد اور صلاحیتیں

Database Inspector کا بنیادی مقصد ترقی کے دوران ڈیٹا ویژولائزیشن ہے۔ ڈیٹا بیس کے مواد کو لاگ میں آؤٹ پٹ کرنے یا ڈیٹا دیکھنے کے لیے علیحدہ اسکرین لکھنے کے بجائے، ڈویلپر Database Inspector کھول سکتا ہے اور فوری طور پر تمام ٹیبلز، ان کا سکیما اور مواد دیکھ سکتا ہے۔ ٹول رلیشنل SQLite ڈیٹا بیس اور آٹو مائیگریشن کے ساتھ Room دونوں کو سپورٹ کرتا ہے۔

Database Inspector کب استعمال کریں

یہ ٹول ان منظرناموں میں ناگزیر ہے جب آپ کو آپریشن کرنے کے بعد ڈیٹا اسٹوریج کی درستگی کی تصدیق کرنی ہوتی ہے: صارف رجسٹریشن، سرور سنکرونائزیشن، فہرست کیشنگ۔ ٹیسٹ UI لکھنے کے بجائے، ڈیٹا بیس ڈمپ Database Inspector کے ذریعے دیکھا جاتا ہے۔ ٹول Room مائیگریشن کو ڈیبگ کرنے کے لیے بھی فعال طور پر استعمال ہوتا ہے — آپ ہر سکیما اپ ڈیٹ کے بعد اصل ٹیبل سکیما دیکھ سکتے ہیں۔

Database Inspector کیسے کام کرتا ہے

Database Inspector Android Profiler Service کے ذریعے Android ایپلیکیشن کے عمل سے جڑتا ہے۔ یہ ایپلیکیشن میں تمام کھلے SQLite کنکشنز کا پتہ لگاتا ہے اور انہیں سائڈ پینل میں دکھاتا ہے۔ API Level 26 (Android 8.0) اور اس سے اوپر کے ساتھ ایپلیکیشن کی Debug بلڈ ضروری ہے۔

آرکیٹیکچر اور طریقہ کار

لانچ ہونے پر، Database Inspector ڈیوائس پر ایپلیکیشن اور کمپیوٹر پر IDE کے درمیان ایک ADB ٹنل بناتا ہے۔ مواد دکھانے کے لیے SQLite WAL (Write-Ahead Logging) ڈیٹا بیس فائلیں اس ٹنل کے ذریعے سٹریم کی جاتی ہیں۔ SQL کمانڈز Room اور SQLiteDatabase میں Database Inspector کی سپورٹ کے ذریعے براہ راست ایپلیکیشن کے SQLite Engine کو بھیجی جاتی ہیں۔ ٹول خود بخود پتہ لگاتا ہے کہ ایپلیکیشن کب ڈیٹا بیس کھولتی ہے اور اسے معائنہ شدہ فہرست میں شامل کرتا ہے۔

ماحول کی ضروریات

Database Inspector کے صحیح طریقے سے کام کرنے کے لیے، آپ کو چاہیے: Android Studio 4.1+، API Level 26+ والا ڈیوائس یا ایمولیٹر، اور ایپلیکیشن کی Debug بلڈ۔ Room کے لیے، اضافی طور پر room-runtime لائبریری ورژن 2.2+ ضروری ہے۔ اگر ڈیٹا بیس WAL موڈ میں بنایا گیا ہے، جو Room 2.2+ کے لیے معیاری ہے، تو ٹول مرکزی ایپلیکیشن کو بلاک کیے بغیر ڈیٹا پڑھ سکتا ہے۔

kotlin
// Database Inspector کے ذریعے تعاون یافتہ Room ڈیٹا بیس کی مثال
@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 کی اہم خصوصیات

Database Inspector مقامی ڈیٹا کے ساتھ کام کرنے کے لیے فنکشنز کا مکمل سیٹ فراہم کرتا ہے: ٹیبل سکیما دیکھنے سے لے کر پیچیدہ SQL کوریز انجام دینے اور ریکارڈ میں ترمیم کرنے تک۔

ٹیبلز اور سکیما دیکھنا

بائیں پینل میں تمام ڈیٹا بیس اور ٹیبلز دکھائے جاتے ہیں۔ جب کوئی ٹیبل منتخب کی جاتی ہے، تو اس کا مواد کالم والی ٹیبل میں دکھایا جاتا ہے: تمام ریکارڈ فیلڈز کالم کے طور پر دکھائے جاتے ہیں، ہر قطار ایک علیحدہ ریکارڈ ہے۔ ٹیبل سکیما (نام، قسم، پابندیاں) اوپر دکھایا جاتا ہے۔ غیر ملکی کنجیوں کے لیے، ٹیبلز کے درمیان تعلقات دکھائے جاتے ہیں۔

ڈیٹا کی قسمSQLite قسمRoom قسممثال
عدد صحیحINTEGERInt, Long42
سٹرنگTEXTString"John"
اعشاریہ عددREALDouble, Float3.14
بائنری ڈیٹاBLOBByteArray[0x00, 0x01]
تاریخ/وقتINTEGER (Unix epoch)Long, Date1720000000

SQL کوریز انجام دینا

Query ٹیب آپ کو منتخب ڈیٹا بیس پر براہ راست صوابدیدی SQL کمانڈز انجام دینے کی اجازت دیتا ہے۔ SELECT، INSERT، UPDATE، DELETE، CREATE INDEX، JOIN اور کوئی بھی دوسرے SQLite آپریٹرز سپورٹ کیے جاتے ہیں۔ نتائج کوری ایڈیٹر کے نیچے جدولی شکل میں دکھائے جاتے ہیں۔ کوری ہسٹری سیشن کے دوران محفوظ رہتی ہے۔

ریکارڈ میں ترمیم

ٹیبل سیلز کو براہ راست ترمیم کیا جا سکتا ہے — بس ایک ویلیو پر کلک کریں اور نئی ویلیو درج کریں۔ تبدیلیاں فوری طور پر چلتی ایپلیکیشن پر لاگو ہوتی ہیں۔ یہ حدی کیسز کی جانچ کے لیے خاص طور پر مفید ہے: ضروری فیلڈ میں null سیٹ کرنا، ID کو غیر موجود سے تبدیل کرنا، لمبی سٹرنگز کی ہینڈلنگ چیک کرنا۔ تمام تبدیلیاں ریئل ٹائم میں کی جاتی ہیں۔

Database Inspector کے ساتھ Room ڈیبگنگ

Database Inspector کا Room کے ساتھ گہرا انضمام ہے، جو اس لائبریری کے ساتھ ایپلیکیشن تیار کرتے وقت اسے ناگزیر بناتا ہے۔ معیاری فعالیت کے علاوہ، انسپکٹر Room کے لیے مخصوص صلاحیتیں فراہم کرتا ہے۔

DAO کوریز دیکھنا

Room ڈیٹا بیس کے لیے، Database Inspector ہر DAO طریقہ کے لیے تیار کردہ SQL کوریز دکھاتا ہے۔ یہ تصدیق کرنے کی اجازت دیتا ہے کہ Room درست SQL تیار کرتا ہے، خاص طور پر JOIN، @Relation اور @Transaction کے ساتھ پیچیدہ کوریز کے لیے۔ اگر Room ایک غیر موثر کوری انجام دیتا ہے (مثلاً، ایک JOIN کے بجائے N+1 کوریز)، یہ Database Inspector کوری لاگ میں فوری طور پر نظر آتا ہے۔

مائیگریشن ڈیبگ کرنا

AutoMigration یا دستی مائیگریشن کے ساتھ Room سکیما کو اپ ڈیٹ کرتے وقت، Database Inspector مائیگریشن کے بعد اصل ٹیبل ڈھانچہ دکھاتا ہے۔ ایپلیکیشن لانچ کرنے کے بعد انسپکٹر کھولیں اور چیک کریں کہ تمام کالم، انڈیکسز اور غیر ملکی کنجیاں درست طریقے سے بنی ہیں۔ اگر مائیگریشن خرابی کے ساتھ ناکام ہوتی ہے، تو ڈیٹا بیس نہیں کھلے گا — ٹول آخری دستیاب ورژن دکھائے گا۔

Relations اور Embedded کی جانچ

Room @Relation اور @Embedded کے ذریعے متعدد ٹیبلز سے ڈیٹا کو یکجا کرنے کی اجازت دیتا ہے۔ Database Inspector متعلقہ ٹیبل ڈیٹا کو ایک ساتھ دکھا کر تعلقات کی درستگی کو بصری طور پر تصدیق کرنے میں مدد کرتا ہے۔ ہر غیر ملکی کنجی کے لیے، آپ ایک کلک سے متعلقہ ٹیبل پر جا سکتے ہیں۔

kotlin
// Database Inspector کے ذریعے جانچ کے لیے Relation کے ساتھ 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 کے عملی استعمال کے منظرنامے

Database Inspector مخصوص ترقیاتی کاموں کو حل کرتا ہے جو مقامی ڈیٹا اسٹوریج کے ساتھ کام کرتے وقت پیدا ہوتے ہیں۔ روزمرہ کے کام میں ٹول کے سب سے عام استعمال کے معاملات دیکھتے ہیں۔

ڈیٹا کیشنگ کی جانچ

اکثر، ایپلیکیشن API جوابات کو مقامی ڈیٹا بیس میں کیش کرتی ہے۔ Database Inspector آپ کو کیشنگ کی درستگی کی تصدیق کرنے کی اجازت دیتا ہے: سنکرونائزیشن کے بعد، آپ کیش ٹیبل میں اصل ریکارڈ دیکھ سکتے ہیں۔ اگر ڈیٹا ظاہر نہیں ہوتا — مسئلہ سیو کوڈ میں ہے۔ اگر ڈپلیکیٹ ظاہر ہوتے ہیں — مسئلہ upsert منطق میں ہے۔

ڈیٹا داخل کرنے کی خرابیوں کو ڈیبگ کرنا

جب کوئی DAO طریقہ ڈیٹا محفوظ نہیں کرتا لیکن استثناء نہیں پھینکتا، Database Inspector ٹیبل کی اصل حالت دکھاتا ہے۔ عام وجوہات: Primary Key تنازع (OnConflictStrategy ترتیب)، کالم میں غلط ڈیٹا کی قسم، NOT NULL پابندی کی خلاف ورزی یا Foreign Key کی خلاف ورزی۔ انسپکٹر آپ کو آپریشن سے پہلے اور بعد میں ڈیٹا بیس تبدیلی سیٹ دیکھنے کی اجازت دیتا ہے۔ DAO کال سے پہلے اور بعد میں ڈیٹا سنیپ شاٹس کا موازنہ کرنا لین دین کی خرابیوں کو ڈیبگ کرنے اور پیچیدہ تحریری کارروائیوں کے دوران ایپلیکیشن کاروباری منطق کی درستگی کی تصدیق کرنے کے سب سے مؤثر طریقوں میں سے ایک ہے۔

ڈیٹا بیس سکیما ری فیکٹرنگ

ٹیبل سکیما تبدیل کرتے وقت — کالم شامل کرنا، فیلڈز کا نام تبدیل کرنا، ٹیبلز کو تقسیم کرنا — Database Inspector مائیگریشن کے نتائج کی تصدیق میں مدد کرتا ہے۔ نئے ڈیٹا بیس ورژن کے ساتھ ایپلیکیشن لانچ کریں اور تصدیق کریں کہ تمام ڈیٹا نئے ڈھانچے میں صحیح طریقے سے منتقل ہوا ہے۔ اگر مائیگریشن کے بعد ڈیٹا غائب ہے، تو آپ اسے ری فیکٹرنگ سے پہلے محفوظ کردہ ڈمپ سے بحال کر سکتے ہیں۔ یہ منظر نامہ SQLiteOpenHelper سے Room پر منتقل ہوتے وقت یا ایپلیکیشن کے نئے ورژن میں موجودہ ٹیبلز کا ڈھانچہ تبدیل کرتے وقت خاص طور پر متعلقہ ہے۔

کوری کارکردگی کی نگرانی

Database Inspector SQL کوری کارکردگی کا جائزہ لینے کے لیے بھی استعمال کیا جا سکتا ہے۔ Query ٹیب کے ذریعے SELECT انجام دے کر اور جوابی وقت کی پیمائش کر کے، آپ ان کوریز کی شناخت کر سکتے ہیں جن میں انڈیکسز کی کمی ہے۔ Room خود بخود Logcat میں SLOW SQL ٹیگ کے ساتھ سست کوریز لاگ کرتا ہے، اور Database Inspector آپ کو عمل درآمد کے منصوبے کے تجزیہ کے لیے فوری طور پر EXPLAIN QUERY PLAN انجام دینے کی اجازت دیتا ہے۔

اکثر پوچھے گئے سوالات

Database Inspector میرا ڈیٹا بیس کیوں نہیں دیکھتا؟

یقینی بنائیں کہ ایپلیکیشن Debug موڈ میں چل رہی ہے اور ڈیوائس کا API Level 26 یا اس سے زیادہ ہے۔ اگر ڈیٹا بیس علیحدہ عمل میں یا SQLCipher (خفیہ کاری) کا استعمال کرتے ہوئے بنایا گیا ہے، تو Database Inspector اسے دریافت نہیں کر سکتا۔ SQLCipher کے لیے، خفیہ کاری کے بغیر ایک معاون ڈیبگ ڈیٹا بیس استعمال کریں۔

کیا Database Inspector کے ذریعے ڈیٹا میں ترمیم کی جا سکتی ہے؟

ہاں، ڈیٹا میں ترمیم براہ راست ٹیبل سیلز میں ممکن ہے۔ کسی ویلیو پر ڈبل کلک کرنے سے اسے تبدیل کیا جا سکتا ہے۔ تبدیلیاں فوری طور پر چلتی ایپلیکیشن کے ڈیٹا بیس پر لاگو ہوتی ہیں۔ نئے ریکارڈ شامل کرنے کے لیے، Query ٹیب کے ذریعے INSERT SQL کوری استعمال کریں۔

کیا Database Inspector Realm ڈیٹا بیس کو سپورٹ کرتا ہے؟

نہیں، Database Inspector Realm کو سپورٹ نہیں کرتا کیونکہ Realm SQLite استعمال نہیں کرتا۔ Realm کو ڈیبگ کرنے کے لیے، Realm Object Server، Realm Studio یا in-app لاگنگ استعمال کریں۔ MongoDB Realm SDK کے لیے، Realm Studio ٹول macOS، Windows اور Linux کے لیے دستیاب ہے۔

Database Inspector سے ڈیٹا بیس کیسے برآمد کریں؟

Database Inspector آپ کو پورا ڈیٹا بیس برآمد کرنے کی اجازت دیتا ہے۔ فہرست میں ڈیٹا بیس کے نام پر دایاں کلک کریں اور Export Database منتخب کریں۔ .db فائل آپ کے کمپیوٹر پر محفوظ ہو جائے گی۔ اسے دیکھنے کے لیے، کوئی بھی SQLite براؤزر استعمال کریں، جیسے DB Browser for SQLite۔

کیا Database Inspector ایپلیکیشن کارکردگی کو متاثر کرتا ہے؟

Google کے مطابق، اوور ہیڈ کم سے کم ہے — Database Inspector تحریر کو روکے بغیر WAL ڈیٹا بیس فائلیں پڑھتا ہے۔ کسٹم SQL کوریز کا نفاذ عارضی طور پر ڈیٹا بیس کو لوڈ کر سکتا ہے، لیکن یہ ڈویلپر کے ذریعے کنٹرول کیا جاتا ہے۔ پروڈکشن بلڈز کے لیے ٹول خود بخود غیر فعال ہو جاتا ہے۔

خلاصہ

  • Database Inspector ریئل ٹائم میں ایپلیکیشن کے SQLite ڈیٹا بیس کو دیکھنے اور اس میں ترمیم کرنے کے لیے Android Studio میں بنایا گیا ایک ٹول ہے
  • Room سپورٹ میں DAO کوریز دیکھنا، مائیگریشن ڈیبگ کرنا اور @Relation اور @Embedded کی جانچ کرنا شامل ہے
  • SQL کوری انجام دینا Query ٹیب کے ذریعے تمام SQLite آپریٹرز کی سپورٹ اور ہسٹری تحفظ کے ساتھ
  • ریئل ٹائم میں ترمیم آپ کو سیل ویلیوز تبدیل کرنے اور چلتی ایپلیکیشن میں فوری طور پر نتیجہ دیکھنے کی اجازت دیتی ہے
  • ڈیٹا بیس برآمد تیسرے فریق کے ٹولز میں تجزیہ یا ساتھیوں کے ساتھ اشتراک کے لیے .db فائل میں
  • اس کے لیے Android Studio 4.1+، Debug بلڈ اور API Level 26+ درکار ہے — اگر ٹول ڈیٹا بیس ظاہر نہیں کرتا ہے تو ان ضروریات کو چیک کریں
  • مقامی ڈیٹا اسٹوریج سے متعلق خصوصیات تیار کرتے وقت باقاعدگی سے Database Inspector استعمال کریں — یہ ڈیبگنگ کو کافی تیز کرتا ہے

ہم ایک موبائل ایپلیکیشن ٹرنکی تیار کریں گے

IT Sectr 2017 سے اسٹارٹ اپس اور کاروبار کے لیے iOS اور Android ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔

پروجیکٹ پر بحث کریں

مزید پڑھیں