Turkcell | Geleceği Yazanlar

Soru & Cevap

Google Marketde Uygulama Güncelleme Sonrası Cihazdaki sqlite db'nin durumu?

28.11.2013 - 16:00

Merhabalar arakadaşlar, bir android uygulamasında db olarak sqlite kullanıldığımda kullanıcı verilerini girerek veri depoyan bir uygulamada güncelleme sonrası sqlite'nin durumu ne olur?

*db.sqlite dosyasını assets klasöründen /data/data/.... diye giden uygulamanın kendi klasörüne yüklediğimi düşünürsek eğer...

Yani kullanıcı uygulamayı kullanırken verilerini db ye kayıt ediyor. güncelleme sonrası verilerin kaybolması gibi bir durum olur mu? veri tabanına zarar gelmemesi için sqlite'yi nasıl kullanmalıyım. Bu konuda yardımcı olur musunuz?

6438 Görüntülenme

5 Cevap

Yasin Kafadar
30.11.2013 - 12:35

Selam İbrahim,

Bilindik bir uygulama üzerinden örnek vermek gerekirse whatsapp'da default olarak 7 günlük konuşma geçmişini " /sdcard/WhatsApp/Databases" path'i altında tutuyor. 2-3 günde bir update olduğu halde mesajlarda herhangi bir kaybolma olmuyor.

Kolay gelsin.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Faruk
30.11.2013 - 02:13

SQLiteOpenHelper sınıfı içerisinde onUpdate metodu vardır. Veritabanı update olduğunda nasıl davranması gerektiğini burdan ayarlayabilirsiniz. Hangi versiyondan hangi versiyona geçtiğini de anlayabilirsiniz. Yeni kolon ekleme silme veya yeni tablo oluşturmanız gerekirse buradan yapabilirsiniz.

http://developer.android.com/reference/android/database/sqlite/SQLiteOpenHelper.html#onUpgrade(android.database.sqlite.SQLiteDatabase, int, int)

 

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Bekir Dursun
28.11.2013 - 23:10

Uygulama içerisinde; "böyle bir veritabanı varsa şu işlemleri yap, yoksa şöyle şöyle veritabanı oluştur, tablo oluştur" şeklinde kodlama yapılır. O yüzden update olayında da veritabanı içerisindeki bilgiler bozulmaz ve aynen kullanılabilir.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

İbrahim Gündüz
28.11.2013 - 23:03

peki eski tabloda yeni bir sütün ekleme gibi bir değişiklik yapmak istersem? işler karışık gibi :S en iyisi tl da veri tutmamaya çalışmak sanırım. çok fazla değişiklik yapmak istediğim zaman.

 

son bir şey? peki veritabanını için bilgileri sd carda depolama gibi bir şey yapmak istersem? yada sqlite yi sdcard üzerinde tutup kullanabilir miyim?

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Fatih TÜRKER
28.11.2013 - 19:58

Merhabalar İbrahim Bey.

Androidde hiç denemediğim için bilmiyorum ama iOS db in adını değiştirmediğin sürece veri tabanıyla ilgili bir sıkıntı yaşanmıyor.

Ama şu şekilde test edebilirsiniz:

Telefonunuzda eski versiyonu run edin, data girin, kaydedin vs.. Daha sonra yeni versiyonu run edin. Eğer data kaybı yaşanmazsa, kullanıcı da güncelleme sonrası veri kaybı yaşamaz.

Sitede yorum yapabilmek için giriş yapın ya da üye olun.

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.