Obtenez de l'URI d'une image stockée dans drawable
Je suis ajout d'un couple d'éléments de l'échantillon dans mon application, de sorte qu'il n'a pas l'air si vide lorsque l'utilisateur regarde pour la première fois. La liste avec les éléments de l'échantillon doit avoir une image et l'image que je vais utiliser est déjà stocké dans le dossier /res/drawable-dossier de l'application.
Puisque j'ai déjà une méthode qui charge les éléments d'images à partir d'un URI je voudrais avoir l'URI de l' /res/drawable/myImage.jpg mais je ne semble pas être en mesure d'obtenir ce droit.
Le flux est comme suit:
Créer un élément avec la chaîne de caractères qui représente l'URI de l'image.
Envoyer la liste des éléments à une Liste
La liste des charges de l'image dans une tâche d'arrière-plan par la conversion de la chaîne d'URL et puis exécutez url.openStream();
J'ai essayé un peu d'options pour les URI, sans succès.
"android.resource://....." dit unknow protocoll /
"file://" fichier non trouvé
Donc maintenant je suis un peu perdu sur la façon de résoudre ce..
- La réponse par @Pixie fonctionne.
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser
ContentResolver
pour ouvrir la ressource Uri:Aussi, vous pouvez ouvrir le fichier et le contenu des Uri à l'aide de cette méthode.
Uri.parse()
ne faut pas jeter cette exception. Lorsque vous analysez unUri
il vérifie juste pour unnull
de référence mais n'est pas réellement de l'analyser.stream
ainsi quetoString()
aussi?Image image = Image.getInstance(" string ");
Image
est de créer unBitmap
de laInputStream
, puis recevoir des pixels à partir de l'Bitmap
à l'aide deBitmap. getPixels()
et de transmettre ces données àImage.getInstance(byte[])
.BitmapDrawable
.basé sur la ci - version remaniée pour toute ressource:
quelques infos:
...
sources:
LITIGE
cette réponse est correcte, mais la partie sur la finale de champs n'est pas - il n'a rien à voir avec la réponse – Boris Treukhov
@BorisTreukhov - veuillez élaborer à nous ce que u veux dire par "la partie sur la finale de champs n'est pas correct" - question - comment obtenir de l'uri pour ...? construire la façon dont il pourrait être analysée (comment est-uri analysée ? voir la réponse)
Uri
et pasURI
ici.Uri
est spécifique à Android.C'est ce que vous avez vraiment besoin:
Vous pouvez utiliser
Uri.Builder
au lieu de concaténationLa réponse la plus facile serait:
Uri.parse(String va ici);
//Donc, pour faire le drawable s'adapter à l'intérieur de cette fourchette, vous avez juste besoin de faire cela.
Que c'est.