2016-04-14 28 views
0

CSV dosyasını indirecek ve DB tablosunu CSV verileriyle dolduracak bir uygulama geliştiriyorum.Android veritabanını CSV dosyasından güncelleştirin

Sorun şu ki, CSV dosyası her saatte bir değiştirilecek ve uygulamam değişime göre DB'yi güncellemek zorunda kalacak.

Değişikliklerin hangisi olacağını bilmiyorum - bir satır silinir/eklenir veya bir kayıt değiştirilir.

Bu durumda en iyi uygulama hangisi olacak? Yeni CSV indirilirken tabloyu bırakıp tekrar oluşturmalı mıyım? Yoksa mevcut değerleri yenileriyle karşılaştırmak ve gerekli değişiklikleri yapmak daha mı iyi olacak?

+0

Her ikisini de deneyin. Neden zaten yapmadın? – greenapps

cevap

0

ben size tablosunda bir updateTime sütunu koyarsanız senin sorunun çözülebileceğini düşünüyorum ve CSV her şey veri aldığınızda, sadece güncellemeyi gerçekleştirin: rowsEffected> 0, gerçekleştirmek

    int rowsEffected = database.update(...); 

eğer yerleştirin. Her eklediğinizde veya güncellediğinizde güncellenmiş datetime öğesini updateTime sütununa ve ayrıca bir ortak okumaya koymanız gerekir. Daha sonra, csv dosyasından sonraki saatteki verileri aldığınızda, sadece tarih zamanını paylaşılan fiyattan kontrol edin ve önceki csv'de bulunmadıklarından ve önceki csv'de bulunmadıklarından, updateTime sütununda veri noktası ile işaretlenmemiş olan tüm sütunları silin ve ekle ve güncelle. Düşürmem ve yeniden yaratmam, çünkü bırak ve yeniden oluşturmayı temizlemeye benzemeye başladım ama burada sadece veriyi yönlendiriyorsun.

İlgili konular