第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

偵聽 Firebase Firestore 數(shù)據(jù)庫中的元數(shù)據(jù)更改

偵聽 Firebase Firestore 數(shù)據(jù)庫中的元數(shù)據(jù)更改

縹緲止盈 2022-05-12 18:21:51
我正在使用 Firestore 數(shù)據(jù)庫創(chuàng)建一個(gè)聊天模塊。以下是我的監(jiān)聽器代碼,用于監(jiān)聽新消息:   mDb.collection("Users_Collection").document(mAuth.getUid()).collection("Recipients")                .document(psychichObj.getUid()).collection("Messages").orderBy("time").limit(30)                .addSnapshotListener(MetadataChanges.INCLUDE, new EventListener<QuerySnapshot>() {                    @Override                    public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {                        if (e==null){                            for (DocumentChange dc:queryDocumentSnapshots.getDocumentChanges()){                                switch (dc.getType()){                                    case ADDED:                                        Log.d("chatevents", "onEvent:Added ");                                        messgaesDataClass msg = dc.getDocument().toObject(messgaesDataClass.class);                                        messages.add(msg);                                        chatAdapter.notifyDataSetChanged();                                        messagesRecycler.smoothScrollToPosition(messages.size());                                        break;                                    case REMOVED:                                        Log.d("chatevents", "onEvent:Removed ");                                    case MODIFIED:                                        Log.d("chatevents", "onEvent:Modiefied ");                                }                            }                        }                    }                });當(dāng)我發(fā)送消息時(shí),我想知道如何偵聽本地緩存中的 msg 對象或其元數(shù)據(jù)處于掛起狀態(tài)且尚未發(fā)送到服務(wù)器?
查看完整描述

1 回答

?
千巷貓影

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

MetadataChanges傳遞給 Query 的addSnapshotListener(MetadataChanges metadataChanges, EventListener listener)方法時(shí):

指示僅元數(shù)據(jù)更改(即僅 Query.getMetadata() 更改)是否應(yīng)觸發(fā)快照事件。

這基本上意味著每次元數(shù)據(jù)更改時(shí),都會觸發(fā)偵聽器。因此,在掛起操作的情況下,變量的值pending將被更改。

我想知道如何監(jiān)聽本地緩存中的 msg 對象

在這種情況下,您應(yīng)該考慮使用 SnapshotMetadata 的isFromCache()方法:

Log.d(TAG, "isFromCache: " + documentSnapshot.getMetadata().isFromCache());

當(dāng)我在線時(shí),它會打?。?/p>

isFromCache: false

當(dāng)我離線時(shí),它會打?。?/p>

isFromCache: true


查看完整回答
反對 回復(fù) 2022-05-12
  • 1 回答
  • 0 關(guān)注
  • 117 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號