2010-09-08 15 views
18

co robimy obecnie?
Mamy kilka strukturyzowane, dane tekstowe na serwerze, który jest narażony korzystania z usług internetowych (relaksującego). Moja aplikacja regularnie sprawdza ten serwer (usługa AlarmManagerService) w celu pobrania danych i zapisania ich w lokalnej bazie danych (sqlite). Ponadto, użytkownik jest uwierzytelniony i autoryzowany wcześniej, aby uzyskać dostęp.Android przypadek użycia SyncAdapter

Pytania:

  1. Istnieje klasa SyncAdapter/AccountManager w SDK i zastanawiałem się, czy to może być dowolnego wykorzystania w mojej aplikacji, aby osiągnąć synchronizację wymienionych powyżej?

  2. Jeśli tak, jakiego rodzaju infrastruktury jest potrzebne na tylnym końcu wspierać synchronizację skonfigurować za pomocą tej karty? Znane są linki do artykułów itp., Które podają szczegóły korzystania z tego adaptera i innych informacji.

Odpowiedz

18

Tak SyncAdapter/AccountManager jest przydatny do użycia. Aplikacja Authenticator (która wywołuje funkcję AccountManager za sceną) może obsługiwać uwierzytelnianie dla aplikacji. SyncAdapter może obsługiwać okresowe synchronizacje z serwera do lokalnego magazynu danych. Nie będziesz musiał zaimplementować go samodzielnie za pomocą programu AlarmManager. Aby uzyskać samplecode na temat korzystania z SampleSycnAdapter/Authenticator, zapoznaj się z SampleSyncAdapter w witrynie Android devguide.

Twój backend serwer reszta będzie pracować z SyncAdapter dobrze, bez większych zmian. Jedyne różnice byłyby w twoim kliencie, jak na przykład zamiast wywoływania metod pobierania danych serwera w AlarmManager, zamiast tego wywoływałbyś je w onPerformSync() twojej klasy, która rozszerza SyncAdapter. Powyższy przykładowy kod sprawi, że będzie on bardziej przejrzysty. Pomoże to.

+0

Dzięki Megha! Sprawdzę przykładowy projekt (wydaje mi się, że do tego będę musiał pobrać 2.2). Plz potwierdzić moje zrozumienie: to jest w zasadzie klasa, która jest zaprojektowana, aby ułatwić synchronizację między dwiema stronami? Muszę napisać całą komunikację sieciową, analizowania XML, trwałości logikę danych i zastosować warstwę SyncAdapter aby otoczyć wszystkie przepływy? – Samuh

+0

Tak, to prawda. –

Powiązane problemy