Mylić o synchronizacji wielu tabel z adaptera synchronizacji i dostawcy treści

Jestem zdezorientowany, który sposób jest najlepszy, aby wiele tabel zostało zsynchronizowanych w mojej aplikacji.

Mam jednego dostawcę treści i zamierzam mieć wiele tabel (zdarzenia, użytkownicy itp.). Mam też rest-serwer, z którym aplikacja ma się komunikować. Zastanawiam się, jaka jest najlepsza praktyka obsługi wielu połączeń (put, get, post i delete) dla każdej z tabel. Mają również relacje, jak jeden użytkownik może uczestniczyć w wydarzeniu, ale także być właścicielem wydarzenie. Jeśli więc utworzyłem użytkownika i Zdarzenie należące do tego użytkownika, mogę albo przesłać użytkownika, odzyskać informacje o użytkowniku z serwera, przesłać zdarzenie z informacjami o użytkowniku, odzyskać te informacje, a następnie zaktualizować użytkownika o nowe informacje o zdarzeniu.

Jaki jest najlepszy sposób na rozwiązanie tych problemów? Czy powinienem stworzyć metodę (http://example.com/sync) który agreguje wszystkie dane, które powinny być zsynchronizowane? A może powinienem trzymać się, czasem ~15-20 prośby?

Author: jonepatr, 2011-10-27

3 answers

Polecam obejrzeć Google I/O 2010-aplikacje klienckie Androida wideo. Jest to fantastyczne wprowadzenie do niektórych koncepcji i zalecanych wzorców do pisania aplikacji synchronizujących projektowanie.

Osobiście znalazłem odpowiedzi na większość moich pytań.

Zobacz też tę prezentację . Wraz z prezentacją i próbką adaptera synchronizacji dostarczoną wraz z zestawem SDK, poniższa lista powinna zapewnić wystarczającą ilość amunicji, aby uzyskać synchronizację adapter działa dość szybko.

 6
Author: Huds0nHawk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-04 21:45:27

Evernote rozwiązał podobny problem z własnym protokołem EDAM. Warto się temu przyjrzeć.

Evernote EDAM

 7
Author: Vikram Bodicherla,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-06 03:50:17

Wszystko zależy od ilości danych, które chcesz zsynchronizować.

Jeśli to tylko dane tekstowe, a nie dużo, należy zsynchronizować je wszystkie na raz. Polecam zakodowanie go do json, zapięcie i wysłanie na serwer (gdzie można rozpakować, parsować i zapisać). Json jest lekki i łatwy do komponowania na androi, a także do analizowania na prawie każdym rodzaju serwera.

Jeśli chcesz synchronizować obrazy, lepiej synchronizuj je pojedynczo, aby mieć pewność, że masz częściowy postęp zapisywane w przypadku przerwania połączenia.

 2
Author: zrgiu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-01-04 10:21:03