从Firebase数据库中检索数据列表,并将其组成电子邮件的消息
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从Firebase数据库中检索数据列表,并将其组成电子邮件的消息相关的知识,希望对你有一定的参考价值。
我有一些数据存储在Firebase数据库中,其结构如下图所示
在products节点中,每个子节点都有itemName和quantity。按下按钮后,我想从每个孩子中检索这些数据。然后将它们设置为电子邮件的正文并安排它们以逗号分隔,然后在最后显示总价格
productName1,quantity1
productName2,quantity2
productName3,quantity3
总=
我认为解决方案似乎有点简单。但由于我是android Studio和Firebase的新手,我缺乏实现它的技能。提前致谢。
编辑:抱歉,我忘了提及,我将使用意图发送电子邮件。
答案
试试这个并告诉我你哪里卡住了!
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);
Requests.Class
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;
}
}
Product.Class
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;
}
}
以上是关于从Firebase数据库中检索数据列表,并将其组成电子邮件的消息的主要内容,如果未能解决你的问题,请参考以下文章
从 firebase 检索数据并将其显示在可扩展的 recyclerview 中
如何从firebase数据库中检索数据作为字符串而不是字典并将其添加到数组中?
从 Firebase 数据库 Android 保存和检索数据
如何将 Firebase 数据检索到 TableView android 中?我应该使用 RecycleView 还是仅适用于列表?