首页 > 解决方案 > 为什么每次打开应用程序时我的 Firebase 实时数据库数据都会重置?

问题描述

我正在尝试将一些数据上传到我的 firebase 实时数据库,但是每次我启动应用程序时,数据都会重置并且我的数据库是空的。为什么是这样?

这一切都在一个片段内完成。

我还为 listView/ 创建了一个 POJO Months 类和一个 MonthList 类

以下是有关 firebase 的所有代码。

    DatabaseReference databaseReference;
    EditText editText;

    public void addMonth(){

        String id = databaseReference.getKey();

        String name = editText.getText().toString();
        boolean ifPaid = true;

        Months months = new Months(name, id, ifPaid);
        databaseReference.push().setValue(months);

    }


    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        v = inflater.inflate(R.layout.fragment_to_do,container,false);

        setHasOptionsMenu(true);

        final ListView listView = v.findViewById(R.id.listView);

        databaseReference = FirebaseDatabase.getInstance().getReference("month");

        editText = v.findViewById(R.id.editText);

        monthsList = new ArrayList<>();

        //button that triggers addMonth() method.

        Button upload = v.findViewById(R.id.upload);

        upload.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                addMonth();
            }
        });

        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

                monthsList.clear();

                for (DataSnapshot monthsSnapshot : dataSnapshot.getChildren()){

                    Months months = monthsSnapshot.getValue(Months.class);

                    monthsList.add(months);

                }

                MonthList adapter = new MonthList(getActivity(), monthsList);
                listView.setAdapter(adapter);

            }

            @Override
            public void onCancelled(@NonNull DatabaseError databaseError) {

            }
        });

        return v;
    } 

标签: javaandroidfirebase-realtime-database

解决方案


推荐阅读