gpt4 book ai didi

java - 如何获取生成我的 Firebase 的 push() key ?

转载 作者:行者123 更新时间:2023-11-30 10:17:53 25 4
gpt4 key购买 nike

enter image description here

正如您从图片中看到的那样,我有一个 child FreezerItems,在那个 child 下面我有另外两个 child ,它们是 Firebase 使用 push() 创建的 randomKeys >。我的问题是,如何具体获取 key L8i2M4wNUF5wOojaFE。另外,如何将该 key 放入我的 RecyclerViewAdapter。我试过这个:

holder.mDeleteBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mDatabase = FirebaseDatabase.getInstance().getReference().child("FreezerItems");
String key = mDatabase.push().getKey();
Toast.makeText(view.getContext(), key, Toast.LENGTH_SHORT).show();
}
});

但所有所做的只是显示一个带有随机键的 Toast,每次我点击按钮时它都会改变

最佳答案

您在代码中所做的是,每次单击该项目时都会生成一个新 ID。您没有使用存储在数据库中的那个。为了使用已经生成过一次的id,你需要先存储它。因此,为了解决这个问题,我建议您将 push() 方法提供的随机生成的 id 存储为模型类的属性。您的数据库结构应如下所示:

Firebase-root
|
--- FreezerItems
|
--- L8i2M4wNUF5wOojaFE
|
--- date: "3/31/2018"
|
--- name: "Ice"
|
--- freezerItemId: "L8i2M4wNUF5wOojaFE"

然后要删除该特定项目,请使用以下代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference freezerItemsRef = rootRef.child("FreezerItems");
holder.mDeleteBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
freezerItemsRef.child(freezerItems.getId()).removeValue();
}
});

其中 freezerItems 是模型类的对象,getId() 是返回特定 ID 的公共(public) getter。

关于java - 如何获取生成我的 Firebase 的 push() key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49547325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com