繁体   English   中英

如何将我的数据(在键:值对中)推送到 android 中的 Firebase 实时数据库中?

[英]How do I push my data (in key:value pair) into my Firebase realtime database in android?

我想将我的数据(在key:value对中)推送到我的实时数据库中。 这是我的代码:

DatabaseReference pay_details = database.getReference("pay/0/0/");

pay_details.push(
    {
          "Actual amount":arr.get(i).get(9),
          "Current reading":arr.get(i).get(5),
          "Employee":arr.get(i).get(1),
          "Expected amount":arr.get(i).get(9),
          "Installment":arr.get(i).get(10),
          "Meter current date":arr.get(i).get(3),
          "Meter previous date":arr.get(i).get(2),
          "Previous reading":arr.get(i).get(4),
          "Start from":arr.get(i).get(8),
          "Total charge":arr.get(i).get(7),
          "Type":arr.get(i).get(0),
          "Unit consumed":arr.get(i).get(6)
    }
);

这是我的表结构:

点击此处查看

我在push部分不断收到多个语法错误。 我哪里错了?

在实时数据库中发送/存储数据的最佳方法是创建一个 Hashmap 的 object。下面是实现此目标的代码

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();
 HashMap<String, Object> data = new HashMap<>();
 data.put("Actual amount", Your actual amount);
data.put("Current reading", Your current reading);
data.put("Employee", Employee name);

databaseReference.child("The child name")
  .updateChildren(data)
  .addOnSuccessListener(new OnSuccessListener<Void>() {
    @Override
    public void onSuccess(Void unused) {
        Log.d("TAG", "Data added successfully");

    }
  }).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
        Log.d("TAG", "Failed " + e.getMessage());
    }
  });

将数据添加到实时数据库需要使用setValue()方法。 在代码中

DatabaseReference pay_details = database.getReference("pay/0/0/");
HashMap<String, Object> map = new HashMap<>();
map.put("fieldName", "fieldValue");
pay_details.setValue(map).addOnCompleteListener(new OnCompleteListener<Void>() {
    @Override
    public void onComplete(@NonNull Task<Void> task) {
        if (task.isSuccessful()) {
            Log.d(TAG, "Data added successfully.");
        } else {
            Log.d(TAG, task.getException().getMessage()); //Never ignore potential errors!
        }
    }
});

如果你想添加多个孩子,那么你也可以使用push()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM