vida varios utilizar studio navegar llamar fragments fragmentos entre desde con comunicar como ciclo activity android firebase firebase-storage

varios - navegar entre fragments android studio



Android-Firebase-TaskSnapshot-¿Solo debería accederse al método dentro del ámbito privado? (3)

El problema parece ser causado por una verificación excesiva de Lint. Pruebe algo como esto:

@SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl();

Este truco funcionó para mí. Si el problema está relacionado con este informe de error , entonces debe ser reparado en 2.4.

Todo estaba funcionando bien ... hasta que volví a trabajar después de un descanso de 3 meses y actualicé mi Firebase de 9.8 a 10.0.1

Ahora todas mis llamadas a TaskSnapshot me están dando un error.

Aquí está el código de ejemplo que funcionó bien antes:

OnSuccessListener<UploadTask.TaskSnapshot> successListener = new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { attachments.add(fileName + "*-*" + taskSnapshot.getDownloadUrl().toString()); numberOfCallbacks++; if (numberOfFiles == numberOfCallbacks) { currentUpload = false; onClickSendAlert(sendingView); } } };

El error que ahora obtengo es con respecto a taskSnapshot.getDownloadUrl() .

Android Studio subraya esa línea en rojo y dice:

Solo se debe acceder a este método desde pruebas o dentro del ámbito privado

¿Alguien puede explicar por qué está sucediendo esto? He estado investigando todo el día durante dos días seguidos y no puedo por la vida de mi entender esto (embarazoso).

Por lo que vale, este código se usa para cargar un archivo a Firebase Storage, y cuando se completa ( OnSuccess ), obtiene la URL de descarga y la almacena en la base de datos de Firebase. Esto funcionó muy bien antes de actualizar a 10.0.1. Obtengo el mismo error en mis tareas de descarga en otro módulo.

Aquí hay una captura de pantalla para darle una mejor visión de mi situación:


Estaba atrapado en el mismo problema y suprimí las advertencias. No funcionó para mí. Para obtener la descarga completa Uri, utilicé el siguiente código:

ref.putFile(imagePath).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { ref.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { @Override public void onSuccess(Uri uri) { Log.d("URL", uri.toString()); // This is the complete uri, you can store it to realtime database } }); } });

Espero que esto ayude a alguien.


Tuve el mismo problema y desapareció cuando actualicé mi versión de Firebase. Estaba usando 10.0.1 y ahora estoy usando 11.0.0