使用Android更新Firebase中的数据

时间:2018-05-21 07:15:56

标签: android firebase firebase-realtime-database

我在Firebase中有一个数据库 this

所以,我想在用户点击收藏夹时更改收藏价值。我尝试了一些代码,但它没有改变最喜欢的价值。

private void uploadSetFavorite(final boolean isSetFavorite) {

    reference.child(Common.FIREBASE_MUSCLE_EXERCISE_CHEST_TABLE).child(Common.EXERCISE_SET_FAVORITE_PROPERTY).addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot snapshot : dataSnapshot.getChildren()) {
                ExerciseMuscleDetail muscleDetail = snapshot.getValue(ExerciseMuscleDetail.class);

                muscleDetail.setFavorite(isSetFavorite);
            }
            mAdapter.notifyDataSetChanged();
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

当我调试时,dataSnapshot显示{key = favorite,value = null}。 有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

尝试不用

  

.child(Common.EXERCISE_SET_FAVORITE_PROPERTY)

如果它仍然为空?

答案 1 :(得分:0)

  

请尝试以下内容:

HashMap<String, Object> params = new HashMap<>();
params.put("favourite", true/false);    // with true/false use your desired value
yourDatabaseChildReference.updateChildren(params);

// yourDatabaseChildReference will be your dbName -> table name (chest) -> item name (1 or 2 or so on)