Profete162 Posted December 28, 2009 Share Posted December 28, 2009 (edited) 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 Edited December 28, 2009 by Profete162 Quote Link to comment Share on other sites More sharing options...
popolbx Posted December 28, 2009 Share Posted December 28, 2009 et pourquoi pas la SDcard ? Quote Link to comment Share on other sites More sharing options...
Profete162 Posted December 28, 2009 Author Share Posted December 28, 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. Quote Link to comment Share on other sites More sharing options...
Nivek Posted December 28, 2009 Share Posted December 28, 2009 (edited) 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: Edited December 28, 2009 by Nivek Quote Link to comment Share on other sites More sharing options...
Profete162 Posted December 28, 2009 Author Share Posted December 28, 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. Quote Link to comment Share on other sites More sharing options...
Fluckysan Posted December 28, 2009 Share Posted December 28, 2009 Niveau place dans la BDD ça donne quoi ? C'est juste par curiosité :o Quote Link to comment Share on other sites More sharing options...
Nivek Posted December 28, 2009 Share Posted December 28, 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 Quote Link to comment Share on other sites More sharing options...
Profete162 Posted December 28, 2009 Author Share Posted December 28, 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) Quote Link to comment Share on other sites More sharing options...
Nivek Posted December 28, 2009 Share Posted December 28, 2009 Oui oui, je disais ça pour aller dans ton sens :rolleyes: Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.