Hej. Szukam najlepszych praktyk synchronizacji informacji przechowywanych w db sqlite db na iPhonie z moim głównym serwerem.
Aby podać więcej informacji, sklepy z aplikacjami na iPhone'aksiążki, które użytkownik czyta i pozwala im przeglądać książki w formie listy. Wszystkie informacje o książce są przechowywane na serwerze i można je edytować ze strony internetowej. Więc kiedy użytkownik uruchomi aplikację, muszę zsynchronizować db sqlite na telefonie z moim głównym serwerem, aby uzyskać aktualną listę książek.
Czy ktoś ma sugestie?
Dzięki.
Odpowiedzi:
0 dla odpowiedzi № 1Zasadniczo chcesz poradzić sobie z „zmianami”a nie cała lista książek przy każdym uruchomieniu aplikacji. Więc za pierwszym razem możesz pobrać wszystko (lub zapełnić iPhone'a niektórymi danymi początkowymi), a następnie śledzić aktualizacje.
Następnie przy kolejnych uruchomieniach rozpocznij NSThread(w applicationDidFinishLaunch :), aby pobrać zmiany na listę książek, od pewnego znacznika czasu, na iPhone'a. Przeanalizuj dane, zaktualizuj bazę danych, zapisz nowy znacznik czasu, a następnie ponownie załaduj UITableView lub inny widok, którego używasz.
Jeśli chcesz umożliwić edycję na iPhonie, masz dodatkowe problemy z współbieżnością (np. Edytujesz tę samą książkę w tym samym czasie).