Veritabanı Denetleyicisi, uygulamanız çalışırken uygulamanızın veritabanlarını incelemenize, sorgulamanıza ve değiştirmenize olanak tanır. Bu, özellikle veritabanı hata ayıklaması için kullanışlıdır. Veritabanı Denetleyicisi, düz SQLite ile ve SQLite üzerinde oluşturulmuş kitaplıklarla (ör. Room) çalışır.
Veritabanı Denetleyicisi'ni açın
Veritabanı Denetleyicisi'nde bir veritabanı açmak için aşağıdakileri yapın:
Uygulamanızı API düzeyi 26 veya üstünü çalıştıran bir emülatör ya da bağlı cihazda çalıştırın.
Menü çubuğundan Görünüm > Araç Pencereleri > Uygulama Denetleme'yi seçin.
Database Inspector sekmesini seçin.
Menüden çalışan uygulama işlemini seçin.
Çalışmakta olan uygulamadaki veritabanları, Veritabanları bölmesinde görünür. İncelemek istediğiniz veritabanının düğümünü genişletin.
Verileri görüntüleme ve değiştirme
Veritabanları bölmesinde, uygulamanızdaki veritabanlarının bir listesi ve her veritabanının içerdiği tablolar görüntülenir. Bir tablo adını çift tıklayarak verilerini Şekil 1'de gösterildiği gibi sağdaki denetleyici penceresinde görüntüleyin. İnceleyici penceresindeki verileri belirli bir sütuna göre sıralamak için ilgili sütun başlığını tıklayın.
![Veritabanı Denetleyicisi penceresinin ekran görüntüsü.](https://developer.android.com/static/studio/images/inspect/db-inspector-window.png?authuser=6&hl=tr)
Bir tablodaki verileri değiştirmek için aşağıdaki adımları uygulayın:
- Bir hücreyi çift tıklayın.
- Yeni bir değer yazın.
- Enter tuşuna basın.
Uygulamanız Room kullanıyorsa ve kullanıcı arayüzünüz veritabanını gözlemlerse (ör. LiveData
veya Flow
ile), verilerde yaptığınız değişiklikler çalışan uygulamanızda hemen görünür. Aksi takdirde, değişiklikler yalnızca uygulamanız değiştirilen verileri veritabanından okuduğunda görünür.
Canlı veritabanı değişikliklerini göster
Veritabanı Denetleyicisi'nin çalışan uygulamanızla etkileşimde bulunduğunuz sırada sunduğu verileri otomatik olarak güncellemesini istiyorsanız denetleyici penceresinin üst kısmındaki Canlı güncellemeler onay kutusunu işaretleyin. Canlı güncellemeler etkinleştirildiğinde, inceleyici penceresindeki tablo salt okunur olur ve bu tablonun değerlerini değiştiremezsiniz.
Alternatif olarak, verileri manuel olarak güncellemek için inceleyici penceresinin üst kısmındaki Tabloyu yenile düğmesini tıklayın.
Veritabanlarınızı sorgulama
Veritabanı Denetleyicisi, uygulama çalışırken uygulamanızın veritabanında sorgu çalıştırabilir. Uygulamanız, Room kullanıyorsa araç DAO sorgularını kullanabilir ancak özel SQL sorgularını da destekler.
DAO sorgularını çalıştırma
Uygulamanız Room'u kullanıyorsa Android Studio, DAO sınıflarınızda tanımladığınız sorgu yöntemlerini hızlı bir şekilde çalıştırmanızı sağlayan kanal işlemleri sağlar. Bu işlemler, uygulamanız çalışırken ve IDE'de Veritabanı Denetleyicisi açık durumdayken kullanılabilir.
DAO'da herhangi bir sorgu yöntemini çalıştırmak için @Query
ek açıklamasının yanındaki Database Inspector'da SQLite ifadesini çalıştır
düğmesini tıklayın.
![DAO oluk işlemlerinin ekran görüntüsü.](https://developer.android.com/static/studio/images/inspect/db-inspector-dao-gutters.png?authuser=6&hl=tr)
Uygulamanız birden fazla veritabanı içeriyorsa Android Studio, bir listeden sorgulama yapılacak veritabanını seçmenizi ister. Sorgu yönteminizde adlandırılmış bind parametreleri varsa Android Studio, sorguyu çalıştırmadan önce her parametre için değer ister. Sorgu sonuçları, inceleyici penceresinde görüntülenir.
Özel SQL sorguları çalıştırma
Uygulamanız çalışırken uygulamanızın veritabanlarında özel SQL sorguları çalıştırmak için Database Inspector'ı da kullanabilirsiniz.
Bir veritabanını sorgulamak için aşağıdaki adımları uygulayın:
İnceleyici penceresinde yeni bir sekme açmak için Veritabanları bölmesinin üst kısmındaki Yeni Sorgu sekmesini Aç
seçeneğini tıklayın.
Şekil 3. Yeni Sorgu sekmesi açın. Uygulamanız birden fazla veritabanı içeriyorsa Yeni Sorgu sekmesindeki listeden sorgulanacak veritabanını seçin.
Yeni Sorgu sekmesinin üst kısmındaki metin alanına özel SQL sorgunuzu yazın.
Çalıştır'ı tıklayın.
Alternatif olarak, daha önce kullandığınız bir sorguyu çalıştırmak için sorgu geçmişi özelliğini de kullanabilirsiniz:
Seçili veritabanında daha önce çalıştırdığınız sorguların bir listesini görmek için Sorgu geçmişini göster
düğmesini tıklayın.
Şekil 4. Sorgu geçmişi menüsü. Düzenleyicide tüm sorgunun önizlemesini görmek için listedeki bir sorguyu tıklayın ve düzenleyiciye kopyalamak için Enter tuşuna basın.
İfadeyi yürütmek için Çalıştır'ı tıklayın.
Yeni Sorgu sekmesinde görüntülenen sorgu sonuçları salt okunurdur ve değiştirilemez. Ancak UPDATE
, INSERT
veya DELETE
gibi değiştirici ifadeler çalıştırmak için özel SQL sorgu alanını kullanabilirsiniz.
Uygulamanız Room'u kullanıyorsa ve kullanıcı arayüzünüz veritabanını gözlemlerse (ör. LiveData
veya Flow
ile), verilerde yaptığınız tüm değişiklikler çalışan uygulamanızda hemen görünür.
Aksi takdirde, değişiklikler yalnızca uygulamanızın değiştirilen verileri veritabanından bir sonraki okumasında görünür.
Çevrimdışı modu
Android Studio 4.2 ve sonraki sürümlerde, bir işlem kesildikten sonra uygulamanızın veritabanlarını incelemeye devam edebilirsiniz. Böylece, kilitlenmeden sonra uygulamanızda hata ayıklaması daha kolay olur.
Bağlantı kesildiğinde, Veritabanı Denetleyicisi veritabanlarınızı indirir ve çevrimdışı modda kullanabilmenizi sağlar. Çevrimdışıyken de tabloları açabilir ve sorgu çalıştırabilirsiniz.
Canlı bir uygulama işlemine yeniden bağlandığınızda, Veritabanı Denetleyicisi çevrimdışı moddan çıkar ve yalnızca cihazdaki verileri gösterir. Diğer bir deyişle, çevrimdışı modda gösterilen veriler bir uygulama işlemine yeniden bağlandığınızda devam etmez. Bu sınırlama nedeniyle, Veritabanı Denetleyicisi, çevrimdışı moddayken verileri düzenlemenize veya değişiklik SQL ifadelerini çalıştırmanıza izin vermez.
Bir veritabanını çevrimdışı modda görüntülerken işlem adında, inceleyicinin artık işleme bağlı olmadığını belirtmek için [DETACHED]
bulunur. Ayrıca, veritabanı simgesi
şekil 5'te gösterilen çevrimdışı durumu belirtir.
![Çevrimdışı modda veritabanı denetleyicisi](https://developer.android.com/static/studio/images/inspect/db-inspector-window-offline.png?authuser=6&hl=tr)
Veritabanı bağlantılarını açık tut
Veritabanı Denetleyicisi, yalnızca uygulamanız bu veritabanıyla canlı bir bağlantı sürdürürken bir veritabanını değiştirebilir. Yani, uygulamanız sık sık veritabanlarına bağlanıyor ve veritabanlarıyla bağlantısı kesiliyorsa bu veri tabanlarında hata ayıklaması zor olabilir. Veritabanları bölmesinde açık ve kapalı
veritabanlarını tanımlamak için simgeler kullanılır.
Ayrıca, veritabanı bağlantılarının kapanmasını önlemek için Veritabanları bölmesinin üst kısmındaki Veritabanı bağlantılarını açık tut seçeneğini Kapalı olarak
konumuna getirin.
Verileri Veritabanı Denetleyicisi'nden dışa aktarma
Yerel olarak kaydetmek, paylaşmak veya yeniden oluşturmak için veritabanlarını, tabloları ve sorgu sonuçlarını Veritabanı İnceleyici'den dışa aktarabilirsiniz. Android Studio'da bir uygulama projesi açtığınızda ve ilgili uygulamayı Veritabanı İnceleyici'de incelediğinizde verileri dışa aktarmaya aşağıdaki yöntemlerden birini kullanarak başlayabilirsiniz:
- Veritabanları panelinde bir veritabanı veya tablo seçin ve panelin üst kısmındaki Dosyaya aktar'ı tıklayın.
- Veritabanları panelinde bir veritabanını veya tabloyu sağ tıklayın ve içerik menüsünden Dosyaya aktar'ı seçin.
- Bir sekmede bir tabloyu veya sorgu sonuçlarını incelerken tablonun veya sorgu sonuçlarının üzerindeki Dosyaya aktar'ı tıklayın.
Bir dışa aktarma işlemi seçtikten sonra, Şekil 6'da gösterildiği gibi son adımlarda size yardımcı olması için Veritabanını Dışa Aktar iletişim kutusunu kullanın.
Bir veritabanını, tabloyu veya sorgu sonuçlarını dışa aktarmak istediğinize bağlı olarak verileri DB, SQL veya CSV biçimlerinden birinde veya daha fazlasında dışa aktarabilirsiniz.
Ek kaynaklar
Veritabanı Denetleyicisi hakkında daha fazla bilgi edinmek için aşağıdaki ek kaynaklara bakın: