neoakira Posté(e) 17 mai 2009 Share Posté(e) 17 mai 2009 Voici un exemple très simple pour avoir un aperçu de toutes les photos que vous prises avec l'appareil photos et qui sont enregistrées sur la carte sd. voici le layout : main.xml <?xml version="1.0" encoding="utf-8"?> android:id="@+id/gridview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:numColumns="auto_fit" android:verticalSpacing="10dp" android:horizontalSpacing="10dp" android:columnWidth="90dp" android:stretchMode="columnWidth" android:gravity="center" /> voici le code : main.java package com.neogb.imageupload; import java.io.File; import android.app.Activity; import android.content.Context; import android.graphics.BitmapFactory; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.ImageView; public class main extends Activity { private File[] mlistFiles; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mlistFiles = new File("/sdcard/dcim/camera").listFiles(); GridView gridview = (GridView) findViewById(R.id.gridview); gridview.setAdapter(new ImageAdapter(this)); } public class ImageAdapter extends BaseAdapter { private Context mContext; public ImageAdapter(Context c) { mContext = c; } public int getCount() { return mlistFiles.length; } public Object getItem(int position) { return position; } public long getItemId(int position) { return position; } public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView; if (convertView == null) { imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(85, 85)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); imageView.setPadding(8, 8, 8, 8); } else { imageView = (ImageView) convertView; } BitmapFactory.Options options=new BitmapFactory.Options(); options.inSampleSize = 20; imageView.setImageBitmap(BitmapFactory.decodeFile(mlistFiles[position].getPath(), options)); return imageView; } } } Voila, il vous reste plus qu'à implémenter les actions au click d'une image par exemple... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Seb Posté(e) 17 mai 2009 Share Posté(e) 17 mai 2009 Super :) Il faut vraiment que je m'y mette ... à faire du dev ... :p J'ai une ou deux idées qui trainent dans la tête en plus. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pitivier Posté(e) 17 mai 2009 Share Posté(e) 17 mai 2009 moi aussi. C'est juste le temps et la motivation. Après avoir fait du java toute la journée. J'ai légèrement envie d'autre chose le soir et le week end. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
xau Posté(e) 17 mai 2009 Share Posté(e) 17 mai 2009 eh, faut qu'on monte une Frandroid Dream Team... Quelqu'un connais de bon tuto pour le Java? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Jorodan Posté(e) 17 mai 2009 Share Posté(e) 17 mai 2009 Les cours de mes profs :P ... je sors... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Pitivier Posté(e) 17 mai 2009 Share Posté(e) 17 mai 2009 très bon site avec un forum très actif http://java.developpez.com/ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
visje Posté(e) 9 juin 2010 Share Posté(e) 9 juin 2010 Bonjour, je remonte ce topic parceque j'ai un problème qui me tracasse trop depuis quelque temps: j'utilise imgView.setImageURI(imageURI); pour mettre l'URI d'une image dans une imageView. Je voudrais ensuite la visualiser et la mettre dans une gallery. Le problème est que celà marche pour certaines images seulement !! :o ... Je comprend pas pourquoi :/ !? De plus certaines grandes images marchent et certaines petites images ne fonctionnent pas :o !! Lorsque je visualise une image qui ne marche pas, rien ne s'affiche ... et un carré gris va dans la gallery -_- ... Pour une image qui marche .. bah tout est nickel ^^ Mais le truc bizzare c'est que lorsque je met les images qui ne marchent pas en tant que ressource du projet avec ca: imgView.setImageResource(R.drawable.mon_image_qui_marche_pas); eh bien là, CA MAARCHE :o !! Pouvez vous m'expliquer d'où vient le problème :| je vous en serais très reconnaissant :) MERCI ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
visje Posté(e) 9 juin 2010 Share Posté(e) 9 juin 2010 désolé pour le double poste, mais voici une image du problème (en gris les images qui ne marchent pas ... -_-) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
renotm Posté(e) 9 juin 2010 Share Posté(e) 9 juin 2010 Bonjour, Merci pour le tuto sympa. J'ai un peu modifié ton code, car j'ai plus de 300 images dans mon téléphone et c'est un peu long. Dans l'image adapter je charge une image par defaut de petite taille. ensuite une fois l'ensemble des ImageView ajoutés au GridView je crée un nouveau thread afin de charger les images une par une sans plomber l'UI. j'utilise un Handler qui se charge de mettre à jour les vignettes. Cela marche bien sur les vignettes visibles. une fois cette vignettes chargée si je scrolle je vois que l'image par défaut est toujours affichées. Et si je remonte aux images en haut qui étaient bonnes elles ont disparues au profit de l'image apr défaut. Je n'avoue pas bien comprendre ce qu'il se passe. Dans les logs a priori je ne vois pas d'erreur et toutes mes images sont bien chargée. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
visje Posté(e) 10 juin 2010 Share Posté(e) 10 juin 2010 Par rapport au problème que j'ai soulevé plus haut, j'ai essayé le code donné par neoakira et il ya toujours le même soucis. Certaines images s'affiche et pas d'autres ... le problème c'est que les photos prises par la caméra font parti des images qui ne s'affichent pas -_- ... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
neoakira Posté(e) 10 juin 2010 Auteur Share Posté(e) 10 juin 2010 souvent la BitmapFactory foire, il y a pas vraiment de doc la dessus mais ça utilise skia qui a des soucis, dans logcat tu doit avoir un message d'erreur avec SKIA dedans http://code.google.com/p/skia/ sur IRC le problème revient souvant... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Ermal Posté(e) 22 août 2013 Share Posté(e) 22 août 2013 (modifié) Salut tous le monde Dsl mais j'ai recopié tous le tuto, je n'ai pas d'erreur dans mon code, mais rien ne s'affiche. Je test grâce à un Log la grandeur de mlistFiles, il m'indique que c 0. Serai-se possible que le chemin d’accès "/sdcard/dcim/camera" ne soit pas le bon??? Quelqu'un peux m'aider???? merci :-) Oups :-) DSl Je sais pk lol j'avais mal écris le chemin d’accès hihihi Modifié 22 août 2013 par Ermal Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 23 août 2013 Share Posté(e) 23 août 2013 Le "tuto" t'a induit en erreur, il ne faut jamais mettre en dur dans ton code le chemin d'accès à la carte externe (ce chemin n'est pas forcément le même sur tous les smartphones). Il existe une méthode à appeler pour récupérer ce chemin, et ça rend ton application portable et indépendante de ton smartphone Par ex.: File extDir = Environment.getExternalStorageDirectory(); mListFiles = new File(extDir, "dcim").listFiles(); 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.