2015-12-14 8 views
7

Mam bazę danych SQLite na Androida i bazę danych MySQL na serwerze. Chcę synchronizować te bazy danych, gdy użytkownik edytuje dane na swoim telefonie lub edytuje dane na stronie internetowej.Jak synchronizować bazy danych SQLite i MySQL za pomocą powiadomień wypychanych?

Wiem, jak zaktualizować bazę danych MySQL na serwerze, gdy użytkownik wprowadza zmiany w telefonie, ale nie wiem, jak zaktualizować bazę danych Androida, gdy użytkownik wprowadza zmiany w witrynie.

Czytałem na powiadomienia Push i wierzę, że jest to dobra droga do naśladowania, ale mam kilka pytań na ten temat:

  1. gdy dane dodane przez użytkownika za pośrednictwem strony internetowej będzie wysyłać powiadomienia push na telefon tego użytkownika, informujący o wprowadzeniu zmian. Czy to powiadomienie push może spowodować aktualizację bazy danych Androida z nowymi zmianami wprowadzonymi do bazy danych serwera?

  2. Co zrobić, jeśli użytkownik wyłączy powiadomienia push? Czy nadal będę mógł uruchamiać aktualizację bazy danych Androida?

Mam również przeczytać na synchronizację bazy danych SQLite i MySQL i znalazłem ten post SQLite and MySQL sync ale nie znaleźliśmy post pomocne dla mojej sytuacji.

Czy powiadomienia push są dobrym rozwiązaniem, czy powinienem zastosować inne podejście?

Krótko mówiąc - chcę, aby urządzenie z Androidem wykryło zmiany w bazie danych MySQL i zaktualizowało bazę danych SQLite bez inicjowania synchronizacji przez użytkownika.

Odpowiedz

0

Obawiam się, że nie użyłem powiadomień push. Ale rozwiązaniem może być: Możesz utworzyć wczesne wywołanie metody do asynchronicznego zdarzenia odpytywania z launchera onCreate(), który wyszukuje serwer, aby sprawdzić, czy jakiekolwiek zmiany zostały zarejestrowane (chociaż pewien rodzaj API) w MySQL, i a następnie zaktualizować SQLite w ten sposób? Ponieważ jest to pierwsza rzecz, która dzieje się po uruchomieniu, technicznie użytkownik nie inicjuje tego. To prawda, że ​​to nie będzie aktualizowane podczas korzystania z aplikacji, chyba że będziesz regularnie powtarzać ankietę?

Powiązane problemy