Informática, perguntado por Usuário anônimo, 1 ano atrás

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 raimundohenriqu
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
raimundohenriqu: ESTAMOS JUNTOS E A UNIÃO FAZ A FORÇA...
Respondido por carlosaljuniorcg
14

Resposta:

I, II, III, IV e V estão corretas.

Explicação:

Perguntas interessantes