una studio ruta programacion obtener mostrar imagen android drawable

programacion - obtener la ruta de una imagen android studio



Android obtener la ruta de la imagen de drawable como cadena (6)

¿Hay alguna forma de obtener la ruta de la imagen desde una carpeta dibujable en Android como String? Necesito esto porque implemento mi propio flujo de vista donde muestro las imágenes usando su ruta en la tarjeta SD, pero quiero mostrar una imagen predeterminada cuando no hay ninguna imagen para mostrar.

¿Alguna idea de cómo hacer eso?


Basado en algunas de las respuestas anteriores, lo improvisé un poco.

Crea este método y llámalo pasando tu recurso.

Método reutilizable

public String getURLForResource (int resourceId) { return Uri.parse("android.resource://"+R.class.getPackage().getName()+"/" +resourceId).toString(); }

Llamada de muestra

getURLForResource(R.drawable.personIcon)

ejemplo completo de carga de imagen

String imageUrl = getURLForResource(R.drawable.personIcon); // Load image Glide.with(patientProfileImageView.getContext()) .load(imageUrl) .into(patientProfileImageView);

puede mover la función getURLForResource a un archivo Util y hacerla estática para que pueda reutilizarse


Creo que no se puede obtener como String pero se puede obtener como int por obtener el id recurso:

int resId = this.getResources().getIdentifier("imageNameHere", "drawable", this.getPackageName());


De esta manera, puedes llegar a una imagen en particular en tu carpeta drawable . Obtenga los recursos y luego especifique la imagen a la que desea acceder:

Resources res = getResources(); Drawable drawable = res.getDrawable(R.drawable.myimage);

Para más información, vea Recursos dibujables .


Primero verifique si el archivo existe en la tarjeta SD. Si el archivo no existe en la tarjeta SD, puede configurar la imagen utilizando el método setImageResource () y pasando la imagen predeterminada de la carpeta dibujable

Código de muestra

File imageFile = new File(absolutepathOfImage);//absolutepathOfImage is absolute path of image including its name if(!imageFile.exists()){//file doesnot exist in SDCard imageview.setImageResource(R.drawable.defaultImage);//set default image from drawable folder }


Si planea obtener la imagen de su ruta, es mejor usar Activos en lugar de tratar de averiguar la ruta de la carpeta que se puede dibujar.

InputStream stream = getAssets().open("image.png"); Drawable d = Drawable.createFromStream(stream, null);


Todas estas son formas:

String imageUri = "drawable://" + R.drawable.image;

Otras formas que he probado

Uri path = Uri.parse("android.resource://com.segf4ult.test/" + R.drawable.icon); Uri otherPath = Uri.parse("android.resource://com.segf4ult.test/drawable/icon"); String path = path.toString(); String path = otherPath .toString();