necesito el nombre (cadena) de todos los archivos en res/prima/Android, ¿cómo puedo obtener una lista de todos los archivos en una carpeta?
Traté:
File f = new File("/");
String[] someFiles = f.list();
Parece que el directorio raíz es la raíz del emulador de Android ... y no mi directorio raíz de computadoras. Eso tiene bastante sentido, pero realmente no me ayuda a averiguar dónde existe la carpeta sin procesar.
Gracias!
Actualización: Gracias por todas las buenas respuestas. Parece que algunos de estos funcionan, pero solo me llevan a la mitad. Quizás una descripción más detallada ayude ...
Quiero obtener todos los archivos mp3 en la carpeta RAW así puedo obtener todos los nombres, y luego agregarlos a un URI para reproducir un MP3 aleatorio de la siguiente manera ...
String uriStr = "android.resource://"+ "com.example.phone"+ "/" + "raw/dennis";
Uri uri = Uri.parse(uriStr);
singletonMediaPlayer = MediaPlayer.create(c, uri);
Cuando pongo "dennis.mp3" en la carpeta de activos, sí muestra como se esperaba ... sin embargo, utilizando el código anterior, no puedo acceder a esa MP3 más ... a menos que haya algo en la línea de:
String uriStr = "android.assets://"+ "com.example.phone"+ "/" + "dennis";
Uri uri = Uri.parse(uriStr);
Gracias de nuevo por las respuestas útiles hasta ahora.
Sospecho que no se puede hacer referencia a un activo prima por URI. Es posible que deba pasarlo como un objeto AssetFileDescriptor. Simplemente llame a getResources(). OpenRawResourceFd (resourceID); –