2012-02-16 107 views
6

我們試圖在託管在不同Android設備上的SQL Lite數據庫與中央服務器上託管的SQL Server數據庫之間進行同步。由於客戶端的先決條件,我們取消了Web服務的使用。可以有另一種方式嗎?Android設備上的SQL Lite數據庫與SQL Server數據庫之間的同步數據庫

PS:我們被允許在一天結束時將設備掛接到可以託管Windows服務應用程序的服務器或同步過程的Windows窗體應用程序。

謝謝

+0

數據需要同步到哪個方向? – 2012-02-27 23:37:10

回答

1

你會如何將它們掛到服務器上「一天結束時」?通常情況下,你會在這種情況下做什麼是在設備上編寫一個自定義應用程序,以便在可能的情況下同步數據。

你可以用各種方法做到這一點。

第一個是編寫一個服務,它坐着並檢查它是否有能力與Web服務器連接(例如,您可以簡單地使用局域網連接並使首選項具有確定服務器的字符串你想同步到),然後以這種方式進行同步。

此服務可以由意圖控制。您還可以編寫一個腳本,它向adb發出命令,在設備之間來回轉換(如果通過USB連接)以進行同步。

我認爲最好的方法可能是在您的應用中創建一個「同步」活動。這個活動可以有一個按鈕,當按下時通過互聯網啓動與遠程客戶端的同步(你說你有,但你怎麼連接它?)。

+0

感謝您的回答,你是什麼意思的adb,謝謝 – 2012-02-28 07:23:23

+1

adb是一個守護進程,坐落和通信與您的Android設備。這是android調試橋。您可以通過調試橋發出命令(包括意圖)。因此,您可以編寫一個應用程序來偵聽意圖,並使用調試橋將意圖從計算機發送到設備(只要它通過USB連接,理論上也可以使用WiFi) – 2012-02-28 07:28:11

+0

這看起來像是最好的解決方案,直到現在,謝謝:) – 2012-02-28 07:35:01

1

儘管暴露的Web服務不應該被使用,但是可以在服務器上打開/實現一些HTTP接口/方法,可以調用設備來傳遞數據。可能是一個專門的Web應用程序,只能寫入從您的設備獲取數據,該應用程序將負責將內容傳遞到SQL Server。

使用另一種替代方法[即掛鉤設備],您需要以某種商定的格式將設備數據作爲文件傳輸/導出,然後由Windows服務/表單應用程序使用。

+1

是唯一的方法是大量的工作,我使用HTTP休息和每個表中的最後修改/創建列來節省帶寬 – max4ever 2012-02-24 11:55:51