我已經開始對Android應用程序最近使用Parse庫。我想使用saveEventually存儲用戶聯繫人,然後使用ParseRelation將相同的用戶關聯起來。由於有多個聯繫人映射到用戶,我使用下面的代碼來處理我的保存功能。如何確保使用saveEventually()保存ParseObject和ParseRelation()
ParseRelation relation = ParseUser.getCurrentUser().getRelation(relationshipName);
for(int entityIndex = 0; entityIndex < entities.length;entityIndex++) {
...
entity[entityIndex].saveEventually(); relation.add(entity[entityIndex]);
...
}
ParseUser.getCurrentUser().saveEventually();
這裏我使用saveEventually()每個有效實體(的parseObject),然後加入同向關係。稍後一旦所有對象都添加到ParseRelation中,最後我調用saveEventually()給ParseUser將所有關係存儲到Parse。
這種方法是否正確?我在relation.add(entity [entityIndex])處得到以下異常;
關係中的所有對象都必須具有對象標識。
看來,這表明某些網絡連接問題,ParseRelation沒有得到唯一對象ID爲每個的parseObject,但我假設這saveEventuall()將處理這種情況以及與ParseRelation
請建議。我正在使用解析庫版本1.1.11
謝謝。
謝謝Hector。很抱歉,遲到回覆。我明白你的建議。但我不希望該操作與網絡相關(用戶保存數據時)。我希望每當有網絡連接時,數據就會被存儲起來,否則就像saveEventually()完成一樣。根據您的建議,ParseRelation無法實現。那麼,有沒有什麼辦法可以避免網絡依賴性,如果不是網絡,那麼本地仍然保留相關對象?在對象上總會有一些關係,這個限制使saveEventuall()在大部分地方都不可用。 – Jit 2013-03-13 17:56:33
謝謝Hector。我明白了你的觀點。我應該使用saveEventually(SaveCallback回調)來實現我正在嘗試做的事情。因爲這將確保所有對象都存儲在本地,直到網絡不可用,並且一旦有網絡連接,就保存對象並將回調調用到存儲關係。 – Jit 2013-03-14 05:00:33