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 :

[Dev] Utiliser beaucoup d'images dans une appli


Sujet :

Android

  1. #1
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut [Dev] Utiliser beaucoup d'images dans une appli
    Re-bonsoir,

    J'ai besoin dans mon appli d'une bibliothèque d'images.
    En gros je récupère à un moment donné le nom de mon image et je dois l'afficher.

    Le problème est que j'ai beaucoup d'images (environ 1000).
    J'ai essayé d'inclure le dossier les contenant dans le dossier res/drawable/ mais elles me restent inacessibles en tant que ressource, et je ne sais pas comment récupérer puis afficher une image depuis le net.

    De plus je ne me vois pas les mettre une par une dans le dossier res/drawable/ à la main.

    Si quelqu'un à une solution à me proposer, quelqu'elle soit, je suis preneur.

    Merci d'avance.

    Viish

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    tes images sont en local ou récupérer a partir d'un URL ?

  3. #3
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Je les ai en local dans une arborescence de dossiers mais je peux aussi les récupérer depuis le net.

    Je cherche juste une solution quelle qu'elle soit.

  4. #4
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    Je n'ai pas compris ton problème.
    Explique clairement l'existant, puis ce que tu souhaites obtenir.

  5. #5
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    L'existant : une application qui récupère le nom d'une image
    Ce que j'aimerai : afficher l'image en question, soit depuis la base d'image intégrée à l'application (de préférence), soit depuis une base située sur internet.

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    intégrée à l'application, tu veux dire dans un jar ? Alors il faut chercher dans la FAQ puis dans la javadoc.
    Il y a aussi pleins de truc dans la FAQ.
    Bon courage

  7. #7
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    En java ça ne me poserait pas de probleme, mais dans un .apk, je sais pas comment faire.

    (Mon appli est une appli Android)

  8. #8
    Membre habitué Avatar de Watier_53
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 469
    Points : 140
    Points
    140
    Par défaut
    ça va etre beaucoup trop lourd dans ton application je te conseille plutot de les élécharger à partir du net et ensuite de les mettre en cache.

  9. #9
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Oui c'est ce que je me disais aussi mais je sais pas faire sous Android ...

    Quelqu'un peut-il m'expliquer comment faire ?

  10. #10
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    c'est à dire ? tu ne sais pas télécharger des fichiers (images) depuis le net ?

  11. #11
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Pas avec le SDK 1.5 d'Android

  12. #12
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Voici comment je procède pour télécharger un fichier :

    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
    34
    35
    36
     
    public File getContentFromURI(String uri) throws IOException, URISyntaxException {
    		if (uri != null) {
    			Log.d("getContentFromURI", uri);
    		} else {
    			Log.d("getContentFromURI", "null");
    		}
    		URL url = null;
    		url = new URL(uri);
    		HttpURLConnection con;
    		con = (HttpURLConnection) url.openConnection();
    		con.setUseCaches(false);
    		InputStream is = con.getInputStream();
    		BufferedInputStream bis = new BufferedInputStream(is, 8192);
    		int current = 0;
    		String[] splitedFileName = url.getFile().split("\\?");
     
    		File savedDir = new File(this.getRootPath() + splitedFileName[0]);
    		savedDir.mkdirs();
     
    		File streamFile = new File(savedDir.getAbsolutePath() + "/"	+ Math.random());
     
    		if (!streamFile.exists()) {
    			FileOutputStream fw = new FileOutputStream(streamFile);
    			while ((current = bis.read()) != -1) {
    				fw.write((byte) current);
    			}
     
     
    			fw.flush();
    			fw.close();
    		} else {
    			return streamFile;
    		}
    		return streamFile;
    	}
    C'est pas ce qu'il y a de plus optimisé, mais j'en suis pas encore là...
    J'espère que ce code pourra t'aider...

  13. #13
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Merci, je vais tenter avec un truc du genre (adapté de ta version) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    URL url = new URL(url_de_l_image);
                URLConnection conn = url.openConnection();
                conn.connect();
                InputStream is = conn.getInputStream();
                BufferedInputStream bis = new BufferedInputStream(is);
                Bitmap bm = BitmapFactory.decodeStream(bis);
                bis.close();
                is.close();
     
                ImageView image = (ImageView) findViewById(R.id.iv_full);
                image.setImageBitmap(bm);
    On verra bien

  14. #14
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    C'est bon, ça marche !!! Enfin !!!

    Le code pour ceux que ça intéresse :
    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
    try 
            {
            	setContentView(R.layout.showimage);
     
                URL url = new URL(url_de_l_image);
                HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                conn.connect();
                InputStream is = conn.getInputStream();
                BufferedInputStream bis = new BufferedInputStream(is);
                Bitmap bm = BitmapFactory.decodeStream(bis);
                bis.close();
                is.close();
     
                ImageView image = (ImageView) findViewById(R.id.iv_full);
                image.setImageBitmap(bm);
            } 
            catch (Exception e) 
            {
            	setContentView(R.layout.imagemissing);
            }
    Merci beaucoup à tout ceux qui m'ont aidé sur ce topic !

  15. #15
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut N'oublie pas qu'Android se fonde sur java.io
    Tu avait oublié qu'Android a bcp utilisé Java.io?

    Il ne faut plus oulbier

  16. #16
    Inscrit

    Profil pro
    Inscrit en
    Février 2008
    Messages
    658
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 658
    Points : 892
    Points
    892
    Par défaut on peut importer java.io dans Android
    Tu avait oublié qu'Android a bcp utilisé Java.io?

    Il ne faut plus oulbier que tu peux importer java.io donc utilise toute sa puissance

  17. #17
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Ouai mais finalement j'ai préféré la solution de télécharger les images au fur et à mesure depuis mon serveur et de les sauvegarder sur la carte SD pour éviter d'avoir toujours besoin d'internet.

  18. #18
    Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    y a t'il un fichier xml qui accompagne ton code proposé?

  19. #19
    Rédacteur
    Avatar de Viish
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2009
    Messages
    427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2009
    Messages : 427
    Points : 1 499
    Points
    1 499
    Par défaut
    Il y en à même 2 : un qui se nomme imagemissing et qui est utilisé lors d'une exception, et l'autre showimage qui contient une ImageView ayant pour ID iv_full.

    Si tu veux vraiment je peux te les poster.

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

Discussions similaires

  1. Problème de qualité d'image dans une appli
    Par jerem_orga dans le forum Android
    Réponses: 1
    Dernier message: 03/01/2012, 14h11
  2. Placer une image dans une appli
    Par JCMANSION dans le forum Android
    Réponses: 11
    Dernier message: 21/10/2010, 12h09
  3. Peux-t'on utiliser un assemby 2.0 dans une appli 1.1 ?
    Par RamDevTeam dans le forum Framework .NET
    Réponses: 1
    Dernier message: 19/09/2006, 17h32
  4. [D2006] - Utiliser un composant C# dans une appli VCL.NET
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 13/02/2006, 16h07
  5. Réponses: 15
    Dernier message: 22/03/2005, 14h45

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