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

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

如果另一個集合中的另一個值為 true,則從 Firebase 獲取值

如果另一個集合中的另一個值為 true,則從 Firebase 獲取值

繁星點點滴滴 2021-07-10 15:14:38
我目前在我的 Firebase 實時數(shù)據(jù)庫中有一個 users 集合,其中包含我的所有用戶和一個包含書籍名稱和評級(豎起和豎起拇指的次數(shù))的集合。 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 我正在嘗試制作一個可以不斷顯示書名(或我的數(shù)據(jù)庫中的書名)的應(yīng)用程序,以便人們可以對它們進(jìn)行評分,但是我需要能夠檢查用戶是否已經(jīng)查看過這本書的書名(這是我需要幫助的部分)。有人可以幫助我從 Firebase 中提取數(shù)據(jù)并進(jìn)行比較以查看用戶是否查看過這本書的書名。這就是我的數(shù)據(jù)庫設(shè)置的樣子
查看完整描述

2 回答

?
月關(guān)寶盒

TA貢獻(xiàn)1772條經(jīng)驗 獲得超5個贊

要解決這個問題,請使用以下方法來檢查用戶是否看過一本書:


private void checkBookTitle(String bookTitle) {

    String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();


    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

    DatabaseReference ref = rootRef.child("Users").child(uid).child("books_viewed");

    ValueEventListener valueEventListener = new ValueEventListener() {

        @Override

        public void onDataChange(DataSnapshot dataSnapshot) {

            if(dataSnapshot.exists()) {

                Map<String, Object> map = (Map<String, Object>) dataSnapshot.getValue();

                for (Map.Entry<String, Object> entry : map.entrySet()) {

                    if (entry.getValue().equals(bookTitle)) {

                        Log.d(TAG, "User has viewed this book");

                    } else {

                        Log.d(TAG, "User has not viewed this book");

                    }

                }

            }

        }


        @Override

        public void onCancelled(@NonNull DatabaseError databaseError) {}

    };

    ref.addListenerForSingleValueEvent(valueEventListener);

}


查看完整回答
反對 回復(fù) 2021-07-23
?
牧羊人nacy

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

首先,books_viewed變成一個數(shù)組。閱讀本文以了解Firebase 實時數(shù)據(jù)庫中的數(shù)組


現(xiàn)在它是一個數(shù)組,你可以ArrayList<String>在你的應(yīng)用程序中獲取它。


public class User {

    public ArrayList<String> booksViewed;

    ... // Other variables

}

然后只需使用該contains功能檢查您需要查找的書是否在該列表中


DatabaseReference userRef = FirebaseDatabase.getInstance().getReference().child("Users").child("<UserID>")


userRef.addValueEventListener(new ValueEventListener() {

    @Override

    public void onDataChange(DataSnapshot dataSnapshot) {

        User user = dataSnapshot.getValue(User.class);

        String bookTitleYouAreChecking = "Twilight"    

        if (user.booksViewed.contains(bookTitleYouAreChecking)) {

            // User has viewed

        } else { 

            // User has not viewed

        }

    }


    @Override

    public void onCancelled(DatabaseError databaseError) {

        // ...

    }

})


查看完整回答
反對 回復(fù) 2021-07-23
  • 2 回答
  • 0 關(guān)注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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