我不熟悉Azure移動服務以及移動開發。我是否應該使用不同的類/方法/模式來處理數據的本地雲同步?
根據我在網頁開發方面的經驗,當用戶請求更多數據時,從數據庫中檢索數據是一部分完成的,即網站不會一次加載所有數據。
我在移動應用中實現這個原理,其中數據被加載(如果已經在本地數據庫中)或者在用戶滾動時下載(如果還沒有在本地數據庫中)。
我正在使用Azure移動服務同步表來處理應用程序中的數據加載。但是,我不能分頁下載數據。根據post,PullAsync方法會下載自上次同步後更改/添加的所有數據,並且不允許使用take/skip方法。這是因爲PullAsync使用增量同步。
這意味着應用程序首次啓動期間將會有大量數據下載,或者即使用戶未請求上述數據,應用程序仍未上線一段時間(即滾動到它)。
這是處理移動應用程序中數據的好方法嗎?我喜歡使用SyncTable,它可以處理很多重要的數據上傳/下載內容,例如數據上傳排隊,數據更改的下載/上傳。我只關心下載用戶不需要的數據。
或者,也許有我能做的事情來限制項目PullAsync下載? (除了deleted = false和UserId =當前用戶的UserId)
當前,我限制了用戶登錄後以及用戶拉動刷新時PullAsync被調用到加載屏幕。
這裏有一個額外的評論,特別與Azure移動服務有關。您可以創建數據視圖 - 通過調整查詢服務器端或使用實際的SQL VIEW。數據視圖是移動設備實際獲取的數據集的投影。例如,許多人使用查詢調整來限制呈現的數據集(例如:僅基於身份驗證接收「我的」記錄)。 –
感謝Brian Sherwin。你可以推薦任何文章/書籍/網站,我可以得到移動設計原則和東西的感覺?我會在問題中插入請求,但不確定它是否適合問題的堆棧溢出格式。 – osse
我沒有任何具體的書籍/網站能夠準確解決您要查找的內容,但是如果您查看以下鏈接(https://msdn.microsoft.com/zh-cn/library/ee658108.aspx)可以瞭解如何考慮應用程序和一般考慮因素。 –