更新哈希映射值android firebase实时数据库

时间:2018-05-25 16:01:09

标签: android firebase firebase-realtime-database hashmap setvalue

尝试在android studio中使用哈希映射更新值。 值从另一个活动传递。 databaseReference.setValue用于更新值。 我也尝试过updateChildren。

       EditLogbookBtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child("Logbook").push();
            //Data will be saved in "Logbook" node.
            Map<String, Object> updatemap = new HashMap<>();
            updatemap.put("id", databaseReference.getKey());
            updatemap.put("Uid", uId);
            updatemap.put("picName", EditPicNamePost);
            updatemap.put("makeModel", EditMakeModelPost);
            updatemap.put("ident", EditIdentPost);
            updatemap.put("duration", EditDurationPost);
            updatemap.put("date", EditDatePost); //calendar
            updatemap.put("remarks", EditRemarksPost);
            updatemap.put("singleEngine", EditSingleEnginePost);
            updatemap.put("picTime", EditpicTimePost);
            updatemap.put("dualTime", EditdualTimePost);
            updatemap.put("weather", EditWeatherPost);

            updatemap.put("from", EditDeparture);
            updatemap.put("to", EditDestination);
            updatemap.put("landingsDay", EditLandingsDaySpinner);
            updatemap.put("landingsNight", EditLandingsNightSpinner);

            updatemap.put("deptTime", editDeptTime);
            updatemap.put("destTime", editdestTime);

            databaseReference.setValue(updatemap);

        }


    });

1 个答案:

答案 0 :(得分:0)

您可以将listner附加到databaseReference。这有助于您了解数据未更新的原因。

databaseReference.setValue(updatemap).addOnSuccessListener(new OnSuccessListener<Void>() 
{
@Override
public void onSuccess(Void aVoid) 
{
// Values Updated
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e)
{
e.printStackTrace();
}
});