簡體   English   中英

如何從具有 2 層結構的 Firebase 中檢索數據?

[英]How to retrieve data from Firebase that have 2 layer structure?

我的 Firebase 中有 2 層表結構。 我在檢索這個時遇到問題。 如何從我的 Firebase 中檢索這些數據? 我已經提供了我的主要代碼和我的訂單 class。

在此處輸入圖像描述

這是我的代碼

 databaseReference = FirebaseDatabase.getInstance().getReference("Order");
        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                if (dataSnapshot.exists()) {
                    orderList = new ArrayList<>();

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

                            orderList.add(orderSnapshot.getValue(Order.class));
                        }

                    psOrderAdapter PsOrderAdapter = new psOrderAdapter(orderList);
                    recyclerView.setAdapter(PsOrderAdapter);
                }
            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {
                Toast.makeText(ManageOrder.this, databaseError.getMessage(), Toast.LENGTH_SHORT).show();
            }
        });

public class Order {
    public String cust_id;
    public String pro_id;
    public String total;
    public String name;
    public String address;
    public String phone;
    public String status;
    public String date;
    public String dateTime;


    public Order() {
    }

    public Order(String cust_id, String pro_id, String total, String name, String address, String phone, String status,String date, String dateTime) {
        this.cust_id = cust_id;
        this.total = total;
        this.name = name;
        this.address = address;
        this.phone = phone;
        this.pro_id = pro_id;
        this.status = status;
        this.date=date;
        this.dateTime=dateTime;
    }
//getter and setter
}

我期待這樣的結果

在此處輸入圖像描述

嘗試以下操作:

for(DataSnapshot orderSnapshot : dataSnapshot.getChildren()) {
    for(DataSnapshot ds : orderSnapshot.getChildren()) {
         orderList.add(ds.getValue(Order.class));
    } 
}

添加另一個 for 循環以便能夠檢索數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM