【问题标题】:Firebase - Edit/Update Database on Button Click after RetrievingFirebase - 检索后单击按钮编辑/更新数据库
【发布时间】:2017-09-29 18:55:17
【问题描述】:

我正在从 Firebase 数据库中检索 4 个 Edittexts 和 1 个 Spinner 的值。

  • Edittext -> fName
  • Edittext -> lName
  • Edittext -> dateOfBirth
  • 微调器 -> carType
  • Edittext -> carNumber

显示所有这些值。但是如何编辑它们并在单击按钮下更新。

关注documentation,但没有成功。

请看这个post。你会明白的

【问题讨论】:

  • 你能显示你的代码吗
  • 不清楚您要做什么。您要更新数据库中的数据吗?另外,将代码发布为您如何更新数据。
  • 您是否使用setValue() 更新值?
  • 是的,我正在使用 setValue()

标签: android firebase firebase-realtime-database


【解决方案1】:

假设您的数据库结构与question 中的相同,请使用以下代码:

final DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

yourButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        rootRef.child("Drivers").child(driverId).child("carNumber").setValue("newCarNumber");
    }
});

其中driverId 是您要更新的特定驱动程序的ID。 对于其他字段,只需将carNumber 更改为cardType、dateOfBirth、name 或surname。

例如,如果您想更新最后一个驱动程序的数据,请使用以下行:

rootRef.child("Drivers").child("-Kv6q2beyS50VCxxX3M7").child("carNumber").setValue("newCarNumber");

【讨论】:

  • 您好,我也在使用这种方法,但我遇到了问题。数据上传到 firebase,但是当删除相同的数据时,onclick 方法会自行运行并上传编辑文本中存在的内容。注意:当应用在后台或前台打开时会发生这种情况。
  • @MohammadMaaz 没有看到您正在使用的代码,我帮不上什么忙。因此,请使用自己的MCVE 发布一个新问题,以便我和其他 Firebase 开发人员可以帮助您。
  • 我做了一个工作,现在我没有遇到问题。在我使用“valueEventListener”之前,这会导致按钮单击在数据更改时自行运行。经过一番学习,我发现'addListenerForSingleValueEvent'只会运行1次,这解决了我的问题
【解决方案2】:

应该很容易,如果我了解您的需求,我不舒尔。

public void editData(String childKey, String fName, String lName, String dateOfBirth, String carType, String carNumber) {
    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child(childKey);
    databaseReference.child("fName").setValue(fName);
    databaseReference.child("lName").setValue(lName);
    databaseReference.child("dateOfBirth").setValue(dateOfBirth);
    databaseReference.child("carType").setValue(carType);
    databaseReference.child("carNumber").setValue(carNumber);
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-27
    • 1970-01-01
    • 2014-01-17
    • 1970-01-01
    • 2018-07-12
    • 2018-04-16
    • 2016-06-11
    • 2018-02-14
    相关资源
    最近更新 更多