我已經實現了一個支持Azure移動服務和離線同步的Android應用程序。我一直在用兩種不同的設備進行測試。我在第一臺設備上執行刪除操作(軟刪除),並且工作正常。然後讓它同步,檢查服務器端記錄,確認刪除列有'true'標記。但我似乎無法讓第二個平板電腦同步以反映新的更改,即不顯示已刪除的記錄。Android Azure移動服務離線同步軟刪除
要啓用軟刪除,我已將enableSoftDelete:true添加到Azure上應用程序服務上的表控制器中。我沒有感動我的應用程序中刪除過程的條件,但下面是一個典型的刪除:
Save save = getSave(SaveID);
try {
mtblSave.delete(save);
return true;
} catch (Exception exception) {
exception.printStackTrace();
return false;
}
我使用.NET後端與Azure中的SQL Server。
任何想法?
在此先感謝
我真的以爲我發現了這個問題。我將同步方法從'mtblSave.pull(null,「tblsave」)。get();'改爲'mtblSave.pull(null).get();'並且它將所有更改的記錄拖下來。該代碼不工作是我認爲會工作的增量同步。我的增量同步代碼有問題嗎?我是否需要實際提出查詢? – SliderUK
我更新了我的答案,你可以參考解釋。 –
嗨,謝謝你,但我不完全理解你以粗體顯示的部分。使用'mtblSave.pull(null,「tblsave」)。get();'是不是一個唯一的'tblSave'的queryid,所以當它再次被調用時它會檢查updatedAt?我使用的方法與其他答案中提到的方法有什麼不同?await coffeeTable.PullAsync(「allCoffees」,coffeeTable.CreateQuery());'? – SliderUK