2015-07-06 21 views
5

Uygulamamın veritabanını köklü bir aygıtta ADB ile değiştirmeye çalışıyorum.ADB'yi kullanarak uygulama SQLite veritabanını değiştirin

Ben şu adımları izleyin:

  1. $adb shell
  2. run-as my.app.package
  3. cd databases
  4. rm my_database.db
  5. chmod 777 .
  6. exit
  7. exit
  8. $adb push my_database.db /data/data/my.app.package/databases/my_database.db

yeni veritabanı başarıyla kopyalanır.

Ancak, uygulamanızı yeniden başlattığımda, yeni veritabanının silinip yeniden oluşturulduğu anlaşılıyor. Niye ya?

Teşekkürler.

+0

Veritabanı sürümünden dolayı, veritabanı sürümlerinin aynı olup olmadığını kontrol edin veya onUpgrade() işlevindeki bırakma ifadesini kaldırın (Tavsiye edilmez) – insomniac

+0

bize 'kodunuzu gösterin – Gattsu

cevap

1

Tam olarak nedenini bilmiyorum ama şimdi çalışıyor.

  1. Açık uygulaması (Uygulamamda, veritabanı ana faaliyeti oluşturulur)
  2. Kapat uygulaması openned uygulaması ile söz konusu belirtilen adımları izleyin ve bellekten kaldırmak: Bu adımları takip
  3. Her iki veritabanları versiyonları aynıdır ve ben onUpgrade yönteminde hiçbir koduna sahip uygulamayı

açın.

İlgili konular