Soru & Cevap

Yeni data var mı? ...

29.10.2013 - 09:55

Merhaba,

1. Cihaz ilk çalıştırıldığında web servise bağlanarak dataları cihaz içine indiriyor. (Burada sorun yok.) Kullanılan alt yapı Core Data. contex oluşturuluyor. içi boş ise web servisten datayı indiriyor.

2. Web servise yeni datalar eklendi. Cihazın yeni data eklendiğini nereden bilecek.? Sadece yeni dataları nasıl indirecek.

Umarım antalabilmişimdir. 

Sadece geçerli, mantıklı, hızlı bir senaryoya ihtiyacım var. 

Biraz beyin cimnastiği. Teşekkür ederim. 

 

7 Görüntülenme

2 Cevap

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

picture-4271-1380316299.jpg
MuratSisman
31.10.2013 - 04:35

Veritabanındaki tablona Unique + Auto Increment olarak data_number alanı olduğunu farz edelim. Bu alanın her bir ekleme yapıldığında numarası artacaktır. Uygulama her acıldığında Webservice sana "lastTableNumber=1010" gibi bir veri gonderir, sende uygulamada tutmuş olduğun lastTableNumber ile karşılaştırırsın.

Cihazda tutulan eski tableNumber=1000 farz edelim. Webservice'den gelen 1010 ile farklı olduğu için yen bir sorgu gonderirsin. Sorguyu gonderirken chazdaki numarayı da göndermen gerek. Örn: getNewFields.php?myTableNumber=1000  webService de sana 1000 numaralı kayıttan sonraki verileri yollar.

Bu yöntem sadece yeni eklenmiş veriler için geçerli olur, tablodan silinmiş verileri sana bildiremez. Onun için farklı bir method lazım.

 

picture-399-1379511904.jpg
halil
29.10.2013 - 10:40

1-uygulamana bir kontrol mekanızması koy. Çekecegi dataların ne kadarının match olduğuna baksın sonrasını çeksin.

2- Web servis seninse, veya updated time diye bir diger varsa bu datayı parse edip sendeki updated time ile karşılaştır.