Android 无法对Firebase数据库中的嵌套项执行更新操作?
大家好,我正在尝试在嵌套的Firebase数据库中执行更新操作。 这是数据库的结构: 我正在尝试将Android 无法对Firebase数据库中的嵌套项执行更新操作?,android,firebase-realtime-database,android-recyclerview,Android,Firebase Realtime Database,Android Recyclerview,大家好,我正在尝试在嵌套的Firebase数据库中执行更新操作。 这是数据库的结构: 我正在尝试将标题文本更新为已更新的魔鬼蛋。我在一个RecyclerView 我现在唯一知道的就是开胃菜和零食的名字 因此,基本上,首先我必须找到名称开胃菜和零食,然后移动到顶部节点(0)。然后转到recipes节点,然后获取当前适配器密钥,最后更新数据 下面是我迄今为止一直尝试的适配器代码: 我知道更新操作的基本知识,但真的不明白,我应该在这里写什么。请提供指导。谢谢 是否自动生成Recipes子项(MRE0
标题
文本更新为已更新的魔鬼蛋
。我在一个RecyclerView
我现在唯一知道的就是开胃菜和零食的名字
因此,基本上,首先我必须找到名称开胃菜和零食,然后移动到顶部节点(0
)。然后转到recipes
节点,然后获取当前适配器密钥,最后更新数据
下面是我迄今为止一直尝试的适配器代码
:
我知道更新操作的基本知识,但真的不明白,我应该在这里写什么。请提供指导。谢谢
是否自动生成Recipes子项(MRE0…)?是,其autogenerated@Sainita您刚才说的可以硬编码。@Sainita您必须找到那个节点是基于什么创建的?我收到的是json文件。
update.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Map<String, Object> map = new HashMap<>();
map.put("title", title.getText().toString());
map.put("time", timeReqd.getText().toString());
map.put("servings", servings.getText().toString());
map.put("ingredients", ingredients.getText().toString());
map.put("steps", steps.getText().toString());
map.put("image", image.getText().toString());
String received_data = holder.title.getText().toString();
//received data has value Appetizers and Snacks
FirebaseDatabase.getInstance().getReference()
.child("All Categories")
.child(received_data)
.updateChildren(map)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
dialog.dismiss();
} else {
Toast.makeText(context, "Failed to Update !", Toast.LENGTH_SHORT).show();
}
}
});
Query query = FirebaseDatabase.getInstance().getReference("All Categories").orderByChild("name").equalTo(received_data);