場景:我的應用程序有很多活動。最後,用戶只需點擊一下就可以上傳他的所有數據。上傳/同步數據到服務器的最佳方法?
問題:如果用戶在移動並停止服務(互聯網服務/連接不良),則他/她無法上傳數據,可能會出現問題。
在這種情況下,我想知道什麼可能是最有效的方法。
我想到了一種方法。如果由於連接不好/沒有服務,我會將數據本地保存在SQLite中。當用戶下次打開應用程序時檢查服務/連接是否可用,保持線程處於活動狀態。如果是的話,它會立即上傳。
我會熱切地等待您的意見。
場景:我的應用程序有很多活動。最後,用戶只需點擊一下就可以上傳他的所有數據。上傳/同步數據到服務器的最佳方法?
問題:如果用戶在移動並停止服務(互聯網服務/連接不良),則他/她無法上傳數據,可能會出現問題。
在這種情況下,我想知道什麼可能是最有效的方法。
我想到了一種方法。如果由於連接不好/沒有服務,我會將數據本地保存在SQLite中。當用戶下次打開應用程序時檢查服務/連接是否可用,保持線程處於活動狀態。如果是的話,它會立即上傳。
我會熱切地等待您的意見。
學習如何上傳數據,我建議看谷歌I/O 2012 - 加工好大應用程序:獲得專家Android開發更高級的主題:http://www.youtube.com/watch?v=PwC1OlJo5VM#從16:43。它涉及效率和對電池壽命的影響。
總結視頻:
做一個大的上傳,而不是幾個小上傳由於手機無線電是如何工作的,並儘量減少接觸網絡。
在較低級別上,如user370305所示,嘗試上傳數據,如果沒有連接延遲,則下次用戶打開應用或點擊上傳按鈕時上傳。
這就是我所問...所以我會這樣做,將這些數據保存在SQLite中,當用戶打開應用程序時,按上傳按鈕數據上傳。 – Debopam
用同步標誌將所有數據保存到SQLite。使用服務不斷檢查未被標識的標誌,並嘗試在後臺發送到服務器,並在同步完成時更新標誌。
另一種方法,如果從SQLite同步到直接SQL Server,則可以設置事務或批量更新,因此如果連接失敗,它將恢復事務。
簡單的好友..!最後當你上傳數據時檢查連接是否正常,然後上傳數據,否則只是存儲在本地數據庫中,下一次當用戶來到應用程序時,上傳數據並使數據庫清除。因此,不需要任何服務檢查連接不斷.. – user370305