
Dans ce tutoriel ,
nous allons voir comment afficher une image dans notre application à partir une image stocké dans le web. Parmi les contraintes du système Android est la mémoire. Donc si on a plusieurs images à utiliser dans notre application , on les stocke dans un serveur d'images et on les récupére via leurs emplacements.
On va tester avec une seule image qui sera afficher dans un "ImageView" .Il y en a plusieurs méthodes pour faire ça mais la meilleur c'est d'utiliser AsyncTask (Éviter le traitement lourd à l'application)
#1. Création d'une application Android:
Application Name: Loading Picture Android Url
Project Name: LoadingPictureAndroidUrl
Package Name :com.tutozone.loadingpictureandroidurl
Activity Name: MainActivity
| Création d'un nouveau projet Android |
< ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
/>
Dans notre application, on a besoin de la permission "INTERNET", donc on ajoute la permission dans le fichier "AndroidManifest.xml"
< uses-permission android:name="android.permission.INTERNET"/>
Passons à notre activité maintenant ,on va créer une classe privé (à la fin de notre activité) qui étend de "AsyncTask" dont on ajoute un "ImageView" dans sa constructeur.
// AsyckTask to download image (url given ) private class DownloadImageTask extends AsyncTask{ ImageView bmImage; //constructor public DownloadImageTask(ImageView bmImage) { this.bmImage = bmImage; } // laoding picture and put it into bitmap protected Bitmap doInBackground(String... urls) { String urldisplay = urls[0]; Bitmap mIcon11 = null; try { InputStream in = new java.net.URL(urldisplay).openStream(); mIcon11 = BitmapFactory.decodeStream(in); } catch (Exception e) { Log.e("Error", e.getMessage()); e.printStackTrace(); } return mIcon11; } //after downloading protected void onPostExecute(Bitmap result) { bmImage.setImageBitmap(result); } }
Pour tester l'asyncTask , on crée une instance dans la méthode onCreate() en passant l'imageView et l'url d'image à afficher .
// here we will load the picture into the imageView
new DownloadImageTask((ImageView) findViewById(R.id.imageView1))
.execute("http://img4.hostingpics.net/pics/118117logoCopie.png");
#2. Résultat:
Vous pouvez mettre n'importe quel URL d'image dans le code et après l'exécution voici le résultat:
| Chargement d'image dans l'imageView à partir un URL |
Comme d’habitude , le code de notre application se trouve dans le site GitHub.
![]() |
| Code source |
Vous avez aimé cet article ? alors suivez-nous sur Twitter, Google+ et Facebook, et partagez-le avec les boutons ci-dessous ! Vos commentaires sont les bienvenus.


Enregistrer un commentaire