Profete162 Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 (modifié) Salut. Je travaille pour l'instant dans mes programmes avec des éléments d'une base de donnée qui contiennent une url vers une image. Quand je veux les afficher, je vais à chaque fois chercher l'image associée à l'url, ce qui est tres tres lourd. J'aimerais changer cette méthode et stocker les images dans ma DB. ( ce sont des icones, ca prend pas de place, et il y en a 4 ou 5 maximum) exemple d'éléments de ma DB: EN GENERAL: String nom - String description - String img_url ITEM 1: Pomme - la pomme est un fruit - http://www.24hr-slots.co.uk/Microgaming/fr/images/Monster_Mania/Pomme.jpg ITEM 2: Robot - un robot est un tas de métal qui semble être en vie - http://a1.twimg.com/profile_images/22039052/03.01.c3po_normal.jpg Tout se passe tres bien, mais quand je veux afficher dans ma listview, mon adapter ca chercher directement l'image sur le net, et cela fait des accès à rallonge et un programme assez lent! est-il possible de stocker directement l'image dans la DB pour un acces instantané???? Je précise que je peux transformer l'image en ressource de type "Bitmap" et c'est donc cette valeur que j'aimerais stocker. pour l'instant je fais ceci: "create table "+DATABASE_TABLE+" (_id integer primary key autoincrement, " + KEY_NAME+" text not null, "+KEY_DESCRIPTION+" text not null, "+KEY_IMG_URL+" text not null);"; et un "put" pour mettre la valeur dans la DB. Je vois bien que le put ne peut pas accepter de valeur genre Bitmap Donc je ne sais pas si ce que je demande est possible. L'option de stocker les images sur la SD me parait un peu lourd, donc je cherche une alternative. Merci pour votre aide Modifié 28 décembre 2009 par Profete162 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 et pourquoi pas la SDcard ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 28 décembre 2009 Auteur Share Posté(e) 28 décembre 2009 De mon avis de simple programmeur du dimanche: Si il y a moyen de le faire avec DB, ca va faire un code simple et clair avec toutes les infos au même endroit Avec la SD, cela fait plein de tests en plus pour éviter les erreurs quand pas de carte ou pas de bon répertoire, Puis, il n'y a rien à faire, mais tout dans la DB, ca simplifie énormément les choses! lol Bon, j'ai trouvé une piste: cf le message de padde dans ce forum: http://www.anddev.org/viewtopic.php?p=31939 Je testerai cet apres-midi. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 (modifié) Essaye un truc du genre : ByteArrayOutputStream outStream = new ByteArrayOutputStream(); myBitmap.compress(Bitmap.CompressFormat.PNG, outStream); myDataBase.put(key, outStream.toByteArray()); Pour reconstruire l'image, il faudra utiliser BitmapFactory.decodeByteArray(); Ah bah tu avais déjà trouvé ça en fait. :lol: Modifié 28 décembre 2009 par Nivek Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 28 décembre 2009 Auteur Share Posté(e) 28 décembre 2009 Merci, Nivek, je vais essayer. Ca al'air de ressembler au lien contenu dans le post que j'ai cité, je vais comparer et essayer! Merci encore. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 Niveau place dans la BDD ça donne quoi ? C'est juste par curiosité :o Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 A mon avis, il faut se restreindre à des petites images en petit nombre... sinon ca va manger l'espace dispo pour les autres applis. Pour le stockage de masse, privilégier la sdcard. -- Posté depuis BBFoC Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Profete162 Posté(e) 28 décembre 2009 Auteur Share Posté(e) 28 décembre 2009 Je pense que j'ai été clair la dessus: ( ce sont des icones, ca prend pas de place, et il y en a 4 ou 5 maximum) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Nivek Posté(e) 28 décembre 2009 Share Posté(e) 28 décembre 2009 Oui oui, je disais ça pour aller dans ton sens :rolleyes: Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.