Soru & Cevap

SQLite ve Sunucudaki Veri tabanın eşleştirilmesi

08.08.2014 - 06:17

Yaptığım android uygulamada uygulamanın offline'da çalışabilmesi için kullanıcının kaydettiği birtakım bilgileri uygulama üzerinde SQLite ile oluşturduğum veri tabanına kaydediyorum. bu bilgilerin aynı zamanda Sunucumda da yer almasını istiyorum. ve böylece iki ayrı veri tabanındaki verilerin sürekli otomatik olarak eşleştirilme sorunu ortaya çıkıyor. Eşleştirme işlemini günde bir defa kullanıcı internete bağlandığı zaman yapmak istiyorum. Ayrıca kaydedilecek veriler büyük ölçekli değil. 20 KB' max.  Anlattığım gibi bir işlemi yapmak için ne öneririsiniz?

şimdiden teşekkürler

13 Görüntülenme

3 Cevap

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

picture-1372-1408467635.jpg
ahmtbrk
09.08.2014 - 12:24

BroadcastReceiver ile interneti dinleyebilirsiniz.

http://viralpatel.net/blogs/android-internet-connection-status-network-change/

yapacağınız şeyi sözel olarak anlatayım anlamazsanız detaylandırayım.

Burada internetin açıldığını dinleyeceksiniz 3g veya wifi.

Daha sonra bi senkronizasyon isimli tablo açın sqlite'ye.

alanlarında tarih ve durum olsun mesela.javada bugünün tarihi çektin diyelim ne geldi(bu formatta tarih çekebiliyosun)

08/08/2014  - durumda int olsun mesela 1 olarak eklet.

eğer 08/08/2014 kayıtı varsa ve durumu 1 ise data gün içinde eklenmiştir tekrar ekletmeye gerek yok.

Eğer yok ise ekleteceksin.

Yani bu olayı her onReceive olduğunda denetleyecek bir yapı kuracaksın.Gidip SQLiteye bağlanacak paşalar gibi sorgusunu yapacak bugünün tarihini ve durumu 1 olan kayıt'a where atıp bakacaksın var mı.Var ise es geç yok ise eklet.

picture-10669-1512039260.jpg
dupi
08.08.2014 - 10:44
Hocam şaka yapıyor gibisiniz. Önemli kısımları atlamışsınız zaten, Programda bir servis yapın, sharedprefences ile boolean tipli keyi tarih, values'i false olan bir anahtar oluşturun Gönderin başarılı olunca anahtara true değerini verin. -------------- Yada saat başı kontrol etsin farklı değer varsa guncellesin.
picture-2335-1379625106.jpg
rocxteady
08.08.2014 - 06:37

Sunucunda bir web servis yazman gerekecek. Uygulamanla bu web servise o bilgileri yollayacaksın, web servisi yazdığın platformda da database'ine bağlanıp kaydedeceksin verileri.

Mushfig
08.08.2014 - 07:14
O kısımlarını biliyorum ve hatta webservislerim de hazır. sadece günde bir kez ve kullanıcının interneti olduğu zaman bu işlemi yapmak istiyorum. bu konuda bir öneriniz var mı?
Ulaş Sancak
08.08.2014 - 11:45
Uygulama açıkken mi yapmasını istiyorsunuz yoksa kapalıyken arka planda da yapmasını istiyor musunuz?