2016-03-31 17 views
2

Android Cihazımda (Kendi Uygulamam) bir SQLite Veritabanı var. Şimdi Bilgisayarımdaki SQLite Veritabanı'nı görmek istiyorum.Android, SQLite Database to Computer/Mac

Bilgisayarımdaki kök hakları olmadan ve SD kart olmadan Veritabanını almak için herhangi bir çözüm (kolay yol) var mı?

bunu google çalıştı ama ben bu sorun için herhangi bir çözüm ....

Edit bulamıyor: Ben Emulator (Cihazıma Kamera gerekir) değil kullanıyorum. varsayılan konuma SQLite DB kaydediyorsanız

+0

kopyalayabilirsiniz. – Vijay

+0

tamam, çok teşekkür ederim. – FunkyMan

+0

En kolay yol, bu bağlantıdaki tam kılavuz olan Terminal üzerinden gerçekleştirilir. Cevap dheeraj bhaskar. http://stackoverflow.com/questions/18370219/how-to-use-adb-in-android-studio-to-view-an-sqlite-db – HourGlass

cevap

3

Bu yöntem, kaldırılmamış aygıtım için çalıştı.

// cihazınız

adb cihazlar

bağlı olmadığını kontrol

adb shell

çalışma olarak your.package.name

chmod 777 veritabanları/your.database.name

çıkış

cp /data/data/your.pac kage.name/your.database.name mnt/sdcard/

çıkış

adb pull mnt/sdcard/your.database.name

telefon size doğrudan can erişim DB köklü değilse
+0

Bir SD kartım yok ... – FunkyMan

+0

Size erişilebilecek dosya klasörüne kopyala. adb kabuğunu yapın. cd mnt/Sonra ls. Ve bana klasör isimlerini söyle.Bilgisayarımdaki klasör adını – crashOveride

+0

nereye kopyalayacağımı söyleyeceğim? – FunkyMan

1

, sen Sen iç ve dış hem gidebilirsiniz geçtiği aynı kullanarak Android Cihaz Monitor bulabilirsiniz

/data/data/com.dev.myapplication/databases/mydb.db 

aşağıdaki gibi yolunda aynı bulabilirsiniz bellek.

Veritabanı dosyasını bulduğunuzda, USB kablosunu bağladıktan sonra aynı şeyi ayıklayın ve masaüstüne kaydedin. Sen, dosyayı masaüstüne çıkarılan sonra

enter image description here

"cihazdan dosya çekin" seçeneğini kullanabilirsiniz veritabanını görüntülemek için Mozilla Firefox SQLite viewer benzer herhangi araçları kullanabilirsiniz.

+0

Ancak bu Veritabanını almak için Kök haklarına ihtiyacım var mı, değil mi? Bunu denedim ama "veri" klasörüm boş. – FunkyMan

+0

Bunun için kök hakları gerekli değildir. Başka bir yere kaydetmeyi ve doğrulamayı deneyin. Örneğin harici SD kart konumunuz ve bazı özel klasörler. – Stallion

+0

Bir SD kartım yok ... Onu başka bir yere kaydetmeye çalışıyorum. Teşekkürler. – FunkyMan

5

ama Eğer, o zaman, klasör indirmek için kopyalamak gelen sqlite veritabanı almak için bir sigara köklü cihaz için bir yolu yoktur Bence PC

public static void copyAppDbToDownloadFolder(Activity ctx) throws IOException { 
    File backupDB = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), 
      "databse_name.db"); // for example "my_data_backup.db" 
    File currentDB = getApplicationContext().getDatabasePath("databasename.db"); 
    if (currentDB.exists()) { 
     FileChannel src = new FileInputStream(currentDB).getChannel(); 
     FileChannel dst = new FileOutputStream(backupDB).getChannel(); 
     dst.transferFrom(src, 0, src.size()); 
     src.close(); 
     dst.close(); 
    } 
} 
+0

Teşekkürler, daha sonra deneyeceğim. Eğer bu işe yarıyorsa, bir oy ver + – FunkyMan

+0

@FunkyMan kazanamazsınız, henüz. Ancak bu cevabı kabul edildi olarak işaretleyebilirsiniz. Sanırım birkaç gün beklemelisin. –

+0

oh tamam .......: / – FunkyMan