亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何遍歷由firebase隨機生成的不同鍵值

如何遍歷由firebase隨機生成的不同鍵值

呼啦一陣風 2021-12-30 20:46:02
這是我想要遍歷的數據結構,因為您可以看到用戶有不同的用戶,我可以輕松遍歷這些用戶,因為它們是在 firebase 身份驗證期間生成的用戶 ID,因此我可以訪問它們,但現在我想遍歷內部事件節點具有未知的鍵值,因為我使用 push 創建它們,并且 attenance 節點也是使用 push 創建的,并且應該具有多個值,我應該如何在它們之間遍歷
查看完整描述

1 回答

?
滄海一幻覺

TA貢獻1824條經驗 獲得超5個贊

為了解決這個問題,有兩種方法。如果您使用名為 的模型類向數據庫添加數據Event,要取回數據,請使用以下代碼行:


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

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

DatabaseReference eventsRef = rootRef.child("users").child(uid).child("events");

ValueEventListener valueEventListener = new ValueEventListener() {

    @Override

    public void onDataChange(DataSnapshot dataSnapshot) {

        for(DataSnapshot ds : dataSnapshot.getChildren()) {

            Event event = ds.getValue(Event.class);

            Log.d(TAG, event.getName());

        }

    }


    @Override

    public void onCancelled(@NonNull DatabaseError databaseError) {

        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!

    }

};

eventsRef.addListenerForSingleValueEvent(valueEventListener);

第二種方法是使用 String 類,如以下代碼行所示:


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

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

DatabaseReference eventsRef = rootRef.child("users").child(uid).child("events");

ValueEventListener valueEventListener = new ValueEventListener() {

    @Override

    public void onDataChange(DataSnapshot dataSnapshot) {

        for(DataSnapshot ds : dataSnapshot.getChildren()) {

            String name = ds.child("name").getValue(String.class);

            Log.d(TAG, name);

        }

    }


    @Override

    public void onCancelled(@NonNull DatabaseError databaseError) {

        Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!

    }

};

eventsRef.addListenerForSingleValueEvent(valueEventListener);

在這兩種情況下,logcat 中的輸出將是:


Yoga Camp

Blood Donation Camp


查看完整回答
反對 回復 2021-12-30
  • 1 回答
  • 0 關注
  • 150 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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