2012-06-14 93 views
2

我想保持我的應用程序與服務器同步。客戶端(android應用程序)和服務器之間的通信通過JSON Objects/HTTP進行處理。如果連接不再可用,最好的策略是什麼?用戶可以繼續使用應用程序工作,這一點很重要。是否存在這種同步問題的框架?處理斷開的網絡連接的最佳策略?

我想過一個交易隊列?任何建議或經驗?

感謝

回答

1

有關讀取......我曾經寫過一個緩存URL管理器,將加載從服務器響應讀取JSON並將其寫入SD卡。如果用戶在短時間內對同一個URL做了另一個請求,那麼URL管理器將簡單地從文件系統中返回緩存的json作爲JSON回覆。這使通信代碼有點透明,因爲我總是處理JSON回覆,無論它們是否被緩存或實時。

要將信息發送到服務器,您可以將所有信息寫入數據庫,並使用後臺服務將數據推送到服務器。這樣,用戶界面將始終成功地編寫信息,並且如果存在網絡連接,則您的同步服務將推送數據。使用服務,您可以簡單地傳遞數據服務的意圖,它可以不用擔心寫入數據庫和同步等

+0

好方法!我該如何處理服務器端錯誤? – elCapitano

+0

由服務器端錯誤,你的意思是客戶端到服務器通信錯誤,其中請求服務器失敗...或者你的意思是在服務器本身發生的錯誤? – stuckless

+0

我想到了服務器端的語義錯誤。例如,當用戶在客戶端創建對象時,與該對象一起工作並且在同步期間出現錯誤,已經由另一個用戶創建。 – elCapitano