2012-02-16 16 views
6

Staramy się synchronizować między bazami danych SQL Lite hostowanymi na różnych urządzeniach z systemem Android oraz bazą danych serwera SQL hostowaną na serwerze centralnym. Wyeliminowaliśmy korzystanie z usługi internetowej ze względu na warunki wstępne klienta. Czy może być inny sposób?Synchronizacja między bazą danych SQL Lite na urządzeniu z systemem Android a bazą danych SQL Server

PS: Możemy podłączyć urządzenia pod koniec dnia do serwera, który może obsługiwać aplikację usługi Windows lub aplikację formularzy systemu Windows do synchronizacji.

Dzięki

+0

W jakim kierunku należy zsynchronizować dane? –

Odpowiedz

1

Jak można je podłączyć do serwera "na koniec dnia?" Zazwyczaj w takiej sytuacji można napisać niestandardową aplikację na urządzeniu, która synchronizowała dane, gdy tylko było to możliwe.

Można to zrobić na różne sposoby.

Po pierwsze, należy napisać usługę, która znajduje się i sprawdza, czy ma możliwość połączenia z serwerem sieciowym (na przykład można po prostu użyć połączenia LAN i ustawić preferowany ciąg określający, który serwer którą chcesz zsynchronizować), a następnie zsynchronizuj w ten sposób.

Ta usługa może być kontrolowana przez intencję. Można również napisać skrypt, który wydał polecenia adb, który dokonał niezbędnych przejść między urządzeniem (jeśli był podłączony przez USB), aby wykonać synchronizację.

Uważam, że najlepszym sposobem na rozwiązanie tego problemu może być utworzenie "synchronizacji" aktywności w aplikacji. Ta aktywność może mieć przycisk, który po naciśnięciu zainicjował synchronizację ze zdalnym klientem przez Internet (co powiedziałeś, że masz, ale jak się do niego podłączyć?).

+0

Dzięki za odpowiedź, co masz na myśli przez adb, dzięki –

+1

adb jest demonem, który siedzi i komunikuje się z urządzeniem z Androidem. To jest androidowy most debugowania. Możesz wydawać polecenia (w tym zamiary) za pośrednictwem mostu debugowania. Więc możesz napisać aplikację, która słucha intencji, i użyć mostu debugującego, aby przesłać zamiary z komputera do urządzenia (o ile jest połączone przez USB, teoretycznie możliwe jest również korzystanie z wifi) –

+0

To wygląda jak najlepsze rozwiązanie do teraz, dzięki :) –

1

Chociaż odsłonięte usługi internetowe nie powinny być używane, ale niektóre interfejsy HTTP/metody mogą być otwierane/wdrażane na serwerze, które można wywoływać w celu przekazania urządzenia do przesyłania danych. Może to być dedykowana aplikacja internetowa napisana tylko dla pobierz dane z urządzeń, a ta aplikacja zajmie się przekazaniem treści do serwera sql.

Z drugą alternatywą [która podpina urządzenie], musisz przesłać/wyeksportować dane urządzenia jako plik w uzgodnionym formacie, który może następnie zostać wykorzystany przez aplikację usługi/formularza Windows.

+1

tak, jedynym sposobem jest dużo pracy, używam reszty http i kolumny lastmodified/tworzenia w każdej tabeli, aby zaoszczędzić przepustowość – max4ever

Powiązane problemy