firebaseデータベースのspecifキーの値を更新する方法

ガブリエルassenga:

どのように私はアンドロイドからfirebaseデータベース内の既存のキーに値を更新することができます。私の場合は、ユーザーがキー更新する投票を

ここでは、画像の説明を入力します。

                        final long z=0;
                        Map<String,Object> taskMap = new HashMap<String,Object>();
                        taskMap.put("Votes", z);

                        FirebaseDatabase.getInstance().getReference()
                                .child("project_image").child(projectDate)
                                .child("Votes")
                                .updateChildren(taskMap);

私は上記のコードを試してみましたが、代わりに、それは別のノードを追加します

ここでは、画像の説明を入力します。

        FirebaseDatabase.getInstance().getReference()
       .child("project_image")
       .child(formattedDate)
       .push().setValue(dataMap);

上記のコードは、最初の時間でデータを挿入するために使用しました。

どのように私はこのタスクを実行することができます

ピーター・ハダッド:

また、キーにアクセスする必要があります。

    final long z=0;
 Map<String,Object> taskMap = new HashMap<String,Object>();
 taskMap.put("Votes", z);

FirebaseDatabase.getInstance().getReference().child("project_image")
.child(projectDate).child("-M3zLjPHM_ndBfBDLV9C")
.child("Votes")
.updateChildren(taskMap);

キーを取得するには:

DatabaseReference reference = FirebaseDatabase.getInstance().getReference();

reference.child("project_image").child(projectDate).addListenerForSingleValueEvent(new ValueEventListener() {
 @Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot datas: dataSnapshot.getChildren()){
   String key = datas.getKey();

   final long z=0;
   Map<String,Object> taskMap = new HashMap<String,Object>();
 taskMap.put("Votes", z);
   FirebaseDatabase.getInstance().getReference().child("project_image")
.child(projectDate).child(key)
.child("Votes")
.updateChildren(taskMap);
    }
 }
   @Override
public void onCancelled(DatabaseError databaseError) {
    throw databaseError.toException();
  }
 });

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=400949&siteId=1