简体   繁体   中英

data is not saved in firebase realtime database

  public void onSave(MenuItem item) {

        if (validate()) {

            Map<String, Object> value = new HashMap<>();
            value.put("Name", tvName.getText().toString());
            value.put("Number", Number.wildcardsViewToDb(tvNumber.getText().toString()));

            if(checkBoxRule.isChecked()) {
                value.put("Allow", 0);
            }
            else {
                value.put("Allow", 1);
            }


            /*ContentValues value = new ContentValues();
            value.put(Number.NAME, tvName.getText().toString());
            value.put(Number.NUMBER, Number.wildcardsViewToDb(tvNumber.getText().toString()));

            if(checkBoxRule.isChecked()) {
                value.put(Number.ALLOW, 0);
            }
            else {
                value.put(Number.ALLOW, 1);
            }
            */

            firebaseDatabase = FirebaseDatabase.getInstance().getReference();

            DatabaseReference connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected");
            connectedRef.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(@NonNull DataSnapshot snapshot) {
                    boolean connected = snapshot.getValue(Boolean.class);
                    if (connected) {
                        Log.d(TAG, "connected");
                    } else {
                        Log.d(TAG, "not connected");
                    }
                }

                @Override
                public void onCancelled(@NonNull DatabaseError error) {
                    Log.w(TAG, "Listener was cancelled");
                }
            });

            DatabaseReference block_numberRef = FirebaseDatabase.getInstance().getReference("Block_numbers");

            block_numberRef.push().setValue(value);

            Toast.makeText(this, R.string.block_number_saved, Toast.LENGTH_SHORT).show();

I followed all the posts about firebase real-time database. However, it's not saving the value in the database. it is saved on the local database but it didn't work in the firebase real-time database. I wonder what's the problem is. I'm making an android app by using java language and android studio.

Maybe enter the code like this move the hashmap below the Database Reference and no need for.push()

DatabaseReference block_numberRef = FirebaseDatabase.getInstance().getReference("Block_numbers");

Map<String, Object> value = new HashMap<>();
value.put("Name", tvName.getText().toString())
value.put("Number", Number.wildcardsViewToDb(tvNumber.getText().toString()));

block_numberRef.setValue(value);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM