una samsung sacar para p20 p10 lite fotos crear como celular carpetas carpeta archivos aplicaciones android android-file

samsung - Android, ¿cómo puedo obtener una lista de todos los archivos en una carpeta?



crear carpetas en android 8 (6)

Necesito el nombre (String) de todos los archivos en res / raw /

Lo intenté:

File f = new File("/"); String[] someFiles = f.list();

Parece que el directorio raíz es la raíz del emulador de Android ... y no el directorio raíz de mi computadora. Eso tiene bastante sentido, pero realmente no me ayuda a descubrir dónde existe la carpeta en bruto.

Actualización: Gracias por todas las grandes respuestas. Parece que algunos de estos están funcionando, pero solo me están haciendo a medias. Quizás una descripción más detallada ayude.

Quiero obtener todos los archivos mp3 en la carpeta sin formato para poder 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 coloco "dennis.mp3" en la carpeta de activos, se muestra como se esperaba, sin embargo, utilizando el código anterior, no puedo acceder a ese 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);


Necesito el nombre (String) de todos los archivos en res / raw /

No hay archivos en res/raw/ en el dispositivo. Esos son los recursos. No hay una buena manera de iterar sobre los recursos, aparte de usar la reflexión para iterar sobre los miembros de datos estáticos de la clase R.raw para obtener los diversos nombres y valores de ID.

pero realmente no me ayuda a descubrir dónde existe la carpeta en bruto.

Como carpeta, solo existe en su máquina de desarrollo. No es una carpeta en el dispositivo.



Este código recuperará todos los archivos de ''New Foder'' de sdCard.

File sdCardRoot = Environment.getExternalStorageDirectory(); File yourDir = new File(sdCardRoot, "New Folder"); for (File f : yourDir.listFiles()) { if (f.isFile()) { String name = f.getName(); Log.i("file names", name); } }

y también asegúrese de agregar el permiso de escritura de la tarjeta sd de Android en su archivo manifest.xml



Para listar todos los nombres de sus activos en bruto, que son básicamente los nombres de archivo con las extensiones eliminadas, puede hacer esto:

public void listRaw(){ Field[] fields=R.raw.class.getFields(); for(int count=0; count < fields.length; count++){ Log.i("Raw Asset: ", fields[count].getName()); } }

Dado que los archivos reales no solo se sientan en el sistema de archivos una vez que están en el teléfono, el nombre es irrelevante, y deberá referirse a ellos por el número entero asignado a ese nombre de recurso. En el ejemplo anterior, podría obtener este número entero así:

int resourceID=fields[count].getInt(fields[count]);

Este es el mismo int que obtendrías refiriéndose a R.raw.whateveryamamthertheresource


Puedes usar AssetManager :

Por lo que puedo recordar, tendrá una lista con (solo intente diferentes rutas):

final String[] allFilesInPackage = getContext().getResources().getAssets().list("");