IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Kotlin Discussion :

Envoi d'images vers une base de données Firebase


Sujet :

Kotlin

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 60
    Points : 54
    Points
    54
    Par défaut Envoi d'images vers une base de données Firebase
    Bonjour,
    En tant que débutant Kotlin, j'essaie de faire tourner un tuto Android/Kotlin, trouvé sur youtube, destiné à envoyer du texte et des images vers une base de données on-line Firebase.
    J'ai réussi à faire tourner la plus grande partie du programme, y compris l'écriture-lecture dans la base, mais je bute sur une seule ligne de code :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    fun uploadImage(file: Uri, callback: () -> Unit) {
            if(file != null) {
                val fileName = UUID.randomUUID().toString() + ".jpg"
                val ref = storageReference.child(fileName)
                val uploadTask = ref.putFile(file)
     
                uploadTask.continueWithTask(Continuation<UploadTask.TaskSnapshot, Task<Uri>> { task ->
                    if(!task.isSuccessful) {
                        task.exception?.let { throw it}
                    }
                    return@Continuation ref.downloadUrl
                }).addOnCompleteListener { task ->
                    if(task.isSuccessful) {
                        downloadUri = task.result
                        callback()
                    }
            }
        }


    Le bug se situe au niveau de la ligne de code 7 (uploadTask.continueWithTask...), où je suis confronté aux 3 messages d'erreur suivants :
    Type inference failed, No value passed for parameter 'context', Type mismatch (suivant l'endroit où je déplace le curseur de souris sur cette ligne 7.
    Existe-t-il une solution?
    Merci.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Points : 231
    Points
    231
    Par défaut
    Bonjour,

    Il te faut écrire une fonction du type Continuation à passer en paramètre à continueWithTask. Actuellement tu tentes de passer le type attendu, d'où les messages d'erreur.

    Voir :
    https://developers.google.com/androi...nResult%3E%3E)

    https://developers.google.com/androi...tinuation.html

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 60
    Points : 54
    Points
    54
    Par défaut
    Bonsoir,
    Merci beaucoup Krantz, c'était la bonne explication.
    Mon code a du fonctionner correctement avec des versions antérieures de Android/Kotlin, car on trouve de nombreux exemples écrits dans cette syntaxe sur Google, mais effectivement, actuellement il n'est plus accepté
    Merci encore.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi d'images vers une base de données externe Firebase
    Par alain lecomte dans le forum Android Studio
    Réponses: 0
    Dernier message: 17/03/2022, 12h50
  2. Réponses: 6
    Dernier message: 18/02/2011, 17h21
  3. intégrer un fichier image dans une base de donnée?
    Par Lody dans le forum Requêtes
    Réponses: 9
    Dernier message: 16/03/2006, 19h08
  4. les images dans une base de données
    Par houhou dans le forum Bases de données
    Réponses: 8
    Dernier message: 22/06/2004, 14h27
  5. Réponses: 21
    Dernier message: 29/04/2004, 15h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo