Estoy tratando de entender y usar firebasefirestore de android studio con kotlin.
He estado siguiendo tutoriales de los documentos oficiales y de udemy y youtube. Hago exactamente lo mismo que se muestra, pero aún así mi colección no se crea en la consola de Firestore.
Quiero agregar una colección a Firestore desde Android Studio con Kotlin.
Según tengo entendido, todo mi código es correcto, tengo permiso de Internet, tengo todas las dependencias necesarias en mis archivos gradle.
Y mi código para agregar una colección a firebase es exactamente el mismo que se proporciona en los documentos oficiales.
Todavía no importa lo que haga, no puedo crear una colección desde la ejecución de mi aplicación.
Puedo crear una colección de firestore desde la consola de firestore sin ningún problema. Mi aplicación se ejecuta y ejecuta sin ningún error (además de no crear la colección en Firestore).
Aquí está mi código
Manifiesto
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="eu.example.firestoretest"> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.FireStoreTest"> <activity android:name=".MainActivity" android:exported="true" android:label="@string/app_name" android:theme="@style/Theme.FireStoreTest"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>proyecto gradle
buildscript { ext { compose_version = '1.0.1' } dependencies { classpath 'com.google.gms:google-services:4.3.10' } }// Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { id 'com.android.application' version '7.1.2' apply false id 'com.android.library' version '7.1.2' apply false id 'org.jetbrains.kotlin.android' version '1.5.21' apply false } task clean(type: Delete) { delete rootProject.buildDir }Módulo Gradle
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'com.google.gms.google-services' } android { compileSdk 31 defaultConfig { applicationId "eu.example.firestoretest" minSdk 24 targetSdk 31 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables { useSupportLibrary true } } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion compose_version } packagingOptions { resources { excludes += '/META-INF/{AL2.0,LGPL2.1}' } } } dependencies { implementation 'androidx.core:core-ktx:1.7.0' implementation "androidx.compose.ui:ui:$compose_version" implementation "androidx.compose.material:material:$compose_version" implementation "androidx.compose.ui:ui-tooling-preview:$compose_version" implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1' implementation 'androidx.activity:activity-compose:1.3.1' testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version" debugImplementation "androidx.compose.ui:ui-tooling:$compose_version" // Firebase implementation "com.google.firebase:firebase-auth:19.2.0" implementation platform('com.google.firebase:firebase-bom:29.0.0') implementation "com.google.firebase:firebase-auth-ktx" implementation "com.google.firebase:firebase-firestore-ktx" implementation "com.google.firebase:firebase-storage-ktx" implementation 'com.google.firebase:firebase-firestore:24.0.1' implementation 'com.google.firebase:firebase-storage:20.0.0' }Crear una base de datos
package eu.example.firestoretest import android.util.Log import androidx.compose.runtime.Composable import com.google.firebase.firestore.ktx.firestore import com.google.firebase.ktx.Firebase @Composable fun fireStoreTest(){ // Create a FirebaseFirestore object val db = Firebase.firestore // Pass data onto the firestore db, it must be of type hashmap val user = hashMapOf( "first" to "Ada", "last" to "Lovelace", "born" to 1815 ) // add the user data to the collection db.collection("users") .add(user) .addOnSuccessListener { Log.d("FB", "onCreate: ${it.id}") } .addOnFailureListener { Log.d("FB", "onCreate: ${it}") } }Luego llamo a la función fireStoreTest en mi función principal, pero no funciona.
¿Hay alguien que pueda explicar en términos muy simples qué es lo que estoy haciendo mal?
enlace a logcathttps://github.com/McCt68/logcat/blob/main/firestore_logcat.txt