Firebase 查詢資料

Firebase的資料圖


data.png

連接資料庫

//必須完成Firebase Setup後才能使用
//取得Firebase連結(jié)
FirebaseDatabase database = FirebaseDatabase.getInstance();
//Firebase入面邊個(gè)目錄
DatabaseReference getContactsRef = database.getReference("ex1").child("Contacts");

取全部數(shù)據(jù)

Query queryRef = getContactsRef;

    queryRef.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {

                Log.v("Get",dataSnapshot.toString());

            }
            ...
        });

Output
V/dataSnapshot: DataSnapshot { key = 1, value = {sex=male, name=Wing, age=19} }
V/dataSnapshot: DataSnapshot { key = 2, value = {sex=male, name=Ray, age=21} }
V/dataSnapshot: DataSnapshot { key = 3, value = {sex=female, name=May, age=20} }

過濾

參考資料http://chikuo.tw/android-x-firebase-03-資料查詢/#more-141

方法 用法
limitToFirst() 只回傳前幾筆資料
limitToLast() 只回傳後幾筆資料
startAt() 只回傳大於所指定值的資料
endAt() 只回傳小於所指定值的資料
equalTo() 回傳所指定值的資料

只顯示 age=19

Query queryRef = getContactsRef.orderByChild("age").startAt(19).endAt(19);
//Query queryRef = getContactsRef.orderByChild("age").equalTo(19);
//兩句都得

        queryRef.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {

                Log.v("dataSnapshot",dataSnapshot.toString());

            }
             ...
        });

Output
V/dataSnapshot: DataSnapshot { key = 1, value = {sex=male, name=Wing, age=19} }

排序

參考資料http://chikuo.tw/android-x-firebase-03-資料查詢/#more-141

方法 用法
orderByChild() 按路徑下子節(jié)點(diǎn)的值做排序
orderByKey() 按節(jié)點(diǎn)的 key 做排序
orderByValue() 按路徑下的值做排序
orderByPriority() 按節(jié)點(diǎn)所指定的優(yōu)先順序做排序

每次只能依照一種排序方式做排序。

//根據(jù)歲數(shù)由小至大排序
Query queryRef = getContactsRef.orderByChild("age");

    queryRef.addChildEventListener(new ChildEventListener() {
            @Override
            public void onChildAdded(DataSnapshot dataSnapshot, String s) {

                Log.v("Get",dataSnapshot.toString());

            }
            ...
        });

Output
//根據(jù)歲數(shù)由小至大排序
V/dataSnapshot: DataSnapshot { key = 1, value = {sex=male, name=Wing, age=19} }
V/dataSnapshot: DataSnapshot { key = 3, value = {sex=female, name=May, age=20} }
V/dataSnapshot: DataSnapshot { key = 2, value = {sex=male, name=Ray, age=21} }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容