How to fetch data from Firebase in Android?

Como buscar dados do Firebase no Android?


Objetivos do blog

Como buscar dados do Firebase no Android?

Depois de ler este blog, poderemos buscar dados do Firebase Realtime Database. Esses dados podem incluir tipos de dados simples, como Strings, ou tipos de dados complexos, como objetos Java.

Pré-requisitos

Precisamos ter um projeto do Android Studio e um projeto do Firebase prontos para usar o Firebase Realtime Database. Crie um novo projeto do Android Studio (ou use qualquer projeto existente). Este projeto do Android Studio será usado para trabalhar com o banco de dados em tempo real. Siga as etapas abaixo para criar o projeto Firebase –

1. Acesse https://console.firebase.google.com

2. Clique em “Adicionar projeto“Botão.

3. Digite o nome do projeto e aceite as condições e clique em “Continuar“Botão.

 

Adicionar projeto

4. Em seguida, adicione o aplicativo Android ao seu projeto. Requer a inserção do nome do pacote do aplicativo. Clique em Avançar.

5. Faça o download do arquivo google-services.json e mova esse arquivo para o local no projeto Android no Android Studio conforme especificado na tela.

6. Na próxima etapa, haveria um pequeno tutorial para adicionar 3 linhas de código nos arquivos build.gradle no nível do projeto e no nível do aplicativo. Adicione-os de acordo.

7. Em seguida, termine este processo de adicionar o aplicativo Android ao projeto.

8. Em seguida, clique na opção “Banco de dados” no menu à esquerda e clique no botão “Criar banco de dados”.

 

criar banco de dados

9. A configuração do Firebase foi concluída Agora, adicione a biblioteca do Firebase para usar o Firebase Realtime Database no arquivo build.gradle no nível do aplicativo. Isso pode ser feito adicionando a seguinte linha:

implementação 'com.google.firebase:firebase-database:16.0.6'

Implementação de Código

Antes de buscar as referências, você terá que entender o que é uma referência do Firebase. Uma referência do Firebase aponta para um local no Firebase Database onde os dados são armazenados. Mesmo que você crie várias referências, todas elas compartilham a mesma conexão, desde que você tenha usado o mesmo caminho ao criar a referência da instância do banco de dados. Em primeiro lugar, precisamos ter uma instância do Firebase Database para usá-lo. A instância pode ser criada pela seguinte linha de código.

 

private FirebaseDatabase mDatabase = FirebaseDatabase.getInstance();

 

Agora é necessário criar referências dos caminhos onde os dados são armazenados no banco de dados. Como os dados do banco de dados do Firebase são armazenados no formato JSON, as chaves do objeto JSON são os caminhos especificados nas referências. A referência ao nó raiz pode ser criada pela seguinte linha de código:

 

private DatabaseReference mGetReference = mDatabase.getReference();

 

Depois de obter a referência do banco de dados, um ouvinte assíncrono deve ser anexado à referência do banco de dados que ouve ativamente qualquer alteração feita no banco de dados. Esse ouvinte retorna um instantâneo de dados do banco de dados inicialmente pela primeira vez quando é anexado. Em seguida, o instantâneo de dados é retornado quando qualquer alteração é feita no caminho para o qual a referência do banco de dados está apontando. Normalmente, o banco de dados contém o mesmo tipo de dados, mas suponha que o banco de dados contenha alguns dados de tipos diferentes. Abaixo, encontre a captura de tela do banco de dados contendo alguns dados fictícios:

 

dados fictícios

Para buscar o banco de dados desse banco de dados, anexe o ValueEventListener à referência do banco de dados. O listener pode ser adicionado pelo seguinte código:

 

mGetReference.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { if (dataSnapshot.exists()){ HashMap dataMap = (HashMap ) dataSnapshot.getValue(); for (String key : dataMap.keySet()){ Object data = dataMap.get(key); tente { HashMap userData = (HashMap ) dados; User mUser = new User((String) userData.get("name"), (int) (long) userData.get("age")); addTextToView(mUser.getName() + " - " + Integer.toString(mUser.getAge())); }catch (ClassCastException cce){ // Se o objeto não puder ser convertido em HashMap, significa que é do tipo String. try{ String mString = String.valueOf(dataMap.get(key)); addTextToView(mString); }catch (ClassCastException cce2){ } } } } } @Override public void onCancelled(@NonNull DatabaseError databaseError) { } });

Após anexar o listener, ele é executado inicialmente retornando todos os dados do banco de dados naquele momento. Este ouvinte será invocado posteriormente no momento em que ocorrer qualquer alteração no banco de dados no caminho apontado pela referência à qual o ouvinte está anexado.

Resumo

Após seguir o procedimento acima, você poderá buscar dados do banco de dados Firebase Realtime no Android. Se você enfrentar algum problema, sinta-se à vontade para nos contatar em support@knowband.com.� Também fornecemos desenvolvimento e módulos personalizados para as principais plataformas CMS, como Prestashop, Opencart, Magento, Magento 2 e Woocommerce. Dê uma olhada em nossos mais populares Construtor de aplicativos móveis sem código Woocommerce:

 

Leave a Reply

Your email address will not be published. Required fields are marked *