首页 > 解决方案 > 从 Firebase 数据库中检索数据列表,并将其编写为电子邮件的消息

问题描述

我有一些数据存储在 Firebase 数据库中,其结构如下图所示

在此处输入图像描述

在 products 节点中,每个子节点都有项目 productName 和数量。按下按钮后,我想从每个孩子那里检索这些数据。然后将它们设置为电子邮件的正文并排列它们,使它们用逗号分隔,然后在最后显示总价格

产品名称1,数量1

产品名称2,数量2

产品名称3,数量3

总计 =

我认为解决方案似乎有点简单。但由于我是 Android Studio 和 Firebase 的新手,我缺乏实现它的技能。提前致谢。

编辑:对不起,我忘了提,我将使用意图发送电子邮件。

标签: androidfirebase-realtime-database

解决方案


试试这个,告诉我你在哪里卡住了!

        FirebaseDatabase databaseRef = FirebaseDatabase.getInstance().
                                         getReference("Requests");
        ValueEventListener mValueEventListener;
        ArrayList<Requests> requestList = new ArrayList<>();
        mValueEventListener = new ValueEventListener() {

                                @Override
                                public void onDataChange(DataSnapshot dataSnapshot) {
                                    try{
                                        for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {
                                                Requests obj = postSnapshot.getValue(Requests.class);
                                                requestList.add(obj)
                                        }
                                        //You will get the list of request objects here and you can parse products from it via loop
                                        //Handle your code here further
                                    } catch(Exception e){
                                        e.printStackTrace();
                                    }
                                }
                                @Override
                                public void onCancelled(DatabaseError databaseError) {

                                }
                          };

        databaseRef.addValueEventListener(mValueEventListener);

请求类

import java.util.ArrayList;

public class Requests {

    String address,name,phone,status,total;
    ArrayList<Products> productsArrayList;

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getTotal() {
        return total;
    }

    public void setTotal(String total) {
        this.total = total;
    }

    public ArrayList<Products> getProductsArrayList() {
        return productsArrayList;
    }

    public void setProductsArrayList(ArrayList<Products> productsArrayList) {
        this.productsArrayList = productsArrayList;
    }
}

产品.类

public class Products {

    String price,productId,productName,quantity,userPhone;


    public String getPrice() {
        return price;
    }

    public void setPrice(String price) {
        this.price = price;
    }

    public String getProductId() {
        return productId;
    }

    public void setProductId(String productId) {
        this.productId = productId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getQuantity() {
        return quantity;
    }

    public void setQuantity(String quantity) {
        this.quantity = quantity;
    }

    public String getUserPhone() {
        return userPhone;
    }

    public void setUserPhone(String userPhone) {
        this.userPhone = userPhone;
    }
}

推荐阅读