Uwaga: zalecamy WorkManager jako zalecane rozwiązanie w większości przypadków użycia związanych z przetwarzaniem w tle. Zapoznaj się z przewodnikiem dotyczącym przetwarzania w tle, aby sprawdzić, które rozwiązanie jest dla Ciebie najlepsze.
Synchronizacja danych między urządzeniem z Androidem a serwerami WWW może znacznie zwiększyć przydatność i atrakcyjność aplikacji dla użytkowników. Na przykład przeniesienie danych na serwer WWW stanowi przydatną kopię zapasową, a przeniesienie danych z serwera sprawia, że są one dostępne dla użytkownika nawet wtedy, gdy urządzenie jest offline. W niektórych przypadkach użytkownicy mogą łatwiej wpisywać i edytować swoje dane w interfejsie internetowym, a później udostępniać je na swoich urządzeniach. Mogą też zbierać dane i przesyłać je do centralnego obszaru pamięci masowej.
Możesz zaprojektować własny system do przenoszenia danych w swojej aplikacji, ale rozważ użycie platformy adaptera synchronizacji w Androidzie. Ta platforma pomaga zarządzać transferem danych i automatyzować go, a także koordynować operacje synchronizacji w różnych aplikacjach. Używając tej platformy, możesz korzystać z kilku funkcji niedostępnych w przypadku samodzielnie projektowanych schematów przesyłania danych:
- Architektura wtyczek
- Pozwala dodać do systemu kod transferu danych w postaci komponentów z możliwością wywołania.
- Automatyczne wykonywanie
- Umożliwia automatyzację przenoszenia danych na podstawie różnych kryteriów, takich jak zmiany danych, upłynięcie czasu lub pora dnia. Dodatkowo system dodaje do kolejki transfery, których nie można uruchomić, i uruchamia je, gdy jest to możliwe.
- Automatyczne sprawdzanie sieci
- System uruchamia przesyłanie danych tylko wtedy, gdy urządzenie jest połączone z siecią.
- Poprawiona wydajność baterii
- Umożliwia scentralizowanie wszystkich zadań transferu danych z aplikacji w jednym miejscu, dzięki czemu będą one uruchamiane w tym samym czasie. Zaplanowano też przesyłanie danych z innych aplikacji. Współczynniki te zmniejszają liczbę razy, gdy system musi włączać sieć, co zmniejsza wykorzystanie baterii.
- Zarządzanie kontem i uwierzytelnianie
- Jeśli Twoja aplikacja wymaga danych logowania użytkownika lub logowania na serwerze, możesz opcjonalnie zintegrować zarządzanie kontem i uwierzytelnianie z przenoszeniem danych.
Ta klasa pokazuje, jak utworzyć adapter synchronizacji i powiązany z nim element Service
, który go opakowuje, jak dostarczyć inne komponenty ułatwiające podłączanie adaptera synchronizacji do platformy i jak uruchamiać adapter synchronizacji na różne sposoby.
Uwaga: adaptery synchronizacji działają asynchronicznie, więc należy ich używać z założeniem, że będą przesyłać dane regularnie i wydajnie, ale nie natychmiast. Jeśli musisz przenosić dane w czasie rzeczywistym, musisz to zrobić w AsyncTask
lub IntentService
.
Lekcje
- Tworzenie kodu uwierzytelniającego
- Dowiedz się, jak dodać komponent do obsługi konta, który platforma adaptera synchronizacji powinna być częścią Twojej aplikacji. Z tej lekcji dowiesz się, jak dla uproszczenia utworzyć komponent uwierzytelniania skróconego.
- Tworzenie dostawcy wycinka kodu
- Dowiedz się, jak dodać komponent dostawcy treści, który platforma adaptera synchronizacji powinna być częścią Twojej aplikacji. W tej lekcji zakładamy, że aplikacja nie korzysta z dostawcy treści, więc pokazujemy, jak dodać komponent wycinka kodu. Jeśli w swojej aplikacji masz już dostawcę treści, możesz pominąć tę lekcję.
- Tworzenie adaptera synchronizacji
- Dowiedz się, jak umieścić kod transferu danych w komponencie, który platforma adaptera synchronizacji może uruchamiać automatycznie.
- Korzystanie z adaptera synchronizacji
- Dowiedz się, jak uruchamiać i planować przesyłanie danych za pomocą platformy adaptera synchronizacji.