我设法将我的Android应用程序连接到火灾数据库,添加方法工作正常,这是我创建的数据库
让我说我有3个按钮,每个按钮代表一个酒店,酒店名称为文本,让我说我点击按住文本aze,我正在寻找一种减少房间数量的方法1酒店名称是aze,我该怎么做?提前谢谢你
答案 0 :(得分:0)
尝试使用此更新防火基地的值
mFirebaseDatabaseReference.child("Hotels")
.child(model.getUid())
.child("chambers")
.setValue(YourValueHere);
希望这会对你有所帮助。
答案 1 :(得分:0)
首先,我建议您阅读firebase文档。如果您不明白,请询问。 但你仍然需要在onClick方法中输入这段代码。
DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Hotels");
databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
HashMap<String, HashMap<String,Object>> nameMap = (HashMap<String, HashMap<String,Object>>) dataSnapshot.getValue();
if (nameMap != null) {
for (String key : nameMap.keySet()) {
HashMap<String,Object> hotel=nameMap.getValue(key);
if(hotel.getValue("adresse").toString().equals("aze"))
{
Long chambers=(Long)hotel.getValue("chamber");
HashMap<String, Object> map = new HashMap<>();
map.put("chambers", chambers-1);
DatabaseReference childDatabaseReference = FirebaseDatabase.getInstance().getReference().child("Hotels").child("key").updateChildren(map);
}
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
我没有对此进行测试,因此可能会出现错误。 但它只是这样。