我正在努力保持一個聊天室的例子我正在努力。什麼時候使用指針和何時使用ParseRelation在這個例子中
考慮: 用戶A 用戶B ChatRoom01
在當用戶A進入ChatRoom01這個例子,我想創建兩者之間的關聯。現在,因爲ChatRoom01已經存在,我可以做抓取對象:
ParseQuery<ParseObject> query = ParseQuery.getQuery("ChatRoom");
query.getInBackground(getIntent().getStringExtra("chatRoom"), new GetCallback<ParseObject>() {
@Override
public void done(ParseObject chatRoom, ParseException e) {
if(e == null){
// we found the object
myChatRoom = chatRoom;
// set the activity's title
setTitle(myChatRoom.getString("name"));
}else{
// aww sh!t. can't find it
}
}
});
如果我用一個指針,我會做這樣的事情:
myChatRoom.put("member", ParseUser.getCurrentUser());
當用戶離開房間,我'想要刪除關聯。我在想:
myChatRoom.remove("member");
會從房間中刪除會員關聯。這不是我想要做的。我怎麼做到這一點?
如果事實證明指針是理想的解決方案,當UserB進入聊天室時,我將按照UserA進入房間時的相同步驟操作。但是通過這樣做,我不會用UserB覆蓋UserA的成員信息嗎? ParseRelation似乎是一個更好的選擇,因爲我可以添加/刪除用戶;然而,由於可能有超過100個用戶,我覺得指針是最好的選擇。我願意提供關於如何處理這個問題的建議。
另一種方法是在進入時將它們訂閱到頻道,並在它們離開時取消訂閱。這聽起來不錯,但我不確定如何檢查它們是否已訂閱。