بازرس پایگاه داده به شما این امکان را می دهد که پایگاه داده برنامه خود را در حین اجرای برنامه بازرسی، پرس و جو و اصلاح کنید. این به ویژه برای اشکال زدایی پایگاه داده مفید است. بازرس پایگاه داده با SQLite ساده و با کتابخانه های ساخته شده در بالای SQLite، مانند Room کار می کند.
برای باز کردن یک پایگاه داده در Database Inspector، موارد زیر را انجام دهید:
برنامه خود را روی یک شبیه ساز یا دستگاه متصل با سطح API 26 یا بالاتر اجرا کنید .
از نوار منو، View > Tool Windows > App Inspection را انتخاب کنید.
تب Database Inspector را انتخاب کنید.
فرآیند اجرای برنامه را از منو انتخاب کنید.
پایگاه داده در برنامه در حال اجرا در حال اجرا در پانل پایگاه داده ظاهر می شود. گره پایگاه داده ای را که می خواهید بازرسی کنید، گسترش دهید.
صفحه Databases لیستی از پایگاه های داده در برنامه شما و جداول موجود در هر پایگاه داده را نشان می دهد. روی نام جدول دوبار کلیک کنید تا داده های آن در پنجره بازرس در سمت راست نمایش داده شود، که در شکل 1 نشان داده شده است. برای مرتب کردن داده ها در پنجره بازرس بر اساس آن ستون، روی سرصفحه ستون کلیک کنید.
برای تغییر داده ها در جدول، مراحل زیر را دنبال کنید:
- روی یک سلول دوبار کلیک کنید.
- یک مقدار جدید تایپ کنید
- Enter را فشار دهید.
اگر برنامه شما از Room استفاده میکند و رابط کاربری شما پایگاه داده را مشاهده میکند، مانند LiveData
یا Flow
، هر تغییری که در دادهها ایجاد میکنید بلافاصله در برنامه در حال اجرا شما قابل مشاهده است. در غیر این صورت، تغییرات فقط دفعه بعد که برنامه شما داده های اصلاح شده را از پایگاه داده بخواند قابل مشاهده است.
اگر میخواهید بازرس پایگاه داده هنگام تعامل با برنامه در حال اجرا، دادههایی را که ارائه میکند بهطور خودکار بهروزرسانی کند، کادر بررسی بهروزرسانیهای زنده را در بالای پنجره بازرس انتخاب کنید. در حالی که بهروزرسانیهای زنده فعال هستند، جدول در پنجره بازرس فقط خواندنی است و نمیتوانید مقادیر آن را تغییر دهید.
از طرف دیگر، برای بهروزرسانی دستی دادهها، روی دکمه Refresh table در بالای پنجره بازرس کلیک کنید.
بازرس پایگاه داده میتواند هنگام اجرای برنامه، درخواستهایی را علیه پایگاه داده برنامه شما اجرا کند. اگر برنامه شما از Room استفاده می کند، این ابزار می تواند از پرس و جوهای DAO استفاده کند، اما از پرس و جوهای SQL سفارشی نیز پشتیبانی می کند.
اگر برنامه شما از Room استفاده میکند، Android Studio اقدامات ناودانی را ارائه میکند که به شما امکان میدهد روشهای جستجو را که قبلاً در کلاسهای DAO خود تعریف کردهاید، به سرعت اجرا کنید. این اقدامات زمانی که برنامه شما در حال اجرا است و بازرس پایگاه داده در IDE باز است، در دسترس هستند.
برای اجرای هر روش پرس و جو در DAO، روی عبارت Run SQLite در Database Inspector کلیک کنید. دکمه کنار حاشیه نویسی @Query
.
اگر برنامه شما شامل بیش از یک پایگاه داده باشد، Android Studio از شما می خواهد که پایگاه داده را برای پرس و جو از یک لیست انتخاب کنید. اگر روش جستجوی شما شامل پارامترهای bind نامگذاری شده است، Android Studio قبل از اجرای پرس و جو، مقادیری را برای هر پارامتر درخواست می کند. نتایج پرس و جو در پنجره بازرس نمایش داده می شود.
همچنین میتوانید از Database Inspector برای اجرای پرسوجوهای SQL سفارشی در پایگاه دادههای برنامه خود در حین اجرای برنامه استفاده کنید.
برای پرس و جو از پایگاه داده، مراحل زیر را دنبال کنید:
روی برگه Open New Query کلیک کنید در بالای صفحه پایگاه داده برای باز کردن یک تب جدید در پنجره بازرس.
اگر برنامه شما شامل بیش از یک پایگاه داده است، پایگاه داده مورد نظر را از فهرست موجود در برگه New Query انتخاب کنید.
در بالای برگه New Query ، Query SQL سفارشی خود را در قسمت متن تایپ کنید.
روی Run کلیک کنید.
همچنین، از ویژگی تاریخچه پرس و جو برای اجرای پرس و جوی که قبلا استفاده می کردید استفاده کنید:
روی Show Query history کلیک کنید را فشار دهید تا لیستی از پرس و جوهایی را که قبلاً در مقابل پایگاه داده انتخابی اجرا کرده اید مشاهده کنید.
برای مشاهده پیش نمایش پرس و جوی کامل در ویرایشگر، روی یک پرس و جو در لیست کلیک کنید و برای کپی کردن آن در ویرایشگر ، Enter را فشار دهید.
برای اجرای دستور روی Run کلیک کنید.
نتایج پرس و جو که در تب New Query نمایش داده می شوند فقط خواندنی هستند و قابل تغییر نیستند. با این حال، میتوانید از فیلد پرس و جوی SQL سفارشی برای اجرای عبارات اصلاحکننده مانند UPDATE
، INSERT
یا DELETE
استفاده کنید.
اگر برنامه شما از Room استفاده میکند و رابط کاربری شما پایگاه داده را مشاهده میکند، مانند LiveData
یا Flow
، هر تغییری که در دادهها ایجاد میکنید بلافاصله در برنامه در حال اجرا شما قابل مشاهده است. در غیر این صورت، تغییرات فقط دفعه بعد که برنامه شما داده های اصلاح شده را از پایگاه داده بخواند قابل مشاهده است.
در Android Studio نسخه 4.2 و بالاتر، میتوانید پس از قطع شدن یک فرآیند، پایگاههای داده برنامه خود را بازرسی کنید. این کار باعث میشود تا پس از خرابی، اشکالزدایی برنامه شما آسانتر شود.
هنگامی که قطع ارتباط رخ می دهد، بازرس پایگاه داده پایگاه داده های شما را دانلود می کند و آنها را در حالت آفلاین در دسترس شما قرار می دهد. وقتی آفلاین هستید، همچنان می توانید جداول را باز کنید و پرس و جوها را اجرا کنید.
وقتی دوباره به یک فرآیند برنامه زنده متصل میشوید، بازرس پایگاه داده از حالت آفلاین خارج میشود و فقط دادههای موجود در دستگاه را به شما نشان میدهد. به عبارت دیگر، دادههایی که در حالت آفلاین نشان داده میشوند، وقتی دوباره به یک فرآیند برنامه متصل میشوید، باقی نمیمانند. به دلیل این محدودیت، بازرس پایگاه داده در حالت آفلاین به شما اجازه ویرایش داده ها یا اجرای اصلاحیه های SQL را نمی دهد.
هنگامی که یک پایگاه داده را در حالت آفلاین مشاهده می کنید، نام فرآیند شامل [DETACHED]
است تا نشان دهد که بازرس دیگر به فرآیند متصل نیست. همچنین، نماد پایگاه داده وضعیت آفلاین را نشان می دهد که در شکل 5 نشان داده شده است.
بازرس پایگاه داده تنها زمانی می تواند پایگاه داده را تغییر دهد که برنامه شما یک اتصال زنده به آن پایگاه داده داشته باشد. این بدان معناست که اگر برنامه شما به طور مکرر به پایگاههای داده متصل میشود یا از آن جدا میشود، اشکالزدایی آن پایگاههای داده میتواند دشوار باشد. پنجره پایگاه داده از آیکون ها برای شناسایی باز استفاده می کندو بسته شد پایگاه های داده
علاوه بر این، برای جلوگیری از بسته شدن اتصالات پایگاه داده، Keep connections database open را از حالت خاموش تغییر دهید به در در بالای صفحه پایگاه داده
میتوانید پایگاههای داده، جداول، و نتایج پرس و جو را از Database Inspector برای ذخیره، اشتراکگذاری یا ایجاد مجدد به صورت محلی صادر کنید. هنگامی که یک پروژه برنامه را در Android Studio باز می کنید و برنامه مربوط به آن پروژه را در Database Inspector بازرسی می کنید، می توانید به یکی از روش های زیر صادرات داده را شروع کنید:
- یک پایگاه داده یا جدول را در پانل پایگاه داده انتخاب کنید و بر روی Export کلیک کنید تا فایل در نزدیکی بالای پانل قرار گیرد.
- روی یک پایگاه داده یا جدول در پانل پایگاه داده کلیک راست کرده و از منوی زمینه Export to file را انتخاب کنید.
- هنگام بررسی نتایج جدول یا پرس و جو در یک برگه، روی Export کلیک کنید تا فایل بالای جدول یا نتایج پرس و جو باشد.
پس از انتخاب یک اقدام صادراتی، همانطور که در شکل 6 نشان داده شده است، از کادر گفتگوی Export Database برای کمک به شما در انجام مراحل نهایی استفاده کنید.
بسته به اینکه میخواهید یک پایگاه داده، جدول یا نتایج جستجو را صادر کنید، میتوانید دادهها را در یک یا چند فرمت زیر صادر کنید: DB، SQL یا CSV.
برای کسب اطلاعات بیشتر در مورد بازرس پایگاه داده، به منابع اضافی زیر مراجعه کنید: