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

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

Android 如何讓從 firebase 數(shù)據(jù)庫(kù)加載數(shù)據(jù)與 orderByChild()

Android 如何讓從 firebase 數(shù)據(jù)庫(kù)加載數(shù)據(jù)與 orderByChild()

呼喚遠(yuǎn)方 2022-10-07 16:45:48
我想對(duì) Firebase RealTimeDatabase 中的數(shù)據(jù)進(jìn)行排序。我想要做的是,當(dāng)我首先加載數(shù)據(jù)時(shí),它將從我放入的子值開始,如“7”,然后它將根據(jù)子“NUMBER”值以升序和limitToFirst( 2)數(shù)據(jù)。但是日志總是顯示dataSnapshot不存在。這是我的代碼加載數(shù)據(jù)的代碼private void testData(){        final ArrayList<FirebaseDatabaseGetSet> testArrayList;        testArrayList = new ArrayList<>();        databaseReference = firebaseDatabase.getReference();        databaseReference.child("VTEST").orderByChild("NUMBER").startAt("7").limitToFirst(2).addListenerForSingleValueEvent(new ValueEventListener() {            @Override            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {                if (dataSnapshot.exists()){                    Log.d("MOSTPOPCURRENTLASTNODE", "LOAINGMOREDATA");                    for (DataSnapshot DS:dataSnapshot.getChildren()){                        FirebaseDatabaseGetSet getSet = DS.getValue(FirebaseDatabaseGetSet.class);                        testArrayList.add(getSet);                    }                    Log.d("MOSTPOPCURRENTLASTNODE", String.valueOf(testArrayList.get(0).getNUMBER()));                    Log.d("MOSTPOPCURRENTLASTNODE", String.valueOf(testArrayList.get(1).getNUMBER()));                }else {                    Log.d("MOSTPOPCURRENTLASTNODE", "NOLOAINGMOREDATA");                }            }            @Override            public void onCancelled(@NonNull DatabaseError databaseError) {            }        });    }這是我的 Firebase 數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)"VTEST" : {"A" : {  "NUMBER" : 5},"B" : {  "NUMBER" : 3},"C" : {  "NUMBER" : 7},"D" : {  "NUMBER" : 10},"E" : {  "NUMBER" : 12},"F" : {  "NUMBER" : 8}}我對(duì)日志的期望是“7”和“8”,但它總是顯示 dataSnapshot 不存在。有人可以告訴我我在這里做錯(cuò)了什么嗎,我已經(jīng)嘗試尋找其他一些類似的問題,但找不到任何解決方案。
查看完整描述

2 回答

?
慕沐林林

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

您正在過濾:

databaseReference.child("VTEST").orderByChild("NUMBER").startAt("7")

你正在存儲(chǔ):

"NUMBER" : 7

如果你仔細(xì)看,你會(huì)發(fā)現(xiàn)一個(gè)是字符串,另一個(gè)是整數(shù)。在 Firebase 實(shí)時(shí)數(shù)據(jù)庫(kù)中,不同類型的值永遠(yuǎn)不會(huì)相等。

要解決此問題,請(qǐng)按數(shù)值過濾:

databaseReference.child("VTEST").orderByChild("NUMBER").startAt(7)


查看完整回答
反對(duì) 回復(fù) 2022-10-07
?
慕田峪4524236

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

試試這個(gè),我通過縮短孩子以這種方式獲取數(shù)據(jù):-


mChatReference = FirebaseDatabase.getInstance().getReference(VTEST)

                .child("user id");

        Query query = mChatReference.orderByChild("NUMBER");

        query.addValueEventListener(new ValueEventListener() {

            @Override

            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

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

                yourList.add(snapshot.child("NUMBER").getValue());

            }

            }


            @Override

            public void onCancelled(@NonNull DatabaseError databaseError) {


            }

        });


查看完整回答
反對(duì) 回復(fù) 2022-10-07
  • 2 回答
  • 0 關(guān)注
  • 171 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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