Estos son los pasos para asegurar que Firebase/Firestore funcione con la app PracticaUI.
app/src/main/java/com/example/practicaui/MyApplication.kt: ClaseApplicationque inicializa Firebase al iniciar la app y habilita logging de Firestore en desarrollo.app/src/main/AndroidManifest.xml: Registradoandroid:name=".MyApplication"en el elemento<application>.- Verificado
app/google-services.json(coincide conproject_id: practicauiypackage_name: com.example.practicaui).
- Habilitar la API de Firestore (si aún no está habilitada):
- Desde Google Cloud Console: https://console.developers.google.com/apis/api/firestore.googleapis.com/overview?project=practicaui
- O con
gcloud(si tienes instalado y autenticado):
REM Ejecuta en Windows cmd.exe
gcloud services enable firestore.googleapis.com --project=practicaui-
Crear la base de datos Firestore desde Firebase Console (recomendado):
- Ve a https://console.firebase.google.com/
- Selecciona el proyecto
practicaui→ Build → Firestore Database → Create database - Para pruebas, puedes seleccionar modo "prueba" y una ubicación cercana.
-
(Temporal para desarrollo) Ajustar reglas de Firestore:
- En Firebase Console → Firestore → Rules, para pruebas:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if true;
}
}
}
No dejes estas reglas en producción.
- Compilar (desde la raíz del proyecto en
cmd.exe):
cd C:\Users\CompuStore\Downloads\PracticaUI
gradlew.bat :app:assembleDebug- ejecutar en dispositivo/emulador con Android Studio o
adb installdel APK generado enapp/build/outputs/apk/debug/.
- Abrir
logcaten Android Studio y filtrar porFirebaseoMyApplication. Deberías ver mensajes que indican que Firebase se inicializó y (si se habilitó logging) mensajes de Firestore. - Prueba rápida desde cualquier Activity (ejemplo de snippet):
val db = FirebaseFirestore.getInstance()
db.collection("test").document("ping").set(mapOf("ts" to System.currentTimeMillis()))
.addOnSuccessListener { Log.d("FirestoreTest", "write ok") }
.addOnFailureListener { Log.e("FirestoreTest", "write failed", it) }- Si después de habilitar la API recibes
PERMISSION_DENIED, espera unos minutos y vuelve a probar (propagación de permisos). - Si usas
gcloudasegúrate de que la cuenta tenga permisos para modificar servicios del proyectopracticaui.
Si quieres, puedo:
- Añadir un pequeño ejemplo de escritura/lectura en la app y compilarlo por ti (si confirmas que puedo ejecutar compilación aquí), o
- Guiarte paso a paso para habilitar la API y crear la base de datos.