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

Android Discussion :

Réalisation d'une galerie d'images [Tutoriel]


Sujet :

Android

  1. #1
    Membre confirmé

    Inscrit en
    Mars 2010
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 4
    Points : 596
    Points
    596
    Par défaut Réalisation d'une galerie d'images
    Bonjour,

    Voici un petit tutoriel expliquant comment réaliser une petite galerie d'images provenant du web :
    http://mickael-lt.developpez.com/tut...rie-connectee/

    Toutes les remarques sont les bienvenues !

  2. #2
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Salut,

    Juste une précision .
    Le mieux serait de passer la création des images dans un service au lieu d'un thread , tu n'aurais pas besoin de retélécharger à chaque rotation de l'écran tes images. Le service s'en occuperait pour toi .

    Sinon c'est nickel après
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut erreur
    bonjour

    j'ai tente d'utiliser le tutoriel sans succes
    jobtiens lerreur :
    DVPGallery}: android.os.NetworkOnMainThreadException
    il ya bien les autorisations dans le manifest

    je cherche à charger des images depuis des URL et les stocker dans un tableau...ca correspond tout à fait, je suis à deux doigt d'y arriver, mais je bloque sur cette erreur
    en vous remerciant pour votre aide
    cdt
    D.

  4. #4
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Utilisation du réseau dans le thread principal de l'UI...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut perdu
    merci mais je suis perdu. ca fait plusieurs jours que je cherche...
    voici mon 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
    19
    20
    21
    22
    23
    24
     public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            mProgressBar = (ProgressBar) findViewById(R.id.pBAsync);
            mButton = (Button) findViewById(R.id.btnLaunch);
            ImgView = (ImageView) findViewById(R.id.imgView);
     
     
            config = new ImageLoaderConfiguration.Builder(this)
                    .threadPriority(Thread.NORM_PRIORITY - 2)
                    .diskCacheSize(50 * 1024 * 1024) // 50 Mb
                    .build();
            ImageLoader.getInstance().init(config);
            imageLoader =  ImageLoader.getInstance();
            imageLoader.init(config);
            String imageUri = "http://.....monimage.jpg";
            ImageLoader.getInstance().init(config);
     
     
     
            bitmapArray[0]=imageLoader.loadImageSync(imageUri);
            Bitmap Test=bitmapArray[0];
            ImgView.setImageResource(bitmapArray[0]);
    j'ai l'erreur Error55, 45) error: incompatible types: Bitmap cannot be converted to int sur la derniere ligne
    mon soucis est de pouvoir charger 15 images rapidement, depuis le web, dans un tableau de bitmap pour pouvoir les reutiliser apres.......

  6. #6
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    utilise cette fonction : setImageBitmap
    http://developer.android.com/referen...aphics.Bitmap)
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  7. #7
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    puree oué merci....je suis grave

  8. #8
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut suite
    j'ai modifié en
    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
    19
    20
    21
    22
    23
     DisplayImageOptions options = new DisplayImageOptions.Builder()
                    .cacheOnDisk(false)
                    .cacheInMemory(true)
                    .imageScaleType(ImageScaleType.EXACTLY)
                    .displayer(new FadeInBitmapDisplayer(300))
                    .build();
     
     
            config = new ImageLoaderConfiguration.Builder(getApplicationContext())
                    .threadPriority(Thread.NORM_PRIORITY + 10)
                    .defaultDisplayImageOptions(options)
                    .diskCacheSize(50 * 1024 * 1024) // 50 Mb
                    .build();
     
    try {
        ImageLoader.getInstance().init(config);
        imageLoader = ImageLoader.getInstance();
     
        Bitmap bmImg = imageLoader.loadImageSync(imageUri);
        imageView.setImageBitmap(bmImg);
    } finally {
     
    }
    et jobtiens l'erreur : Attempt to invoke virtual method 'void android.widget.ImageView.setImageBitmap(android.graphics.Bitmap)' on a null object reference


    sur la ligne : imageView.setImageBitmap(bmImg);

    merci

  9. #9
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Salut tu n'as pas initialisé ta variable imageView
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  10. #10
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut suite
    si si,
    voici le code complet, je voulais pas surcharger à la lecture, desole

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
      super.onCreate(savedInstanceState);
            setContentView(R.layout.mainlayout);
            mCardContainer = (CardContainer) findViewById(R.id.layoutview);
     
            ImageView imageView = (ImageView) findViewById(R.id.imgView);
     
     
            final SimpleCardStackAdapter adapter = new SimpleCardStackAdapter(this);
            String imageUri = "http://monimage 659246753.jpg";
     
            DisplayImageOptions options = new DisplayImageOptions.Builder()
                    .cacheOnDisk(false)
                    .cacheInMemory(true)
                    .imageScaleType(ImageScaleType.EXACTLY)
                    .displayer(new FadeInBitmapDisplayer(300))
                    .build();
     
     
            config = new ImageLoaderConfiguration.Builder(getApplicationContext())
                    .threadPriority(Thread.NORM_PRIORITY + 10)
                    .defaultDisplayImageOptions(options)
                    .diskCacheSize(50 * 1024 * 1024) // 50 Mb
                    .build();
     
    try {
        ImageLoader.getInstance().init(config);
        imageLoader = ImageLoader.getInstance();
     
        Bitmap bmImg = imageLoader.loadImageSync(imageUri);
        imageView.setImageBitmap(bmImg);
    } finally {
     
    }

  11. #11
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Pas de souci.

    Dans ce cas regarde ce que tu as dans la variable imageView on dirait que le findViewById te retourne null.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  12. #12
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    voila, j'etais pas sur le bon layout
    donc plus d'erreur, le layout s'affiche bien, mais l'image ne change pas...
    j'ai essayé avec et sans "try {]" meme resultat...

    j'ai meme log avant et apres le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Log.i("OKOK", "IN");
        ImageLoader.getInstance().init(config);
        imageLoader = ImageLoader.getInstance();
     
        Bitmap bmImg = imageLoader.loadImageSync(imageUri);
        imageView.setImageBitmap(bmImg);
    Log.i("OKOK", "OUT");
    j'ai bien IN et OUT....

  13. #13
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Pense à utilisez les balise CODE

    Sinon qu'est ce que tu as dans la variable bmImg ?
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  14. #14
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    j'ai donc rajouté :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Log.i("OKOK", bmImg.toString());
    et l'erreur renvoyee est :
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference

    donc j'ai pense que l'image ne se chargait pas, ou bien n'avait pas le temps de se charger
    j'ai donc modifié en rajoutant 5sec de pause avant de changer l'image, mais pareil
    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
     try {
                Log.i("OKOK", "IN");
                ImageLoader.getInstance().init(config);
                imageLoader = ImageLoader.getInstance();
     
                Bitmap bmImg = imageLoader.loadImageSync(imageUri);
                Thread.sleep(5000);
                imageView.setImageBitmap(bmImg);
                Log.i("OKOK", bmImg.toString());
            }
            catch (Exception e) {
                e.printStackTrace();
                Log.i("OKOK", e.toString());
     
            }

  15. #15
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Trouvé

    String imageUri = "http://monimage 659246753.jpg";
    Tu as un espace dans l'adresse, il faut que tu passe en UTF 8 soit avec des %20 au lieu des espace à tout les coups.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  16. #16
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    Citation Envoyé par Feanorin Voir le message
    Trouvé


    Tu as un espace dans l'adresse, il faut que tu passe en UTF 8 soit avec des %20 au lieu des espace à tout les coups.

    non,non, j'ai modifié pour pas laisser apparaitre l'url complete....l'image existe bien, j'ai verifié

  17. #17
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    En tout cas ca ne charge pas l'image, si tu l'attaque directement depuis un navigateur ca l'affiche ?

    Ton Sleep de 5s ne sert à rien
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  18. #18
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    oui : http://www.davidmarchioni.fr/glopper...8659246753.jpg

    merci opur les 5s, j'ai retiré

  19. #19
    Expert éminent

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Points : 9 149
    Points
    9 149
    Par défaut
    Dans ce cas il faut regarder dans le Loader ce qui lui pose problème ton erreur est là dedans.
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

  20. #20
    Membre à l'essai
    Homme Profil pro
    Webmaster
    Inscrit en
    Septembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Septembre 2014
    Messages : 19
    Points : 22
    Points
    22
    Par défaut
    j'utilise compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3'
    c'est impossible à checker. et je ne serais pas le seul à avoir le probleme....

Discussions similaires

  1. Pagination d'une galerie d'image sans recharger
    Par luffy59 dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 03/07/2008, 15h38
  2. [FPDF] Faire une galerie d'images en PDF
    Par BernardT dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 25/06/2008, 12h04
  3. [AJAX] Construction d'une galerie d'images avec Ajax
    Par Pmko01 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/01/2008, 16h32
  4. [Galerie] Recherche une galerie d'images
    Par Chickenkiller dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 7
    Dernier message: 19/09/2006, 17h03
  5. une galerie d'images
    Par Le Mage Noir dans le forum Langage
    Réponses: 9
    Dernier message: 19/03/2006, 21h57

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