Android: como obtener el ID de un archivo en res/raw buscando por el nombre

Android generará automaticamente un ID para los archivos dentro de la carpeta raw/ Esto es debido a que es una subcarpeta de Recursos res/raw

Podemos acceder a estos archivos de forma muy simple R.raw.file

Sin embargo, podriamos requerir obtener este ID buscando por el nombre del archivo.

Este método puede ayudarte para tal fin:

public int getRaw(Context c, String name) {
        return c.getResources().getIdentifier(name, "raw", c.getPackageName());
    }

Lo mismo sucede para cualquier otra subcarpeta dentro de res/

Por ejemplo para obtener el ID de un archivo en la carpeta drawable

public static int getDrawable(Context c, String name) {
        Assert.assertNotNull(name);
        return c.getResources().getIdentifier(name,
                "drawable", c.getPackageName());
    }

Referencias:

Providing Resources

Hi! If you find my posts helpful, please support me by inviting me for a coffee :)

Ver también