A partir da instância do DatabaseReference, podemos excluir dados do banco de dados.
Há casos em que desejamos remover apenas uma referência do Realtime Database. Este tipo de abordagem exige mais esforço do programador.
De acordo com Firebase (2018), mesmo quando há apenas uma referência, o dataSnapshot ainda é uma lista com apenas um item que deverá ser percorrida através de uma estrutura de repetição. O código a seguir remove apenas o produto “Tablet” do banco de dados.
1 reference.child("produtos").orderByChild("descricao").equalTo("Tablet")
2 .addListenerForSingleValueEvent(new ValueEventListener() {
3 @Override
4 public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
5
6 // Percorremos todas as referências existentes através do método getChildren()
7 for (DataSnapshot data : dataSnapshot.getChildren()) {
8
9 // Removemos o produto "Tablet" do Realtime Database
10 data.getRef().removeValue();
11 }
12 }
13 @Override
14 public void onCancelled(@NonNull DatabaseError databaseError) {
15 }
16 });
O método addListenerForSingleValueEvent() é executado apenas uma vez para recuperar os dados do banco de dados.
Fonte:
SCHEFFER, Hudson Cadan. Desenvolvimento para Dispositivos Móveis: Trabalhando com Banco de Dados na Nuvem. Londrina: Editora e Distribuidora Educacional S. A., Unidade 4, Seção 3, 2018.
Considerando o código, avalie as afirmativas a seguir:
I. Na linha 1 declaramos uma referência de “produtos”, ordenada pelo atributo “descrição” e que seja igual a “Tablet”.
II. Na linha 2, chamamos pelo método addListenerForSingleValueEvent(), pois desejamos recuperar apenas uma vez os dados do banco de dados. Como parâmetro, declaramos um ValueEventListener().
III. Na linha 4 implementamos o método onDataChange().O método onDataChange() é responsável por receber um objeto DataSnapshot que contém todas as referências do objeto DatabaseReference, ou seja, o objeto dataSnapshot contém uma listagem com todos os produtos.
IV. Na linha 7 criamos uma estrutura de repetição através do foreach(). No foreach, percorremos cada referência do DataSnaptshot chamando pelo método getChildren().
V. Na linha 10, temos a referência do produto “Tablet” que estamos procurando, portanto é seguro chamar pelo método removeValue().
Agora, assinale a alternativa que apresenta a resposta correta.
Escolha uma:
a. Apenas as afirmativas II, III e IV estão corretas.
b. Apenas as afirmativas I, II, III e IV estão corretas. Incorreto
c. Apenas as afirmativas I e II estão corretas.
d. As afirmativas I, II, III, IV e V estão corretas.
e. Apenas as afirmativas II, III, IV e V estão corretas.
Soluções para a tarefa
Respondido por
42
Resposta:
As afirmativas I, II, III, IV e V estão corretas.
Explicação:
todas estão descritas no codigo
PriBernardes:
Está correto, corrigido no AVA
Respondido por
14
Resposta:
I, II, III, IV e V estão corretas.
Explicação:
Perguntas interessantes
Matemática,
7 meses atrás
Matemática,
7 meses atrás
Saúde,
7 meses atrás
Matemática,
11 meses atrás
Informática,
11 meses atrás
Português,
1 ano atrás