2010-02-09 24 views
7

Tamamlanmamış bir uygulamam var, ancak şimdi onun gelecekteki güncelleştirmesini ele almak istiyorum.Android'de bir uygulama güncellemesinden sonra tablo şeması nasıl güncellenir?

Uygulamamın yeni sürüme geçirildiğini varsayalım, bu nedenle, başladığında, veritabanı şemasının eski olduğunu algılar. Bu nedenle, her bir tablo, tüm verileri korurken sürüm numarasına göre yeni şemaya göre güncellenmelidir.

Android'de SQLite veritabanının bazı sürüm numaralarına ve otomatik güncelleme özelliklerine sahip olduğunu bir yere okudum, ancak bu sorunla ilgili bir örnek bulamadım.

Bu, bir Android uygulamasında SQLite veritabanlarını kullanarak nasıl gerçekleştirilebilir?

Android SQLite veritabanlarında depolanan tablo başına belirli bir sürüm numarası var mı? Eğer öyleyse, nasıl okuyabilirim ve yukarıdaki amacım için kullanabilir miyim?

cevap

6

SQLiteOpenHelper arkadaşın burada.

onCreate ve onUpgrade yöntemlerini sağlamanız gerekir.

+0

Eski kayıtları nasıl saklarım? Notepad onUpgrade yöntemi bunu belirtmiyor. Ayrıca, belirli bir tablonun yalnızca güncellemeye ihtiyacı olup olmadığını nasıl anlarım? – Pentium10

+4

Eski kayıtları, herhangi bir SQL veritabanında olduğu gibi ALTER TABLE deyimlerini veya geçici tabloları kullanarak saklayın. Android, yalnızca genel şemanınızın değişip değişmediğini size söylemede yardımcı olur - hangi tabloların ve benzerlerinin değiştirilmesi gerektiğini belirlemek size kalmıştır. – CommonsWare

+0

(1) Her tablo için ayrı ayrı SQLiteOpenHelper oluşturabilir miyim, sonra bu sınıflarda onCreate ve onUpgrade üzerinde belirgin bir şekilde devam edebilir ve sınıfımdaki her bir sınıf için onUpgrade çalışmasını çalıştırabilir miyim? (2) Ya da tüm uygulamamda sadece 1 SQLiteOpenHelper sınıfı oluşturacağım ve tüm güncellemeleri aynı yerde tüm güncellemeleri oluşturmalı mıyım? (3) SQLite veritabanımı emülatörden PC'ye nasıl aktarabilirim? (4) Veritabanını veya Android mağazalarını güvenli bir yerde şifrelemem gerekir mi? – Pentium10

1

SQLiteOpenHelper'a baktınız mı?

+0

Eski kayıtları nasıl saklarım? Notepad onUpgrade yöntemi bunu belirtmiyor. Ayrıca, belirli bir tablonun yalnızca güncellemeye ihtiyacı olup olmadığını nasıl anlarım? – Pentium10

İlgili konular