आपके ऐप्लिकेशन के डेटाबेस और उपयोगकर्ताओं की मौजूदगी की पुष्टि करना ज़रूरी है डेटाबेस बनाते समय रूम परसिस्टेंस लाइब्रेरी. यह पेज इस बारे में चर्चा करता है कि आपके डेटाबेस की जांच कैसे की जाती है और आपकी मदद करने के लिए डीबग करने के पास हुआ हो.
अपने डेटाबेस की जांच करें
डेटाबेस की जांच करने के दो तरीके हैं:
- Android डिवाइस पर.
- अपनी होस्ट डेवलपमेंट मशीन पर (इसका सुझाव नहीं दिया जाता).
डेटाबेस माइग्रेशन से जुड़ी खास जांच के बारे में जानकारी के लिए, यह देखें माइग्रेशन की जांच करना.
Android डिवाइस पर टेस्ट करना
आपके डेटाबेस तक पहुंच की जांच करने के लिए सुझाया गया तरीका, Android डिवाइस पर चलने वाली JUnit की जांच. क्योंकि इन परीक्षणों के लिए आवश्यक जो आपके यूज़र इंटरफ़ेस (यूआई) की जांच करने से ज़्यादा तेज़ हैं.
टेस्ट सेट अप करते समय, आपको मेमोरी में सेव किया जाने वाला अपने ऐप्लिकेशन का वर्शन बनाना चाहिए अपने टेस्ट को ज़्यादा हर्मेटिक बनाने के लिए अपने डेटाबेस का इस्तेमाल करें, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है:
Kotlin
@RunWith(AndroidJUnit4::class) class SimpleEntityReadWriteTest { private lateinit var userDao: UserDao private lateinit var db: TestDatabase @Before fun createDb() { val context = ApplicationProvider.getApplicationContext<Context>() db = Room.inMemoryDatabaseBuilder( context, TestDatabase::class.java).build() userDao = db.getUserDao() } @After @Throws(IOException::class) fun closeDb() { db.close() } @Test @Throws(Exception::class) fun writeUserAndReadInList() { val user: User = TestUtil.createUser(3).apply { setName("george") } userDao.insert(user) val byName = userDao.findUsersByName("george") assertThat(byName.get(0), equalTo(user)) } }
Java
@RunWith(AndroidJUnit4.class) public class SimpleEntityReadWriteTest { private UserDao userDao; private TestDatabase db; @Before public void createDb() { Context context = ApplicationProvider.getApplicationContext(); db = Room.inMemoryDatabaseBuilder(context, TestDatabase.class).build(); userDao = db.getUserDao(); } @After public void closeDb() throws IOException { db.close(); } @Test public void writeUserAndReadInList() throws Exception { User user = TestUtil.createUser(3); user.setName("george"); userDao.insert(user); List<User> byName = userDao.findUsersByName("george"); assertThat(byName.get(0), equalTo(user)); } }
अपनी होस्ट मशीन पर टेस्ट करें
रूम, SQLite Support Library का इस्तेमाल करता है, जो इनसे मेल खाने वाले इंटरफ़ेस उपलब्ध कराती है के लिए तैयार किया गया है. यह सहायता आपको अपने की मदद से अपनी डेटाबेस क्वेरी की जांच की जा सकती है.
अपने माइग्रेशन की जांच करना
कमरा, इंक्रीमेंटल डेटाबेस के साथ काम करता है माइग्रेशन ऐप्लिकेशन के मौजूदा डेटा को उन स्थितियों में शामिल किया जाता है जब ऐप्लिकेशन के अपडेट से डेटाबेस स्कीमा में बदलाव होता है. हालांकि, माइग्रेशन की गलत प्रोसेस की वजह से आपका ऐप्लिकेशन क्रैश हो सकता है. कंपनी या ब्रैंड अपने रूम डेटाबेस की जांच ज़रूर करें माइग्रेशन.
अपने डेटाबेस को डीबग करना
ऐसे कई टूल और प्रोसेस हैं जिनका इस्तेमाल करके अपने डेटाबेस को डीबग किया जा सकता है.
डेटाबेस इंस्पेक्टर का इस्तेमाल करें
Android Studio 4.1 और उसके बाद के वर्शन में, डेटाबेस इंस्पेक्टर की मदद से क्वेरी करें, और अपने ऐप्लिकेशन के चलने के दौरान उसके डेटाबेस में बदलाव करें. डेटाबेस Inspector, Android के साथ बंडल किए गए SQLite के वर्शन के साथ काम करता है साथ ही, इसमें रूम के साथ इस्तेमाल करने के लिए कुछ खास सुविधाएँ भी शामिल हैं:
- अपने डीएओ से क्वेरी तेज़ी से चलाने के लिए, गटर से जुड़ी कार्रवाइयों का इस्तेमाल करें क्लास.
- आपका ऐप्लिकेशन इस्तेमाल करते समय, डेटाबेस इंस्पेक्टर में तुरंत लाइव अपडेट देखें डेटा में बदलाव करता है.
डेटाबेस इंस्पेक्टर के बारे में ज़्यादा जानने के लिए, अपने डेटाबेस को डेटाबेस इंस्पेक्टर.
कमांड लाइन से डेटा डंप करें
Android SDK टूल में एक sqlite3
डेटाबेस टूल शामिल होता है. इसकी मदद से, आपके ऐप्लिकेशन की
डेटाबेस. इसमें .dump
जैसे कमांड शामिल हैं, जो
तालिका और .schema
SQL CREATE
स्टेटमेंट को प्रिंट करने के लिए.
कमांड लाइन से, SQLite के निर्देशों को भी एक्ज़ीक्यूट किया जा सकता है, जैसा कि स्निपेट:
adb -s emulator-5554 shell sqlite3 /data/data/your-app-package/databases/rssitems.db
ज़्यादा जानकारी के लिए, sqlite3
कमांड लाइन देखें
दस्तावेज़, जो यहां उपलब्ध है
SQLite वेबसाइट.
अन्य संसाधन
अपने रूम डेटाबेस की जांच करने और उसे डीबग करने के बारे में ज़्यादा जानने के लिए, इन्हें देखें अतिरिक्त संसाधन:
ब्लॉग पोस्ट
वीडियो
- डेटाबेस इंस्पेक्टर (11 हफ़्ते Android)