我的项目有2个应用:管理员应用和客户端应用。首先,我需要使用Admin-app将数据放入Firebase,这是我的数据类
public class AllData {
private String placeName;
private ArrayList<String> category;
private String address;
private String openingHour;
private String website;
private HashMap<String, String> review; }
我使用以下代码将数据设置到Firebase
AllData alldata = new AllData(placeName, category, address,
, openingHour, website, null);
mDatabaseReference = mFirebaseDatabase.getReference().child("Store Data");
DatabaseReference storeData = mDatabaseReference.child(placeName);
storeData.setValue(alldata);
我已将审核字段设置为null,因为我想让我的用户审核客户端应用中的每个位置,并将其同步到Firebase中,并将其作为HashMap<UserName, Review>
我在客户端应用中使用这些代码将评论推送到Firebase
HashMap<String, String> reviewMap = new HashMap<>();
reviewMap.put(UserName, review);
mDatabase = FirebaseDatabase.getInstance();
mReference = mDatabase.getReference().child("Store Data").child(selectedPlace.placeName).child("review");
mReference.push().setValue(reviewMap);
这不是一种正确的方法,但这就是我所能做到的。我想要的是异步地将用户的评论更新到Firebase中的AllData评论字段。我怎样才能做到这一点?每个答案都表示赞赏!
答案 0 :(得分:1)
您可以直接在引用上使用setValue()
方法而不使用HashMap
这样的代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
rootRef.child("Store Data").child(selectedPlace.placeName).child("review").setValue(yourValue);
其中yourValue
是您要设置为审核关键字的值。
希望它有所帮助。