Retrofit API pour récupérer une image png
Salut, je suis nouveau à Rénover cadre pour Android. J'ai pu obtenir des réponses JSON de REPOS et de services d'aide, mais je ne sais pas comment faire pour télécharger un fichier png à l'aide de rénovation. Je suis en train de télécharger le fichier png à partir de cette url:
http://wwwns.akamai.com/media_resources/globe_emea.png.
Quelle devrait être la réponse de l'Objet à être spécifié dans le Rappel<> pour atteindre cet objectif.
source d'informationauteur Pradeep CR | 2014-08-23
Vous devez vous connecter pour publier un commentaire.
Comme mentionné, vous ne devriez pas utiliser de Rénovation pour télécharger l'image elle-même. Si votre objectif est tout simplement de télécharger le contenu sans l'afficher ensuite, vous pouvez simplement utiliser un client Http comme OkHttp qui est un autre de la Place des bibliothèques.
Voici quelques lignes de code, avez-vous télécharger cette image. Vous pouvez alors lire les données de la InputStream.
Même si la Rénovation n'est pas l'homme pour le travail, pour répondre à votre question, la signature de votre Interface de définition de ce genre. Mais encore une fois de ne pas le faire.
Bien sûr, nous avons l'habitude d'utiliser Picasso de chargement de l'image, mais parfois nous avons vraiment besoin de l'utilisation de Rénovation pour charger une image particulière (comme aller chercher l'image du captcha), vous devez ajouter un peu d'en-tête de la demande, obtenir une certaine valeur de l'en-tête de la réponse (bien sûr, vous pouvez également utiliser Picasso + OkHttp, mais dans un projet que vous avez déjà utiliser une Rénovation de répondre à la plupart de net demandes), donc ici présenter comment mettre en œuvre en Rénovation 2.0.0 (j'ai déjà mis en place dans mon projet).
Le point clé est que vous devez utiliser
okhttp3.ResponseBody
recevoir de réponse, sinon Rénovation va analyser les données de réponse en JSON, pas de données binaires.codes:
Rénovation est un RESTE de la bibliothèque, vous pouvez utiliser la Rénovation que pour obtenir l'URL de l'image mais pour l'affichage de l'Image, vous devez utiliser Picasso: http://square.github.io/picasso/
Déclarer retour d'Appel par exemple:
puis de le convertir en Bitmap vous-même:
Vous pouvez également utiliser de Rénovation à effectuer le
@GET
et il suffit de retourner leResponse
. Ensuite, dans le code, vous pouvez le faireisr = new BufferedInputStream(response.getBody().in())
pour obtenir le flux d'entrée de l'image et de l'écrire dans une image, disons, en faisantBitmapFactory.decodeStream(isr)
.J'espère code suivant va vous aider à:
Inclure la fonction suivante à l'intérieur de
MainActivity.java
:Suivant est le fichier de code de traitement de l'image:
Ceci est fait en utilisant Android Rénovation 2.0. J'espère que cela vous a aidé.
Source: Téléchargement d'images à l'aide de Rénovation 2.0