|
||
|
|
|
|||||||
| Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Obtener referencia de la carpeta raw como texto
Como puedo hacer para obtener la ruta de un sonido alojado en el directorio "raw" y mostrarlo como texto?. Necesito guardar el sonido en una base de datos SQlite obteniendo la referencia desde la carpeta "raw", por ejemplo "R.raw.mi_sonido.mp3" me muestra unos numeros en ves de este nombre.
Este codigo lo lanzo desde un menu contextual que al pulsar me guarda la referencia en la base de datos, las referencias a los sonidos estan en un array "misSonidos", probando este codigo en un Toast por ejemplo me muestra los numeros en ves de el nombre del sonido. [php] AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); int elem = info.position; Uri uri = Uri.parse("android.resource://" + getPackageName() + misSonidos[elem]); [/php]
__________________
|
|
|
|
#2
|
||||
|
||||
|
Creo que buscas esto:
https://developer.android.com/refere...eEntryName(int) De todas formas no entiendo el problema, los raws no son dinámicos, sabes cuales van a ser en todo momento y no necesitas su referencia por nombre. Los elementos de "misSonidos" podrían ser una clase que además de la referencia id tenga su nombre. |
|
#3
|
||||
|
||||
|
Creo que buscas esto:
https://developer.android.com/refere...eEntryName(int) De todas formas no entiendo el problema, los raws no son dinámicos, sabes cuales van a ser en todo momento y no necesitas su referencia por nombre. Los elementos de "misSonidos" podrían ser una clase que además de la referencia id tenga su nombre. ![]()
__________________
|
|
#4
|
||||
|
||||
|
Lo que quiero decir es que no necesitas una función para obtener el nombre de un recurso a partir de su id en tu caso, cuando almacenas en la BD ya sabes cual va a ser su nombre. |
|
#5
|
||||
|
||||
|
Ahora tengo un pequeño problema con la Base de Datos y con el metodo "getResources()", este es el codigo que uso para obtener la referencia al sonido en la carpeta raw:
[php] String ref_sonido = getResources().getString(misSonidos[elem]); [/php]Esto me muestra "res/raw/sonidoEjemplo.mp3", hay manera de que solo me muestre ""sonidoEjemplo" ?
__________________
|
|
#6
|
||||
|
||||
|
Código:
String ref_sonido = getResources().getString(misSonidos[elem]);
String[] splits = ref_sonido.split("/"); // ["res", "raw", "sonidoEjemplo.mp3"]
String sonido_nombre = splits[splits.length-1]; // "sonidoEjemplo.mp3"
String nombre_sin_mp3 = sonido_nombre.split("\\.")[0]; "sonidoEjemplo"
__________________
|
| Gracias de parte de: | ||
|
#7
|
||||
|
||||
|
Código:
String ref_sonido = getResources().getString(misSonidos[elem]);
String[] splits = ref_sonido.split("/"); // ["res", "raw", "sonidoEjemplo.mp3"]
String sonido_nombre = splits[splits.length-1]; // "sonidoEjemplo.mp3"
String nombre_sin_mp3 = sonido_nombre.split("\\.")[0]; "sonidoEjemplo"
![]() ![]() ![]() ... Fantastico!, menuda ayuda compañero, llevaba un buen rato peleandome con Android Studio , Gracias Dexafree
__________________
|
![]() |
Estás aquí
|
||||||
|
||||||