récupérer des images à partir de la galerie sur les téléphones android, avec un espace de stockage interne
Salut, je suis en train d'élaborer un Android application Galerie où suis-je récupérer des images à partir de construit dans la galerie et de l'afficher.Je suis à l'aide du code ci-dessous
String[] projection = {MediaStore.Images.Thumbnails._ID};
Cursor cursor = getContentResolver().query(MediaStore.Images.Thumbnails.INTERNAL_CONTENT_URI,
projection, //Which columns to return
null, //Return all rows
null,
null);
int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Thumbnails._ID);
int size = cursor.getCount();
//If size is 0, there are no images on the SD Card.
if (size == 0)
{
Log.e("size 0","0");
}
Le Problème est que lorsque j'exécute ce code sur les Téléphones ayant seulement la mémoire de stockage interne (Galaxy Nexus) je reçois le Journal qui dit taille de Zéro même si il y a des images dans construit dans la galerie. Comment puis-je résoudre ce problème.
S'Il Vous Plaît Aider.Merci!
- Essayez de changer
MediaStore.Images.Thumbnails.INTERNAL_CONTENT_URI
àMediaStore.Images.Media.EXTERNAL_CONTENT_URI
- L'utilisateur multimédia est accessible par EXTERNAL_CONTENT_URI. INTERNAL_CONTENT_URI est utilisé uniquement par le système d'applications.
- J'ai essayé EXTERNAL_CONTENT_URI et aussi INTERNAL_CONTENT_URI, l'EXTERNE fonctionne très bien sur les téléphones qui ont la carte SD, mais ne fonctionne pas sur les téléphones comme le Galaxy Nexus (pas de stockage externe)
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
est votre URI. Si la vignette de la photo n'est pas disponible, votre requête sera de retour 0 données. Si vous interrogez pour les médias, au lieu de la vignette.- J'ai essayé MediaStore.Les Images.Médias.EXTERNAL_CONTENT_URI, cela fonctionne bien mais il est très lent à récupérer même les 5 images de la Galerie! Comment faire récupérer des photos rapide comme: MediaStore.Les Images.Les vignettes.EXTERNAL_CONTENT_URI
- Première requête pour les miniatures, si elle ne retourne rien, alors vous pouvez faire une requête pour les médias.
- En outre, vous pouvez utiliser le chargeur du curseur ou asynchrone tâche d'interroger les médias.
- C'est la seule option?
- Cochez cette app sur Google play. play.google.com/store/apps/... où les images sont chargés de façon rapide. Comment font-ils? Si j'utilise MediaStore.Les Images.Médias.EXTERNAL_CONTENT_URI . Les images chargées, trop lent. Est-il une autre option.S'il vous plaît suggérer.
- Avez-vous essayé queryMiniThumbnails??
Vous devez vous connecter pour publier un commentaire.
Essayez ceci sur votre bouton "Parcourir"
et vous cal également définir l'image sélectionnée dans votre ImageView comme
Dans le premier bloc de code que j'utilise
startActivityForResult(i, RESULT_LOAD_IMAGE);
ce résultat de retour à l'activité qui nous permet d'obtenir ce résultat par le deuxième bloc de code, et de définir l'image sélectionnée dans votre ImageViewRemplacer
MediaStore.Images.Thumbnails.INTERNAL_CONTENT_URI
avecMediaStore.Images.MEDIA.EXTERNAL_CONTENT_URI
EDIT: Obtenir la liste des vignettes et d'obtenir l'image de l'URI de l'curseur
Pour obtenir la liste des images de la Galerie, vous pouvez essayer ce