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

Respuesta
 
Herramientas
  #1  
Viejo 28/07/16, 11:09:06
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
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]
__________________
Responder Con Cita


  #2  
Viejo 28/07/16, 11:50:51
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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.
Responder Con Cita
  #3  
Viejo 28/07/16, 17:26:42
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
 Cita: Originalmente Escrito por kriogeN Ver Mensaje
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.
Gracias kriogeN, ya me muestra los nombres con "getResources()", que quieres decir con que no necesitas su referencia por nombre?, basta con guardar sus Id's?
__________________
Responder Con Cita
  #4  
Viejo 28/07/16, 18:06:14
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
 Cita: Originalmente Escrito por kaiser75 Ver Mensaje
Gracias kriogeN, ya me muestra los nombres con "getResources()", que quieres decir con que no necesitas su referencia por nombre?, basta con guardar sus Id's?
No, el id no te vale si vas a guardarlo en una BBDD, porque puede cambiar entre compilaciones.

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.
Responder Con Cita
  #5  
Viejo 30/07/16, 13:18:02
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
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" ?
__________________
Responder Con Cita
  #6  
Viejo 30/07/16, 15:39:58
Array

[xs_avatar]
Dexafree Dexafree no está en línea
Mr. FAQMan
· Votos compra/venta: (1)
 
Fecha de registro: dic 2008
Mensajes: 8,021
Modelo de smartphone: Samsung Galaxy S i9000 + Galaxy Tab 10.1 WiFi
Tu operador: Movistar
 Cita: Originalmente Escrito por kaiser75 Ver Mensaje
Esto me muestra "res/raw/sonidoEjemplo.mp3", hay manera de que solo me muestre ""sonidoEjemplo" ?
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"
Responder Con Cita
Gracias de parte de:
  #7  
Viejo 30/07/16, 17:53:14
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
 Cita: Originalmente Escrito por Dexafree Ver Mensaje
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
__________________
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 19:02:13 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2026 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /