У меня есть приложение, в котором пользователь нажимает кнопку, где изображение загружается в хранилище Firebase, а URL-адрес сохраненных изображений плюс некоторая дополнительная информация будет загружаться в базу данных Firebase по разным путям. Ниже приведен пример кода.
val filename = UUID.randomUUID().toString()
val refImage = FirebaseStorage.getInstance().getReference("/images/$filename")
refImage.putFile(uri)
.addOnSucessListener{
refImage.downloadUrl.addOnSuccessListener{
val uploadedImageuri = it.toString()
val Userref = FirebaseDatabase.getInstance().getReference("/Users/$user")
Userref.child("Imageuri").setValue(uploadedImageuri)
.addOnSuccessListener{
val groupref = FirebaseDatabase.getInstance().getReference("Groups/$user")
groupref.child("hasImage").setValue(true)
}
}
}
Вот что происходит, когда пользователь существует приложение до того, как imgae будет загружен на сервер? Будет ли задача asyn c запускать все коды внутри «downloadurl.addOnsuccessListener»?
если да, как остановить задачу между ними, когда пользователь либо нажимает кнопку отмены между процессами загрузки изображений, либо inte rnet отключает между ними?