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

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

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

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

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

2 回答

?
月關寶盒

TA貢獻1772條經驗 獲得超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);

}


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

TA貢獻1862條經驗 獲得超7個贊

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


現在它是一個數組,你可以ArrayList<String>在你的應用程序中獲取它。


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) {

        // ...

    }

})


查看完整回答
反對 回復 2021-07-23
  • 2 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號