2013-02-19 21 views
5

Aygıtta bir SQLite veritabanında veri depolayacak özel bir Kişiler uygulaması geliştiriyorum. Bu cihaz veritabanı bazı nedenlerden dolayı, bir bulut veritabanı ile senkronize edilebilir olması çok önemlidir:Android'de uygulama veritabanını senkronize etmek için bir bulut çözümü

birden fazla cihazınız varsa ve bunların uygulama verilerini sahip olmak isteyebilirler

Kullanıcılar yukarı güncel Tüm cihazlarda; Kullanıcılar bu verilere bir web uygulamasından erişebilir; Bu uygulama birçok resim saklayacağından, cihaz belleği tüm verileri saklamak için yeterli olmayacaktır ve verileri yalnızca bulut veritabanında tutmak için bir arşiv seçeneği bulunacaktır. Buluta arşiv, eski kayıtlar için otomatik olarak yapılacaktır. Gerektiğinde kayıtlar için veri indirmek için bir geri yükleme seçeneği mevcut olacaktır. Gördüğünüz gibi, aygıt veritabanı bir kullanıcı için kişileri tutacak ve bulut veritabanı tüm kullanıcılar için benzer bir db ancak tutma verileri olacaktır. Yani, bu senkronizasyonda bir mantık var. Sadece SQLite DB dosyasının tamamını aşağı yukarı kopyalamak değil. Bu bir satır/sütun seviyesi senkronizasyonu olmalıdır.

Bunu yapmak için hangi çözümü kullanabileceğimi merak ediyorum. Sunucu tarafını uygulamak için Google Cloud veya App Engine'i kullanmak mümkün mü? Cihaz tarafında ne yapabilirim? Herhangi bir fikir?

Gerçekten herhangi bir cevabı takdir ediyorum.

Teşekkürler.

+0

onlar tamamen benim sorunu çözmezse gerçi bazı çözümler bulduk: Dropbox Datastore, Couchbase Lite + Sync Geçidi, ... – Ecil

cevap

3

İstediğiniz herhangi bir 'bulut' tabanlı web servisini kullanabilirsiniz, telefonunuzda mevcut olan tam Java gücü ve sağlam http kütüphaneleri vardır. Amazon EC2 veya App Engine gibi bir platformda bir uygulama/web servisi oluşturmak ve ardından doğrudan uygulamanızdan güvenlik, depolama ve senkronizasyonu kendi başınıza ele almak kesinlikle mümkün.

Şahsen, benim deneyim, ben (AWS veri hizmetleri çeşitli ile birlikte) EC2 Django/Python kullanmak ve o inşaat büyük. Sadece mobil geliştiriciler için hedeflenen yani özel SDK'lar ve arka uç hizmetleri -

Ayrı, senin senaryo için out-of-the-box çözümleri bina başlatılması çeşitli olduğunu biliyoruz. Bunları herhangi bir deneyimi var, ama burada farkındayım bunlardan ikisini (hayır ciro, sadece bağlantılar) yoktur: https://www.parse.com/ https://www.stackmob.com/

+0

[Ayrıştırma öldü veya 28 Ocak olacak, 2017] (http://blog.parse.com/announcements/moving-on/). Ve [StackMob'un yetenekli ekibi PayPal'a katılmıştır] (http://stackmob.com/default.html). – IInspectable

2

şiddetle Google Bulut Mesajlaşma yöntemiyle içine bakmak tavsiye edebilir ve daha özellikle. "Senkronize Gönder" modeli.

Algılama kaydındaki değişikliklerin ve eşitlemenin özellikleriyle ilgili olarak, bu özelliğin birçok veritabanı sistemi tarafından yapıldığını söylemek dışında iyi bir öneri sunamıyorum, böylece bunları nasıl çözdüğüne bakmak isteyebilirsiniz. En yaygın olanlar arasında zaman damgaları ve sürüm numaraları bulunur.

Referans bağlantıları: GCM üzerinde Google I/O oturum (Ben bu almak için güzel intro GCM başladı bulmak) http://www.youtube.com/watch?v=YoaP6hcDctM&list=PL4C6BCDE45E05F49E&index=9

Google Bulut Mesajlaşma dokümantasyon (bağlantı senkronize etmek göndermek için yönlendirmek) http://developer.android.com/google/gcm/adv.html#s2s

zaman boyunca
İlgili konular