2012-07-05 12 views
6

Istnieją aplikacje, które działają zarówno na urządzeniach z systemem iOS, jak i Android (zarówno telefon, jak i tablet) i umożliwiają synchronizację danych między różnymi urządzeniami.Synchronizacja danych aplikacji między systemem iOS i Androidem

  1. Czy istnieją jakieś frameworki lub biblioteki udostępniające tę funkcję synchronizacji?
  2. Jeśli nie, jakie są różne opcje wdrożenia?
  3. Czy usługa iCloud może być używana do synchronizowania danych aplikacji na urządzeniach z systemem Android i iOS?

Odpowiedz

2

Czy są jakieś ramy lub biblioteki, które udostępniają tę funkcję synchronizacji?

Nie. Brak szkieletów ani bibliotek zapewniających rodzaj synchronizacji między platformami, którą iCloud zapewnia dla urządzeń Apple.

Jeśli nie, jakie są różne opcje wdrożenia?

  1. Nie używać mechanizmu synchronizacji w ogóle, a zamiast używać usługi sieci web. To może być dobre rozwiązanie w niektórych przypadkach.
  2. Skorzystaj z bazy danych SQLite w aplikacjach na iOS i Androida i we własnym zakresie zaimplementuj rozwiązanie synchronizacji.Niektóre z wyzwań, które będziesz twarz, jeśli zdecydujesz się na wdrożenie rozwiązania niestandardowe synchronizacji są następujące:
    • zapewnić mechanizm rejestracji, aby korzystać z usług cloud uboczne/serwer
    • odczytu i zapisu danych do/z serwera/chmura
    • Wykrywanie i rozwiązywanie konfliktów (tj scalić konfliktów)
    • Offline dostęp do danych i obsługi sytuacji, gdy urządzenie nie jest podłączone do dowolnej sieci
    • W iOS, nie będzie w stanie wykorzystać rdzeniowe Dane (co sprawia, że ​​tworzenie jest stosunkowo łatwe), więc musisz zadbać o efektywne wyświetlanie danych, optymalizację dostęp do danych itp

Czy iCloud być wykorzystywane do synchronizacji danych aplikacji na urządzeniach z Androidem i iOS?

Nie. ICloud jest tylko dla urządzeń Apple (od teraz, lipiec 2012).

+0

Mylące/nieaktualne informacje. Spójrz na inne odpowiedzi. –

0

Nie wiem o systemie iOS, ale dzięki Androidowi można synchronizować dane do/z chmury (serwera) za pomocą adaptera synchronizacji. Przykład:

http://developer.android.com/training/cloudsync/index.html

Więc jeśli masz jakieś dane z aplikacji iPhone do serwera, można po prostu zsynchronizować go do aplikacji na Androida, jak również i vice versa.

-1

C2DM została zaniechana:

Ważne: C2DM został oficjalnie wycofany z 26 czerwca 2012. Oznacza to, że C2DM przestał przyjmować nowych użytkowników oraz żądania kwot. Żadne nowe funkcje nie zostaną dodane do C2DM. Jednak aplikacje korzystające z C2DM będą nadal działać. Istniejący programiści C2DM są zachęcani do migracji do nowej wersji C2DM, nazywanej Google Cloud Messaging dla Androida (GCM). Więcej informacji można znaleźć w dokumencie migracji C2DM-GCM. Deweloperzy muszą używać GCM do nowego rozwoju.

Użyj GCM: Link

4

czy są jakieś ramy lub biblioteki, które udostępniają tę funkcję synchronizacji?

Możesz sprawdzić platformę OpenMobster Cloud. Usługa synchronizacji zabezpiecza replikację danych między urządzeniami z systemem Android i iOS. Wszystko, co musisz zrobić, to rozwinąć Kanał synchronizacji Java po stronie chmury i użyć interfejsu API urządzenia po stronie urządzenia, aby uzyskać dostęp do swoich danych. Tu jest link do projektu: http://openmobster.googlecode.com

Full Disclosure: Jestem Inżynier szef platformy OpenMobster

+0

Dzięki. Sprawdzę to, kiedy dostanę szansę. – Mustafa

+0

Czy mogę używać OpenMobster do synchronizacji danych między Androidem i iOS oraz Java Desktop lub aplikacją sieciową? Jeśli mogę, jak skalowalne jest to rozwiązanie? Ilu użytkowników może jednocześnie używać? Z góry dziękuję. –

0

EnduroSync z Orando Labs to nowy produkt, który spełnia dokładnie to, o co prosisz. Są klienci na iOS i Androida, a więcej przychodzi.

Pełna informacja: Pracuję w Orando Labs.

Klienci EnduroSync umożliwiają tworzenie magazynów danych obiektów na urządzeniach lokalnych. Klienci są dość wyrafinowani - dane są modelowane jako obiekty natywne dla każdego klienta, który obsługujemy (iOS i Android teraz, więcej przychodzą). Klienci pracują w trybie offline i online. Dane są zapisywane lokalnie w bazie danych sqlite.

Podczas zmiany obiektów w modelu delty są zapisywane na urządzeniu. W pewnym momencie można "zsynchronizować" obiektową składnicę danych. Synchronizacja wykorzystuje proces zatwierdzania/pchania/wyciągania (np. Git), ale jest to dla ciebie niewidoczne. Synchronizacja przynosi lokalną kopię na bieżąco z tym, co znajduje się na serwerze, i wysyła wszelkie wprowadzone zmiany. Konflikty są rozwiązywane za pomocą scalania opartego na sygnaturach czasowych, więc nowsze dane nie są zastępowane starszymi danymi.

EnduroSync jest usługą online, więc nie ma konfiguracji serwera po twojej stronie.

Istnieje również elastyczny system uprawnień, który umożliwia udostępnianie magazynów danych obiektów na różne sposoby. Na przykład, większość aplikacji będzie miała jeden lub więcej magazynów danych obiektowych dla każdego użytkownika, dla preferencji, notatek, znaczników itd. Można również udostępniać magazyny danych obiektów dla aplikacji, typu użytkownika i wieloznacznych, na wiele innych sposobów.

Zasadniczo używasz naszych pakietów SDK klienta do modelowania danych na urządzeniu. Modelowanie odbywa się za pomocą prostych obiektów w natywnym języku programowania urządzenia. Jeśli podpiszesz numer usługi synchronizacji, otrzymasz również synchronizację.

+2

Czy możesz podać trochę wiedzy technicznej? W ten sposób nie jest to prosty link do zasobu zewnętrznego. Odpowiedzi powinny być w stanie stanąć na własną rękę; proszę, sprawdź [odpowiedź]. – brasofilo

Powiązane problemy