2013-05-08 28 views
8

Veritabanımdaki bilgileri doldurmak için kullandığım bir REST hizmeti var, bu daha sonra uygulamam tarafından kullanılacaktır. Konuyla ilgili birkaç konu okudum ve şimdi REST hizmeti ile DB'mizin çalışması arasındaki senkronizasyonu nasıl istediğime karar vermeliyim.Android uygulamasıyla REST hizmetini eşitleme

Hisse senedi hakkında google finans API'larından bilgi alan ve bir DB'de saklayan, uygulama başlatıldığında bilgileri görüntüleyen ve hisse senedi fiyatında belirli olaylar olduğunda bildirimler gönderen bir uygulamayı düşünün.

Bir kullanıcı el ile bir senkronizasyon istendiğinde başlatılan basit AsyncTask seçeneğini zaten uygulamıştım. Şimdi Otomatik senkronizasyon uygulamak zorunda ve bu buldum seçenekleri şunlardır:

  • senkronize

Yani bulduğu Senkronizasyon Adaptörü/Sync Provider kullanın yapacak bir Service oluştur özellikle bu this videoda açıklanmıştır ikinci seçeneğimize avantajları çok, ama aynı zamanda iki önemli dezavantajları: Ben iyi belgelerine bulamadı

  • android sync (these gibi birkaç üçüncü taraf makalesi, ancak resmi bir Google veya Android Developers kılavuz)
  • Bu makaleye göre, bir Eşitleme Bağdaştırıcısında hata ayıklamak OS çökmesi ve yeniden başlatma gibi önemli sorunlara neden olabilir.

Bulduğum bilgilerin çoğu oldukça eskidir, bu yüzden belki de işler değişti, ancak Uygulamamın API düzeyi 8 ve üstü ile çalışması gerekiyordu, bu yüzden her türlü öneri ve bağlantıya çok müteşekkir olacağım dokümantasyon.

+0

Sadece açık olmak gerekirse, uygulama ön planda değilken bile uygulamanın indirilmesini/senkronize edilmesini ister misiniz? Olası çözümler buna bağlı olarak değişebilir. – Esparver

+0

Evet, yapıyorum. Bildirimler için. – tbkn23

+0

Uygulamanın periyodik olarak bir değişiklik olup olmadığını öğrenmek için istekte bulunmasını ister misiniz? – Pcriulan

cevap

3

SyncAdapter ile kesinlikle gidin. Talimatları buradan izleyin: Why does ContentResolver.requestSync not trigger a sync?.

SyncAdapter'i yapmak için, ayrıca bir Hesap/HesapAuthenticator da oluşturmanız gerekir. Böylece SyncAdapter sunucunuz, hizmetinize nasıl giriş yapacağını bilir - Google Finans API'leri gerçekten olmadığı sürece, bildirim, bildirimde, telefondaki zaten hesap ayarlarını kullanacak doğru izinleri uygular.

Söz konusu makaleyi, çöktüğünüzde bahsettiğiniz bağlantıyı bağlamadınız, ancak bunu biliyorum ve aslında Hesaplar hakkında konuşuyorsunuz - Hangi evet, dikkatli olmanız gerekiyor.

İlgili konular