Soru & Cevap

Google Marketde Uygulama Güncelleme Sonrası Cihazdaki sqlite ...

28.11.2013 - 04: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?

3 Görüntülenme

5 Cevap

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

Profile picture for user yasinkafadar
yasinkafadar
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.

picture-8836-1386424494.jpg
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)

 

picture-2176-1429627808.jpg
bekirdursun
28.11.2013 - 11: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.

picture-6537-1395347261.jpg
igunduz91
28.11.2013 - 11: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?

picture-6935-1382197169.jpg
fatihturker35
28.11.2013 - 07: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.