Neste tutorial completo você vai aprender a integrar o firebase no seu aplicativo android, criando um Quiz funcional com score mundial.
Pré-requisitos
- Android Studio 2023 ou superior instalado
- Conhecimento básico de Java e Android Development
- Conta no Firebase e Google Cloud Platform para acessar a API
Passo 1: Configurando o Projeto
Comece criando um novo projeto no Android Studio com as seguintes configurações:
dependencies {
implementation 'com.google.android.gms:play-services-ads:24.0.0'
implementation 'com.google.firebase:firebase-ads:23.6.0'
implementation 'com.google.firebase:firebase-database:20.3.0'
implementation 'androidx.multidex:multidex:2.0.1'
implementation 'androidx.drawerlayout:drawerlayout:1.2.0'
implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
implementation 'androidx.core:core:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.github.traex.rippleeffect:library:1.3'
implementation 'com.google.android.material:material:1.9.0'
implementation 'com.github.ybq:Android-SpinKit:1.4.0'
implementation 'com.github.lzyzsd:circleprogress:1.2.1'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
testImplementation 'junit:junit:4.13.2'
implementation 'com.google.code.gson:gson:2.10.1'
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.0"
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.6.0"
implementation 'com.google.android.gms:play-services-auth:21.3.0'
apply plugin: 'com.google.gms.google-services'
}
Adicione também a permissão de internet no AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
Passo 2: Implementando a UI
Crie um layout com varios botões (para as categorias de perguntas) organizados em LinearLayout:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:padding="8dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/b13"
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_margin="2dp"
android:layout_weight="1"
android:background="#4260F2"
android:foreground="?attr/selectableItemBackground"
android:drawableTop="@drawable/astro"
android:paddingTop="25dp"
android:text="@string/astronomia"
android:textAllCaps="false"
android:textColor="#fff"
android:textSize="18sp"/>
<Button
android:id="@+id/b14"
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_margin="2dp"
android:layout_weight="1"
android:background="#223E10"
android:drawableTop="@drawable/futebol"
android:paddingTop="25dp"
android:text="@string/futebol"
android:foreground="?attr/selectableItemBackground"
android:textAllCaps="false"
android:textColor="#fff"
android:textSize="18sp"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/b15"
android:layout_width="0dp"
android:layout_height="200dp"
android:layout_margin="2dp"
android:layout_weight="1"
android:background="#FF9800"
android:foreground="?attr/selectableItemBackground"
android:drawableTop="@drawable/curio"
android:paddingTop="25dp"
android:text="@string/curiosidades"
android:textAllCaps="false"
android:textColor="#fff"
android:textSize="18sp"/>
Passo 3: Integrando o Firebase
O Firebase oferece diversos serviços úteis para seu aplicativo. Siga estes passos para integrar:
- Acesse o Firebase Console
- Crie um novo projeto ou selecione um existente
- No dashboard do projeto, clique em "Adicionar aplicativo" e selecione Android
- Preencha:
- Nome do pacote (ex: com.exemplo.meuapp)
- Apelido do aplicativo (opcional)
- Baixe o arquivo
google-services.json
Adicione as dependências necessárias:
// No arquivo build.gradle (Project)
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.15' // Google Services plugin
}
}
// No arquivo build.gradle (Module:app)
plugins {
id 'com.android.application'
id 'com.google.gms.google-services' // Adicione esta linha
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:32.2.3')
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'com.google.firebase:firebase-firestore-ktx' // Se for usar Firestore
implementation 'com.google.firebase:firebase-auth-ktx' // Se for usar Autenticação
}
Cole o arquivo google-services.json
no diretório app do seu projeto.
No seu Application class (ou na MainActivity):
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
FirebaseApp.initializeApp(this)
// Configurações adicionais (opcional)
FirebaseFirestore.setLoggingEnabled(true) // Para debug
}
}
Não esqueça de declarar no AndroidManifest.xml:
<application
android:name=".MyApp"
...>
...
- Firestore: Banco de dados NoSQL em tempo real
- Authentication: Autenticação de usuários
- Analytics: Análise de uso do aplicativo
- Crashlytics: Relatórios de falhas
- Configure regras de segurança no Firebase Console para proteger seus dados
- Para ambientes de produção, restrinja o acesso aos seus serviços
- Considere usar Firebase Remote Config para gerenciar configurações sem atualizar o app
Cógigo Fonte
O código fonte vai ser disponibilizado no GITHUB, para os assinantes de meu canal no youtube!
Baixar (PDF - 1.2 MB)
Dúvidas ou Comentários?