Usando o Firebase como armazenamento de imagens para um aplicativo Android

Usando o Firebase como armazenamento de imagens para um aplicativo Android


Neste artigo, você aprenderá como extrair uma imagem do armazenamento Firebase para um aplicativo Android.


Firebase


O Firebase é uma plataforma de desenvolvimento de aplicativos móveis e da Web desenvolvida pela Firebase em 2011 e adquirida pelo Google em 2014. Em outubro de 2018, a plataforma Firebase possui 18 produtos usados ​​em 1,5 milhão de aplicativos. Ajuda a desenvolver rapidamente aplicativos de alta qualidade, expandir a base de usuários e ganhar mais dinheiro.


Glide


Glide é uma biblioteca para baixar imagens em aplicativos Android desenvolvidos pela Bump Tech e recomendados pelo Google. É usado por muitos projetos de código aberto do Google, incluindo o aplicativo oficial do Google I / O 2014. O Glide suporta o download, decodificação e exibição de imagens, vídeos e GIFs animados.


Configurar Firebase


Vamos configurar o Firebase para o nosso projeto Android.


  • Abra firebase.google.com .


  • Clique em "Iniciar projeto" .


  • Clique em Add Project .


  • Dê um nome ao seu projeto.



Nome do projeto


  • Clique no botão Criar projeto abaixo.


  • Clique no ícone do Android .



Criação de projeto


  • Você verá uma página intitulada "Adicionar Firebase ao seu aplicativo Android" .

Adicione o Firebase ao seu aplicativo Android


  • Adicione o nome do pacote do seu aplicativo Android .

Por exemplo → com.example.retrieving_images_from_firebase .


  • Adicione a chave SHA1 e clique em "Registrar Aplicativo" .


  • Clique no botão "Baixar google-services.json" para baixar este arquivo.


  • Em seguida, adicione google-services.json à pasta do aplicativo do seu projeto.



google-services.json


  • Abra o arquivo gradle no nível do projeto. Adicione esta dependência dentro do bloco de dependência:

 classpath "com.google.gms:google-services:3.0.0" 

Portanto, deve parecer:


Dependência


  • Abra o arquivo gradle no nível do aplicativo. Adicione dependências:

 androidTestImplementation 'com.android.support.test:runner:1.0.2' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' implementation 'com.squareup.picasso:picasso:2.71828' testImplementation 'junit:junit:4.12' implementation 'com.github.bumptech.glide:glide:4.7.1' compile 'com.android.support.constraint:constraint-layout:1.1.3' compile 'com.google.firebase:firebase-database:11.0.2' compile 'com.google.firebase:firebase-storage:11.0.2' compile 'com.google.firebase:firebase-auth:11.0.2' compile 'com.firebaseui:firebase-ui-database:2.1.0' 

Portanto, deve parecer:


Dependências


  • Agora adicione packagingOptions na parte inferior do bloco buildTypes :

 packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE-FIREBASE.txt' exclude 'META-INF/NOTICE' } 

Portanto, deve parecer:


packagingOptions



Agora clique em Banco de Dados → Regras . Adicione as seguintes linhas:


 service cloud.firestore { match /databases/{database}/documents { match /{document=**} { allow read, write; } } } 

Clique em Armazenamento → Regras . Adicione as seguintes linhas:


 service firebase.storage { match /b/{bucket}/o { match /{allPaths=**} { allow read, write: if request.auth != null; } } } 

  • Agora clique em Armazenamento → Arquivos . Faça o download da imagem usando o botão "Upload file" .

Upload de arquivo


  • Clique em qualquer imagem carregada. Em seguida, no canto inferior direito, você encontrará o URL de download1 . Copie isso.

URL de download1


Activity_main.xml


Crie um ImageView no qual a imagem será exibida.


 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="RETRIEVE FROM FIREBASE" android:gravity="center" android:textSize="30dp" android:textColor="#000000"/> <ImageView android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/image"/> </LinearLayout> 

MainActivity.java


 package com.example.retrieving_images_from_firebase; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.ImageView; import com.bumptech.glide.Glide; public class MainActivity extends AppCompatActivity { ImageView imageView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView=findViewById(R.id.image); // URL ,     String url="https://firebasestorage.googleapis.com/v0/b/retrieve-images-958e5.appspot.com/o/9.PNG?alt=media&token=6bd05383-0070-4c26-99cb-dcb17a23f7eb"; Glide.with(getApplicationContext()).load(url).into(imageView); } } 

Parabéns! Agora você pode iniciar seu aplicativo.


Depois de iniciar o aplicativo, você verá sua imagem.


Imagem


Você pode baixar todo o código do nosso repositório no GitHub .

Source: https://habr.com/ru/post/pt452318/


All Articles