Android Studio'da veritabanı dosyasının içeriğini görüntüleme


251

Yayınlandığından beri uygulamanızı geliştirmek için Android Studio kullanıyorum .

Her şey yakın zamana kadar güzel çalışıyor, ben veritabanı dosyasını kontrol ile birlikte hata ayıklamak zorunda. Veritabanını doğrudan nasıl göreceğimi bilmediğimden, Veritabanı dosyasını oluşturmak için hata ayıkladığımda, veritabanı dosyasını telefonumdan PC'ye aktarmam gerekiyor.

Bunu yapmak için açmam gerek DDMS > File Explorer. DDMS'yi açtıktan sonra USB'yi yeniden bağlamam gerekiyor ve hata ayıklama iş parçacığımı kaybediyorum. Veritabanı dosyasını kontrol ettikten sonra, hata ayıklama moduna geri dönmek için DDMS'yi kapatmalı ve USB'yi tekrar bağlamam gerekiyor.

Çok karmaşık. Android Studio'da bunu yapmanın daha iyi bir yolu var mı (Eclipse'de daha kolay olduğunu biliyorum)?


Yanıtlar:


302

Android Studio'dan veritabanlarını görüntüleme:

Düzenleme: Veritabanınızı bir Öykünücüde görüntülemek için aşağıdaki adımları izleyin (gerçek aygıt için aşağı kaydırın):

  1. SQLiteBrowser'ı indirin ve yükleyin .

  2. Veritabanını cihazdan PC'nize kopyalayın:

    • Android Studio sürümleri <3.0 :

      • Açık DDMS yoluylaTools > Android > Android Device Monitor

      • Sol taraftaki cihazınızı tıklayın .
        Başvurunuzu görmelisiniz: resim açıklamasını buraya girin

      • Git File Explorer (sağda sekmelerin biri), gidin/data/data/databases resim açıklamasını buraya girin

      • Sadece üzerine tıklayarak veritabanını seçin .

      • Android Cihaz Monitörü penceresinin sağ üst köşesine gidin. ' Cihazdan bir dosya çekin ' düğmesini tıklayın: resim açıklamasını buraya girin

      • Veritabanı dosyanızı nereye kaydetmek istediğinizi soran bir pencere açılacaktır. Bunun kaydet her yerde PC'nizde istiyorum.

    • Android Studio sürümleri> = 3.0 :

      • Aygıt Dosya Gezgini'ni şu yolla açın:View > Tool Windows > Device File Explorer

      • Git için data > data > PACKAGE_NAME > databasePACKAGE_NAME Paketinizin adıdır, (öyle com.Movie yukarıdaki örnekte)

      • Veritabanına sağ tıklayın ve seçin Save As.... Bunun kaydet her yerde PC'nizde istiyorum.

  3. Şimdi, yüklediğiniz SQLiteBrowser'ı açın . ' Veritabanını aç'ı tıklayın , veritabanı dosyasını kaydettiğiniz konuma gidin ve açın . Artık veritabanınızın içeriğini görüntüleyebilirsiniz.


Veritabanınızı mobil cihazınızda görüntülemek için:

Git Bu Github depo ve cihazınızda veri tabanını görmek mümkün Benioku'da yönergeleri izleyin. Ne olsun böyle bir şey:

resim açıklamasını buraya girin

Bu kadar. Ancak, uygulamanızı yayınlamadan önce tüm bu adımları geri almanız gerektiğini söylemeye gerek yok.


2
benim için doğru cevap çünkü sqlitebrowser aracı ile ipucu, harika. Thank's
Manu Zi

26
/ data Device Monitor dosya gezgininde genişlemiyor, sanırım / data veya / data / data dizini girişlerinin superUser erişimi gerektirdiği için erişilemiyor. Hala veritabanı dosyalarıma adb shell üzerinden su ayrıcalıklarıyla erişebiliyorum. Dosya yöneticisinde su erişiminin nasıl sağlanacağı hakkında bir fikriniz var mı?
Saravanabalagi Ramachandran

2
@ZekeDran, evet yöntem değil device.I cihazınızda though.Check düzenlemek veritabanı görüntülemek için adımlar eklemiş bir emülatör sadece verileri göstermektedir
Ojonugwa Jude Ochalifu

11
Çalışıyor, ancak emülatör API 23'ten fazla çalışmıyor olmalıdır. API 25 kullanıyorsanız, dosya gezgininde içerik yoktur
Manos

2
Github bağlantınızdaki veritabanı yöneticisi benim için çalışıyor! Ayrıca sorguları test etme fırsatı da var!
basti12354

199

ADB Shell ile Sqlite3'e bağlanın

Android Studio'da bunu yapmanın bir yolunu bulamadım, ancak her seferinde dosyayı çekmek yerine uzak bir kabukla db'ye erişiyorum.

Tüm bilgileri burada bulabilirsiniz: http://developer.android.com/tools/help/adb.html#sqlite

1- Komut isteminde platform araçları klasörünüze gidin

2- adb devicesCihazlarınızın listesini almak için komutu girin

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb devices
List of devices attached
emulator-xxxx   device

3- Cihazınıza bir kabuk bağlayın:

C:\Android\adt-bundle-windows-x86_64\sdk\platform-tools>adb -s emulator-xxxx shell

4- db dosyanızı içeren klasöre gidin:

cd data/data/<your-package-name>/databases/

5- db'nize bağlanmak için sqlite3'ü çalıştırın:

sqlite3 <your-db-name>.db

6- Beğendiğiniz sqlite3 komutlarını çalıştırın örn .:

Select * from table1 where ...;

Not: Aşağıda çalıştırılacak daha fazla komut bulun.

SQLite Hileleri

SQLite veritabanındaki tabloları görmek için birkaç adım vardır:

  1. Veritabanınızdaki tabloları listeleyin:

    .tables
  2. Tablonun nasıl göründüğünü listeleyin:

    .schema tablename
  3. Tüm tabloyu yazdırın:

    SELECT * FROM tablename;
  4. Mevcut tüm SQLite komut istemlerini listeleyin:

    .help

17
4. adımda izin verilmedi, ne düşünüyorsun?
Adrian Olar


2
adım 5: sqlite3 bulunamadı. Neden?
sabsab

3
Çünkü kullanmak için yüklemeniz gerekiyor
Paul Paca-Vaca Seleznev

12
Ben şahsen veritabanları klasörüne erişmeye çalışırken İzin reddedildi , çalışan hile yaptı. run-as your.package.name
Yann39

83

Aslında kimsenin bu çözümü vermediğine çok şaşırdım:

Stetho'ya bir bakın .

Stetho'yu birkaç kez farklı amaçlarla kullandım (bunlardan biri veritabanı denetimi). Gerçek web sitesinde , ağ denetimi ve görünüm hiyerarşisine bakmak için özellikler hakkında da konuşurlar.

Sadece küçük bir kurulum gerektirir: 1 kademeli bağımlılık ilavesi (üretim yapıları için yorum yapabilirsiniz), Stetho'yu somutlaştırmak için birkaç kod satırı ve bir Chrome tarayıcı (çünkü her şey için Chrome cihazlarını kullanıyor).

Güncelleme : Artık Realet dosyalarını görüntülemek için Stetho'yu kullanabilirsiniz (SQLite DB yerine Realm kullanıyorsanız): https://github.com/uPhyca/stetho-realm

2. Güncelleme : Artık Couchbase belgelerini görüntülemek için Stetho'yu kullanabilirsiniz: https://github.com/RobotPajamas/Stetho-Couchbase

Güncelleme # 3 : Facebook, tüm Stetho özelliklerini yeni aracı Flipper'a eklemeye odaklanıyor. Flipper zaten Stetho'nun sahip olduğu birçok özelliğe sahiptir. Yani, şimdi geçiş yapmak için iyi bir zaman olabilir. https://fbflipper.com/docs/stetho.html


9
Çok sağol. Daha basit olmak gerekirse, 1. compile 'com.facebook.stetho:stetho:1.3.1' ve 2. bu kodu ekleyin Stetho.initializeWithDefaults(this);ve 3.chrome://inspect/#devices
Frank Myat Per

2
Çok basit, krom tarayıcı içinde 3. taraf araçları olmadan veritabanındaki verileri görebilirsiniz.
Mateus Viccari

Unutmayın sınıfta Stetho.initializeWithDefaults(this);olmalı Application.
wonsuc

1
Harika bir araç. Kurulumu doğru şekilde yaptıysanız uygulamanız #devices sayfasında listelenir. İncele'yi tıklayın ve ardından Kaynaklar> Web SQL> [db_name] 'ye gidin, sqlite ifadelerinizi yazabilirsiniz.
Brad

73

Emülatör kullanılmadığında en basit yöntem

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit
$ cp /data/data/your.package.name/databases/database_name /sdcard
$ run-as your.package.name # Optional
$ chmod 660 databases/database_name # Optional
$ chmod 660 databases # Optional
$ exit # Optional
$ exit
$ adb pull /sdcard/database_name

Uyarılar:

Bunu bir süredir test etmedim. API> = 25 üzerinde çalışmayabilir. Cp komutu sizin için çalışmıyorsa, aşağıdakilerden birini deneyin:

# Pick a writeable directory <dir> other than /sdcard
$ cp /data/data/your.package.name/databases/database_name <dir>

# Exit and pull from the terminal on your PC
$ exit
$ adb pull /data/data/your.package.name/databases/database_name

Açıklama:

İlk blok, veritabanınızın izinlerinin okunabilir olmasını yapılandırır. Bu run-as, değişiklik yapmak için paketinizin kullanıcısının kimliğine bürünmenizi sağlar.

$ adb shell
$ run-as your.package.name
$ chmod 777 databases
$ chmod 777 databases/database_name
$ exit # Closes the shell started with run-as

Daha sonra veritabanını dünya tarafından okunabilir / yazılabilir bir dizine kopyalarız. Bu, adb pull kullanıcı erişimine izin verir.

$ cp /data/data/your.package.name/databases/database_name /sdcard

Ardından, mevcut okuma / yazma ayrıcalıklarını değiştirin. Bu, uygulamanızın güvenliği için önemlidir, ancak ayrıcalıklar bir sonraki kurulumda değiştirilecektir.

$ run-as your.package.name
$ chmod 660 databases/database_name 
$ chmod 660 databases
$ exit # Exit the shell started with run-as

Son olarak, veritabanını yerel diske kopyalayın.

$ exit # Exits shell on the mobile device (from adb shell) 
$ adb pull /sdcard/database_name

4
2. komut ile ilgili sorunlar alıyorum: run-as. 'Com.mycompany.myappname' bilinmiyor. Ve evet, doğru paket adını kullandığımdan eminim!
Scott Biggs

1
@PhuLai farklı bir cihaz denediniz mi? Hangi cihaz arızalı?
ölümcül zamanlar

1
Nexus 6P, API 25 ile denedim. Bu yöntemin yeni Android sürümlerinde çalışmayacağını düşünüyorum.
foo

chmod 660 databases/database_nameönce olmalıchmod 660 databases
Alaa M.

@PhuLai - Bunu da aldım ve sonra cpkomutu atlamayı ve sadece pulldışarıdan (izinleri değiştirdikten sonra) yapmayı denedim ve işe yaradı ( adb pull data/data/package.name/databases/db_name.db)
Alaa M.

52

Android Studio 3 ve sonraki sürümlerde , Android Studio'nun Sağ Alt Tarafında bir "Cihaz Dosya Gezgini" Bölümü görebilirsiniz.

Açın, Sonra Dosya Ağacını Görebilirsiniz, Bu Yolda Bir Uygulama Veritabanları bulabilirsiniz:

/data/data/{package_name}/databases/

resim açıklamasını buraya girin


2
Uygulamam için DB dosyasına çift tıkladığımda, okunamayan tüm karakterleri gösteriyor. DB içeriğine bakmak için hangi SQLite okuyucusunu kullanıyorsunuz?
Surekha

4
Ben sqlitebrowser.org ücretsiz, açık kaynak ve tüm platformlar için kullanılabilir öneririz.
Ali Zeynali

3
database.db dosyamda tablo yok.
Binil

Klasör boş. Hata: run-as: Could not set capabilities: Operation not permitted. Samsung cihazı: stackoverflow.com/questions/37413667/…
O-9

25

Son olarak, DDMS'yi açmak zorunda olmayan en basit bir çözüm buldum.

Aslında, çözüm @Distwo'nun bahsettiğine dayanıyor, ancak bu kadar karmaşık olmak zorunda değil.

İlk olarak , veritabanı dosyanızın cihazdaki yolunu hatırlayın, aynı şekilde olmalıdır. Örneğin benimki:/data/data/com.XXX.module/databases/com.XXX.module.database

İkincisi , veritabanı dosyanızı PC'nize çeken bu komutu yürütün

 adb pull /data/data/com.XXX.module/databases/com.XXX.module.database /Users/somePathOnYourPC/

Yapmanız gereken sadece bu komutu kopyalayıp saklamaktır, o zaman tekrar tekrar kullanabilirsiniz.

Üçüncü olarak , İzin Reddedildi veya bunun gibi bir şey aldıysanız, sadece adb rootönceki komuttan önce çalıştırın .


9
Koşu adb roottelefonumda çalışmıyor. Çıkıyor adbd cannot run as root in production builds. Çalıştırdıktan sonra adb root, çekme komutu sadece donuyor ve manuel olarak durdurmam gerekiyor.
LaDude

@Daniela run-as your.package.name, uygulamanıza ait kullanıcı olarak "giriş yapmalısınız" ı deneyin
m02ph3u5 12:15

.Db dosyasını Masaüstünüze kopyalamak, Firefox'a SQLiteManager tarayıcı eklentisini yüklemek ve göz atmaya başlamak için yukarıdaki komutu kullanın. 2 dakikalık iş!
JaydeepW

Bu root komutu emülatör içindi, sadece bu komutu çalıştıramaz ve 'telefonunu' rootlayamazsın.
Darpan

1
her şey yapılır, database.db var. Ancak bu database.db dosyası tablo
içermiyor

16

Bu android stüdyo eklentisi SQLScout'u deneyin . uygulama veritabanınızı gerçek zamanlı olarak görebilir ve düzenleyebilirsiniz.

SQLScout

Edit: Unutmayın ücretli bir eklenti, ama 24 saat deneme var ve baş ağrısı için uygun zaman.


17
Ücretli bir ürün, bahsetmeyi unuttun.
yshahak

58
gerçekten değil, 24 saat deneme süresi var, geleceğimi 24 saatten fazla geliştirici olarak planladım.
yshahak

Ne yazık ki, ücretsiz değil.
K.Sopheak

Deneme süresi sadece 36 saattir.
Mehdi Moqadasi

9

Tüm çözümleri inceledikten sonra önereceğim

Stethos Lets'i kullan Ne
kadar basit olduğunu görelim

Build.gradle dosyasına aşağıdaki bağımlılıkları ekleyin

compile 'com.facebook.stetho:stetho:1.5.0'
compile 'com.facebook.stetho:stetho-js-rhino:1.4.2'

Sonra mainActivity onCreate yöntemine gidin ve aşağıdaki satırı ekleyin

Stetho.initializeWithDefaults(this);

bu seni gerektirir

import com.facebook.stetho.Stetho;

şimdi android studio, Open Chrome ve adres çubuğunda
chrome: // inspect /

kaynaklar sekmesinde> web SQL veritabanını kontrol edin ve tabloyu gerçek zamanlı olarak kolayca oynatın


Oda sadece orm, aynı şekilde çalışır sql açısından hiçbir şey değişmez
ShankPossible

9

En kolay yol Android Hata Ayıklama Veritabanı kitaplığını kullanmaktır (GitHub'da 7.3k yıldız) .

Android Debug-Veritabanı

Avantajları:

  • Hızlı uygulama
  • Tüm veritabanlarını ve paylaşılan tercihleri ​​görün
  • Veritabanı değerlerini doğrudan düzenleme, silme, oluşturma
  • Verilen veritabanında herhangi bir SQLite sorgusu çalıştırın
  • Verilerinizde arama yapın
  • Veritabanını indir
  • Özel veritabanı dosyaları ekleme
  • Cihazı köklendirmeye gerek yok

Nasıl kullanılır:

  1. ekle debugImplementation 'com.amitshekhar.android:debug-db:1.0.6'içinbuild.gradle (module) ;
  2. Uygulamayı başlat;
  3. Hata ayıklama bağlantısını günlüklerde (LogCat'te) bulun (ör. D/DebugDB: Open http://192.168.232.2:8080 in your browser , bağlantı farklı olacaktır) ve tarayıcıda açın;
  4. Güçlü hata ayıklama aracının tadını çıkarın!

Önemli:

  • Maalesef değil emülatörlerle
  • USB üzerinden kullanıyorsanız, çalıştırın adb forward tcp:8080 tcp:8080
  • Android telefonunuz ve dizüstü bilgisayarınız aynı Ağa (Wifi veya LAN) bağlı olmalıdır

Daha fazla bilgi için GitHub'daki kütüphane sayfasına gidin .


1
Bu en iyi ve daha az acı verici bir süreçtir! Teşekkür ederim Daniel
Sudip

5

Android stüdyosu içinde veritabanı içeriğini görmek için basit ve kolay yolu .

#Android Studio 4.1 Canary 6 ve üstü için

Çok basit bir Android Studio'nun Database Inspector özelliğini kullanabilirsiniz . Yeni Veritabanı Denetçisini kullanarak uygulamanızın veritabanlarını inceleyebileceğiniz, sorgulayabileceğiniz ve değiştirebileceğiniz yerler. Örneğin, veritabanınızdaki değerleri değiştirerek ve bu değişiklikleri cihazda gerçek zamanlı olarak test ederek çalışan uygulamanızın hatalarını ayıklayabilirsiniz Android Studio'dan çıkmadan .

Başlamak için uygulamanızı API düzey 26 veya daha üstü çalıştıran bir cihaza dağıtın ve Görünüm> Windows Aracı> Veritabanı Denetçisi'ni seçin. ve menü çubuğundan seçin.

#İçin Studio 4.0 ve

İlk olarak , Android Studio'da Veritabanı Gezgini eklentisini yükleyin

resim açıklamasını buraya girin

İkinci , Android Studio'yu yeniden başlatın

Üçüncü olarak , veritabanını varsayılan konuma kaydedin: (C: \ Kullanıcılar \ Kullanıcı Adı \ Belgeler \ AndroidStudio \ DeviceExplorer \ emulator veya device \ data \ data \ paket adı \ veritabanları)

resim açıklamasını buraya girin

Dördüncü olarak , Veritabanı Gezgini'nde kaydedilen dbname_db dosyasını bağlayın

resim açıklamasını buraya girin resim açıklamasını buraya girin

Üçüncü adımda kullanılan aynı DB dosya yolunu verin

yani (C: \ Kullanıcılar \ Kullanıcı Adı \ Belgeler \ AndroidStudio \ DeviceExplorer \ öykünücü veya aygıt \ veri \ veri \ paket adı \ veritabanları \ paket naem \ dbname_db)

Son olarak , DB bağlantısını test edin ve konsolu açın ve ne yapmak istiyorsanız onu yapın.

resim açıklamasını buraya girin

DB'yi yenilemek istiyorsanız sadece adımı tekrarlayın ikinci ve kaydedin veya yenileyin.

MUTLU KODLAMA !!!!!


3
Bu çözüm, günlük işleriniz için çok çaba gerektirir. Ve veritabanındaki her değişiklikte sql dosyasını yeniden yüklemeniz gerekiyor - biraz karmaşık görünüyor. Yerel sunucuda veritabanı görüntüleme yeteneği veren bazı eklentileri kullanmayı tercih ediyorum
Максим Петлюк

1
Evet, haklısınız, Veritabanı Gezgini'nde gerçek zamanlı veri güncellemesi kalmayana kadar, umarım yakında eklentilerini güncelleyecektir.
Nabin

Kesinlikle harika bir özellik olurdu
Максим Петлюк

Evet, şu ana kadar verileri sorgulamamız, eklememiz, düzenlemeniz ve
silmemiz

Veritabanını yenilemek için her zaman kaydetme yapmam gerekir mi? mysql gibi daha kolay bir yolu var tek ihtiyacım yenileme düğmesine basmaktır.
ー ド リ ュ ー ラ イ 3 ン ア

4

Android stüdyosunda sizin tarafınızdan oluşturulan sqlite veritabanının nerede saklandığını bilmek için basit adımları izlemeniz gerekir:

1.Run your application
2.Go to Tools--->Android---->Device Monitor
3.Find your application name in left panel
4.Then click on File Explorer tab
5.Select data folder
6.Select data folder again and find your app or module name
7.Click on your  database name
8.On right-top window you have an option to pull file from device.
9.Click it and save it on your PC
10.Use FireFox Sqlite manager to attach it to your project.

Daha fazla bilgi için bu bağlantı yararlı olacaktır. http://www.c-sharpcorner.com/UploadFile/e14021/know-where-database-is-stored-in-android-studio/

Db dosyasında bulunan verilerinizi görüntülemek için herhangi bir tarayıcıda sqlite tarayıcı indirmeniz veya aynı eklentiyi eklemeniz gerekir, böylece dosyayı tarayıcıda açmanız ve verilerinizi görüntülemeniz gerekir.

Tarayıcıyı http://sqlitebrowser.org/ adresinden indirin

Kayıt veritabanını içeren tarayıcıyı gösteren ekran görüntüsü

Teşekkürler,


3

En basit yol, cihazınızı bağlamak ve Android Studio'yu çalıştırmak ve ardından Araç Çubuğundan:

  1. Görünüm -> Araçlar Penceresi -> Aygıt Dosya Gezgini
  2. Verilere / verilere gidin ve paketinizi bulun
  3. keşfetmek istediğiniz DB dosyasını bulun ve indirin
  4. Bu çevrimiçi araçta tavsiye ederim: db dosyasını keşfetmek için https://sqliteonline.com/

Başka bir yol Stetho kütüphanesini kullanmaktır:

  1. Build.gradle'ınıza Stello bağımlılığı ekleyin:

    'com.facebook.stetho: stetho: 1.5.0' derleyin

  2. Uygulama sınıfınızın veya ana Etkinliğinizin onCreate () öğesine aşağıdaki satırı ekleyin:

    Stetho.initializeWithDefaults (bu);

  3. Cihazınızı bağlayın, uygulamayı çalıştırın ve Chrome'da aşağıdaki siteye girin:

    chrome: // / # cihazlarını incelemek

Ve işte bu. artık tablolarınızı keşfedebilirsiniz.

Not: üretime geçmeden önce bağımlılığın kaldırılması önerilir.


3

Veritabanlarınıza ANDROID STUDIO İLE göz atmak istiyorsanız, işte şunu kullanıyorum:

Dosyalar / Ayarlar / Eklentiler'e gidin ve şunlara bakın:

resim açıklamasını buraya girin

... Android Studio'yu yeniden başlattıktan sonra indirdiğiniz veritabanı dosyasını aşağıdaki gibi seçebilirsiniz: resim açıklamasını buraya girin

... "SQL Konsolunu Aç" simgesini tıkladığınızda Android Studio içindeki veritabanınızın bu güzel görünümü ile sonuçlanırsınız: ! [resim açıklamasını buraya girin


2
Bu yüzden her zaman emülatörden db kopyalamak zorunda mıyım?
Maksim Kniazev


1

Bu ÇOK eski bir soru ve cevabım yukarıdaki bazı cevaplara benzer ancak ÇOK daha hızlı yapılır. Aşağıdaki komut dosyası Mac içindir, ancak eminim birisi Windows için değiştirebilir.

1) Mac'inizde Script Editor'ı açın (sadece Spotlight'ta Script Editor'ı arayabilirsiniz)
2) Aşağıdaki metni kopyalayıp yapıştırın ve SDK yolunuz, paket adınız vb. İle değiştirin (aşağıya bakın)
3) Komut dosyasını kaydedin! !

Bu kadar! Masaüstünüzde bulunan güncellenmiş veritabanı dosyasını almak için üstteki oynat düğmesine basmanız yeterlidir.

aşağıdaki kodda aşağıdaki şeyleri değiştirin:

path_to_my_sdk == >> sdk'nize tam yol yazın
my_package_name == >> uygulamanızın paket adı
myDbName.db == >> veritabanınızın dosya adı

set getLocalDb to "path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases && path_to_my_sdk/platform-tools/adb shell run-as my_package_name chmod 777 databases/myDbName.db && path_to_my_sdk/platform-tools/adb shell run-as my_package_name cp databases/myDbName.db /sdcard/myDbName.db && path_to_my_sdk/platform-tools/adb pull /sdcard/myDbName.db /Users/User/Desktop/myDbName.db"
do shell script getLocalDb

Umarım bu birine yardımcı olur.


Benim için çalıştı. Dışında 'Kullanıcı'yı MacBook Kullanıcı adınızla değiştirmek zorundasınız / çıkış dizinindeki /Users/User/Desktop/myDbName.db
Kenny Dabiri

1

Sorunun oldukça eski olduğunu biliyorum ama bu sorunun hala devam ettiğine inanıyorum.

Veritabanlarını tarayıcınızdan görüntüleme

Android uygulama projenize bir lib olarak entegre edebileceğiniz bir geliştirme aracı oluşturdum. Araç, web tarayıcısı üzerinden iletişim kurmak için uygulamanızda bir sunucu soketi açar. Tüm veritabanınıza göz atabilir ve veritabanı dosyasını doğrudan tarayıcıdan indirebilirsiniz.

resim açıklamasını buraya girin

Entegrasyon jitpack.io üzerinden yapılabilir:

proje inşa.gradle:

//...
allprojects {
    repositories {
        jcenter()
        maven { url 'https://jitpack.io' }
    }
}
//...

app build.gradle:

//...
dependencies {
    //...
    debugCompile 'com.github.sanidgmbh:debugghost:v1.1'
    //...
}
//...

Uygulama sınıfını ayarlama

DebugGhostLib'i yalnızca belirli yapı türlerinde veya ürün tatlarında derlemek için özel tatlarda elde edilecek soyut bir Uygulama sınıfına ihtiyacımız var. Aşağıdaki sınıfı mainklasörünüze koyun ( java> altında your.app.package):

public class AbstractDebugGhostExampleApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        // Do your general application stuff
    }
}

Şimdi, sürüm oluşturma türünüz (veya ürün aroması) için release(veya ürün aroması) klasörünüze (ayrıca java> altında) aşağıdaki Application sınıfını eklersiniz your.app.package:

public class MyApp extends AbstractDebugGhostExampleApplication {
    @Override
    public void onCreate() {
        super.onCreate();
    }
}

Bu uygulama sınıfı olduğunu will not DebugGhostLib başvuru.

Ayrıca AndroidManifest.xmlkendi uygulama sınıfınızı kullandığınızı da söyleyin . Bu, mainklasörünüzde yapılacak:

<manifest package="demo.app.android.sanid.com.debugghostexample" xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- permissions go here -->
    <application android:name=".MyApp"> <!-- register your own application class -->
        <!-- your activities go here -->
    </application>
</manifest>

Şimdi, hata ayıklama oluşturma türünüz (veya ürün çeşniniz) için, debug(veya ürün çeşnisi) klasörünüze (ayrıca java> altında) aşağıdaki Application sınıfını eklersiniz your.app.package:

public class MyApp extends AbstractDebugGhostExampleApplication {
    private DebugGhostBridge mDebugGhostBridge;

    @Override
    public void onCreate() {
        super.onCreate();

        mDebugGhostBridge = new DebugGhostBridge(this, MyDatabaseHelper.DATABASE_NAME, MyDatabaseHelper.DATABASE_VERSION);
        mDebugGhostBridge.startDebugGhost();
    }
}

Sen alabilirsiniz burada aracı .


Bu özellikle Stetho yeni kromda çalışmayı durdurduktan sonra iyi bir araçtır,
Homayoun Behzadian


1

Android Studio'nun altındaki Aygıt Dosyası Keşfetme Terminalini açın.

Veri adlı klasörü açın , ardından Veri içinde Klasör Verilerini tekrar açın .

Klasör verilerini açma

Klasörler listesinde aşağı kaydırın ve paketiniz.adı ile klasörü bulun. Paketiniz.ad > Veritabanı klasörünü açın . Sen almak your.databaseName . VeritabanıAdı'nıza sağ tıklayın ve C: / your / Computer / Directory dizinine kaydedin.

C: / your / Computer / Directory dizinine gidin . VeritabanıAdınızı DB SQLite ile açın

resim açıklamasını buraya girin


1

Android Studio 3.X için

  1. Görünüm -> Araç Windows -> Aygıt Dosya Gezgini
  2. Dosya Gezgini'nde veri-> veri-> com. (Uygulama paketi) -> veritabanları
  3. Veritabanına sağ tıklayın ve yerel makinenize kaydedin. Açmak için SQLite Studio'yu sadece Veritabanı dosyasını üzerine sürükleyerek kullanabilirsiniz.

SQLite Studio bağlantısı: https://sqlitestudio.pl/index.rvt?act=download


1

Yayımlanmasıyla birlikte Android Studio 4.1 Kanarya ve Dev önizleme , sen adında yeni bir araç kullanabilirsiniz

Veritabanı Denetçisi

DB denetçisi

AS 4.1+'yi yükleyin, uygulamayı çalıştırın, veritabanı denetçisini açın, şimdi veritabanı denetleme panelinin sol tarafında veritabanı dosyalarınızı görüntüleyebilir, ardından içeriği görüntülemek için tabloyu seçebilirsiniz.

Canlı Sorgular

SQL Çalıştır seçeneğini kullanarak sorgu çalıştırabilir veya Room kullanıyorsanız ve sonra veritabanı denetçisini açıp uygulamayı çalıştırabilirseniz, @Queryek açıklamanın sol tarafındaki çalıştırma düğmesini tıklayarak arayüzünüzdeki DAO sorgularını çalıştırabilirsiniz .

canlı sorgular


1

Sunucu tarafı veritabanı gibi android sqlite kullanın

Aşağıda listelenen bu adımları izleyin:

  1. Veritabanı aracı penceresini bulun ve aşağıdaki resimdeki gibi tıklayın

resim açıklamasını buraya girin

  1. Artı simgesini tıklayın ve aşağıdaki resimdeki gibi Android SQLite'yi seçin

resim açıklamasını buraya girin

  1. Android cihazınızı bilgisayarınıza bağlayın

  2. Önemsediğiniz paketi seçin ve aşağıdaki resimdeki gibi veritabanını seçin resim açıklamasını buraya girin

  3. Yukarıdaki tüm bu adımlardan önce , dosyaya erişmek için doğru izne sahip olduğunuzdan emin olmalısınız: /data/data//database/databasefile.db

Tüm bu adımlardan sonra aşağıdaki gibi veritabanı içeriğini göreceksiniz:

resim açıklamasını buraya girin

resim açıklamasını buraya girin

Son önemli şey

Veritabanı verilerinin her güncellendiğinde güncelleme simgesini tıklatmanız gerekir.

resim açıklamasını buraya girin

Umarım bu iş senin için! Teşekkür ederim !


0

Aradığınız cevap bu olmayabilir, ancak telefondan DB indirmek için daha iyi bir yol yok. Önereceğim, bu mini DDMS'yi kullandığınızdan emin olmaktır. Programın sol alt tarafındaki çok küçük kamuflaj kutusunu tıklamazsanız süper gizli olacaktır. (fareyle üzerine gelmeye çalıştı, aksi takdirde özleyebilirsiniz.)

Ayrıca hiçbir filtre yazan açılır menü (sağ üst). Kelimenin tam anlamıyla, PPID, ad ve çok daha fazlası ile farklı süreçleri / uygulamaları izlemenin bir ton farklı yolu vardır. Ben her zaman telefonu izlemek için kullandım, ama unutmayın% 120 pozitif olması gereken dev iş türü yapmıyorum veritabanı sıradan bir şey yapmıyor.

Umarım yardımcı olur

resim açıklamasını buraya girin


0

Bu işlemin bir unix komut satırı otomasyonunu bir araya getirdim ve kodu buraya koydum:

https://github.com/elliptic1/Android-Sqlite3-Monitor

Paket adını ve veritabanı adını parametre olarak alan, ekli Android cihazdan veritabanı dosyasını indiren ve indirilen dosyada özel komut dosyasını çalıştıran bir kabuk betiğidir. Ardından, 'watch' gibi bir unix aracıyla, veritabanı komut dosyası çıkışınızın periyodik olarak güncellenen bir görünümünü içeren bir terminal penceresi açabilirsiniz.


0

Windows 7 kullanıyorum, cihazım öykünmüş bir android cihaz API 23'tür. Köklendiği ve API 23'ün üzerinde olmadığı sürece herhangi bir gerçek cihaz için aynı olduğunu varsayalım.

Araçlar -> Android -> Android Cihaz Monitörü'ne gidin. Dosya Gezgini'ne gidin. Benim durumumda, veri / veri // app_webview / veritabanları / dosya_0 / 1

"1" adlı dosyanın sonuna .db eklemeliyim


0

Bir artı ile diğer cevapların bir kombinasyonu

  1. SQLite için DB Tarayıcısını Yükleme
  2. MyBase.db için "/data/data/com.whatever.myapp/databases/MyBase.db" gibi bir cihaz için Device File Explorer'dan tam konumu alın
  3. Proje penceresini Android'den Project'e ayarlayın - böylece dosyaları görebilirsiniz (build.gradle, gradle.properties, ... vb)
  4. Proje penceresinde sağ tıklayın ve Terminalde Aç'ı seçin
  5. Terminalde artık uygulamanızın kök yöneticisinden hardisk'in içinde olursunuz, bu yüzden yürütün: adb pull /data/data/com.whatever.myapp/databases/MyBase.db
  6. Şimdi Android Studio proje penceresinde "MyBase.db" bir dosya var
  7. Project'ten db dosyanızı çift tıklatın ve artık veritabanlarına DB Browser'da göz atabilir / düzenleyebilirsiniz
  8. Hazır olduğunuzda veritabanlarını hardisk'e kaydetmek için DB Browser'da Değişiklikleri Yaz
  9. Komutu olan terminalde: adb, düzenlenmiş veritabanını aygıta göndermek için Hardisk'ten gönderdiğiniz MyBase.db /data/data/com.whatever.myapp/databases/MyBase.db'yi itin.

0

Uygulamanızın veritabanı klasörünü Android Cihaz gezgini içinde açmak için yukarıdaki adımları izleyin ve orada altı dosya görebilirsiniz, İlk üçü android, son üçü veritabanı adı olarak adlandırılır. Yalnızca son üç dosyayla çalışmanız ve bu üç dosyayı tercih ettiğiniz konuma kaydetmeniz gerekir. Bu dosyaları dosyaya sağ tıklayıp farklı kaydet düğmesini tıklatabilirsiniz (veritabanımın room_database olarak adlandırıldığı ve üç dosyanın da room_database, room_database-shm ve room_database-wal olarak adlandırıldığı gibi. İlgili dosyayı aşağıdaki gibi yeniden adlandırın : -

1) room_database to room_database.db 2) room_database-shm to room_database.db-shm 3) room_database-wal to room_database.db-wal

Şimdi 1. dosyayı herhangi bir SQLite tarayıcısında açın ve üç dosya da tarayıcıda doldurulur.


0

Son olarak, Android Studio bu işlevselliği veritabanı denetçisi sekmesiyle destekler. Görüntüleme / güncelleme / sorgulama işlemlerini kolayca uygulayabilirsiniz. Şimdilik istikrarlı bir kanalda değil, ancak Android Studio 4.1 Canary 5 ve sonraki sürümlerini deneyebilirsiniz.

Veritabanı denetçisinin neye benzediğini burada görebilirsiniz

Ve uygun sürümü buradan indirebilirsiniz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.