0
我有一個聊天應用程序,當用戶點擊其他用戶的個人資料,我做一個檢查,如果聊天已與此用戶使用下面的代碼存在來篩選火力地堡數據庫值:無法使用查詢
FirebaseUser fu = FirebaseAuth.getInstance().getCurrentUser();
String fuId = fu.getUid();
DatabaseReference queryRef = FirebaseDatabase.getInstance().getReference();
Query query = queryRef.child("chats").child(fuId).orderByChild("otherUsersName").equalTo("Tim Cook");
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()){
//open the exsiting chat
}else{
//start a new chat
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
這裏是我的數據庫快照:
既然有一個名爲「蒂姆·庫克」,我點擊蒂姆·庫克的個人價值,就應該打開現有的聊天活動,但每次新的聊天活動開啓和我的查詢不起作用roperly。我想知道我在做什麼錯誤,這也是一種好技術,還是應該以另一種方式處理? 在此先感謝。
但是因爲可以有很多用戶聊天,所以我不知道chatId是什麼。我需要從所有聊天中搜索並找到一個匹配。 –
我明白了。請看我更新的答案。 –
嘿,謝謝你的回答。我仍然有一個問題。如果某個用戶有很多聊天記錄,這段代碼是否會變得緩慢,這是最好的方法嗎? –