Хобрук: Ваш путь к мастерству в программировании

Удалить случайно сгенерированный дочерний элемент в базе данных Firebase Android

удалить всех случайно сгенерированных дочерних элементов с помощью кнопки

Я хотел бы использовать кнопку, чтобы удалить все созданные дочерние элементы. Juz, показанный на картинке выше, я хочу использовать кнопку, чтобы удалить все созданные дочерние элементы, чтобы очистить базу данных. Есть несколько методов, которые я пробовал раньше (например, databasereference.setValue(null) ), но, очевидно, они не работают. Я новичок в Android Studio, а также в базе данных Firebase. Я пробовал какой-то пример, но, кажется, не работает. Я использовал кнопку с ID = deletebutton Вот мой код. Спасибо за помощь. Открытый класс RealtimeData расширяет AppCompatActivity {

private DatabaseReference mDatebase;
private DatabaseReference mDatebase2;
private DatabaseReference mDatebase3;
private DatabaseReference mDatebase4;
private DatabaseReference mDatabase5;


private TextView mTempView;
private TextView mHumidView;
private TextView mTimeView;
private TextView mphView;


//method that I had tried
private FirebaseAuth.AuthStateListener mAuthListener;
private Button buttonDelete;
private DatabaseReference databasePost;
private FirebaseAuth mAuth;


WifiManager wifiManager;
TextView wifiStatusTextView;


Switch wifiSwitch;
@Override
protected void onCreate(Bundle savedInstanceState) {

    buildDialog(RealtimeData.this).show();
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_realtime_data);
    Toolbar toolbar = (Toolbar) findViewById(R.id.app_bar);
    setSupportActionBar(toolbar);

    //declare the deletebutton
    mAuth = FirebaseAuth.getInstance();
    buttonDelete = (Button) findViewById(R.id.deletebutton);




    //method that I tried



    mAuthListener = new FirebaseAuth.AuthStateListener(){
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth){
            if (firebaseAuth.getCurrentUser() != null){
                databasePost = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");
            }
        }
    };

    buttonDelete.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (mAuth.getCurrentUser() == null || databasePost == null)
                return;
            databasePost.setValue(null);            }
    });




    mDatebase = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");
    mTempView = (TextView) findViewById(R.id.tempvalue);

    mDatebase.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
        @Override
        public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
            for (com.google.firebase.database.DataSnapshot datasnap: dataSnapshot.getChildren()){
                String temp = datasnap.child("airtemperature").getValue(String.class);
                if (Float.valueOf(temp) >= 24 && Float.valueOf(temp) <= 30) {
                    mTempView.setText("Air Temperature: " + temp + " *C" + " Normal");
                }
                else if (Float.valueOf(temp) < 24)
                {
                    mTempView.setText("Air Temperature: " + temp + " *C" + " Abnormal Low ");
                }

                else if (Float.valueOf(temp) > 30)
                {
                    mTempView.setText("Air Temperature: " + temp + " *C" + " Abnormal High ");
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            mTempView.setText("Air Temperature: Error");

        }
    });

    mDatebase2 = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");
    mHumidView = (TextView) findViewById(R.id.humidvalue);

    mDatebase2.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
        @Override
        public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
            for (com.google.firebase.database.DataSnapshot datasnap: dataSnapshot.getChildren()){
                String humid = datasnap.child("humidity").getValue(String.class);

                if (Float.valueOf(humid) >= 70 && Float.valueOf(humid) <= 75) {
                    mHumidView.setText("Air Humidity: " + humid + " %RH" + " Normal");
                }
                else if (Float.valueOf(humid) < 70)
                {
                    mHumidView.setText("Air Humidity: " + humid + " %RH" + " Abnormal Low ");
                }

                else if (Float.valueOf(humid) > 75)
                {
                    mHumidView.setText("Air Humidity: " + humid + " %RH" + " Abnormal High ");
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            mHumidView.setText("Air Humidity: Error");
        }
    });

    mDatebase3 = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");
    mTimeView = (TextView) findViewById(R.id.timevalue);

    mDatebase3.addValueEventListener(new com.google.firebase.database.ValueEventListener() {
        @Override
        public void onDataChange(com.google.firebase.database.DataSnapshot dataSnapshot) {
            for (com.google.firebase.database.DataSnapshot datasnap: dataSnapshot.getChildren()){
                String time = datasnap.child("time").getValue(String.class);
                //String date = datasnap.child("date").getValue(String.class);
                mTimeView.setText("Time: " + time  );
            }
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            mTimeView.setText("Time: Error");

        }
    });




    // I removed some of thing which are not important for understanding the problem

Ответы:


1

Удалить:

databasePost = FirebaseDatabase.getInstance().getReference().child("Region 1").child("Parameter Reading");

buttonDelete.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        databasePost.removeValue();   
   }         
});
01.04.2018
Новые материалы

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..

Разбор строк запроса в vue.js
Иногда вам нужно получить данные из строк запроса, в этой статье показано, как это сделать. В жизни каждого дизайнера/разработчика наступает момент, когда им необходимо беспрепятственно..

Предсказание моей следующей любимой книги 📚 Благодаря данным Goodreads и машинному обучению 👨‍💻
«Если вы не любите читать, значит, вы не нашли нужную книгу». - J.K. Роулинг Эта статья сильно отличается от тех, к которым вы, возможно, привыкли . Мне очень понравилось поработать над..

Основы принципов S.O.L.I.D, Javascript, Git и NoSQL
каковы принципы S.O.L.I.D? Принципы SOLID призваны помочь разработчикам создавать надежные, удобные в сопровождении приложения. мы видим пять ключевых принципов. Принципы SOLID были разработаны..

Как настроить Selenium в проекте Angular
Угловой | Селен Как настроить Selenium в проекте Angular Держите свое приложение Angular и тесты Selenium в одной рабочей области и запускайте их с помощью Mocha. В этой статье мы..

Аргументы прогрессивного улучшения почти всегда упускают суть
В наши дни в кругах веб-разработчиков много болтают о Progressive Enhancement — PE, но на самом деле почти все аргументы с обеих сторон упускают самую фундаментальную причину, по которой PE..

Введение в Джанго Фреймворк
Схема «работать умно, а не усердно» В этой и последующих статьях я познакомлю вас с тем, что такое фреймворк Django и как создать свое первое приложение с помощью простых и понятных шагов, а..