PDA

Ver la Versión Completa : Archivos de la aplicación, duda...


delaled
15/12/09, 16:12:03
Estoy haciendo un jueguito para android e hice que los niveles los levante desde xml, pero se me presenta una duda, ¿donde es el mejor lugar para poner estos xml? teniendo en cuenta que luego quisiera poder agregar mas niveles fácilmente con la app ya instalada.

Por ahora los tengo en la carpeta xml del res...

Escucho sugerencias ^^

Saludos.

migue85
15/12/09, 21:22:56
Creo que estan bien ahi.
Por cierto, como haces para cargar datos desde un xml?
te has programado tu propio parser o hay alguna funcion del API predefinida?

un saludo y gracias de antemano.

delaled
16/12/09, 01:20:47
Creo que estan bien ahi.
Por cierto, como haces para cargar datos desde un xml?
te has programado tu propio parser o hay alguna funcion del API predefinida?

un saludo y gracias de antemano.

Mirá... primero lo había empezado a encarar utilizando Castor (Es un framework para todo lo q sea xml muy usando en java), pero despues buscando encontré que android algo trae... y me puse a intentar hacerlo por ese lado.

El tema es que no está tan maduro como Castor y si... hay q programar un poquito para hacerte un parser, pero tampoco es complicado. Si te interesa busca XmlPullParser en la documentación de Android.

Lo que no se como haces es una pabada... pero no le encontré solución hasta ahora:
Obtener un resource teniendo el nombre del archivos... es decir algo del estilo: "R.getXml('miXml.xml')" si alguno sabe como se hace esto...

migue85
16/12/09, 12:34:07
Hola de nuevo, gracias por contestar.
lamento no pdoer ayudarte, precisamnete esa es una de las cosas que tengo pendientes.

He visto lo siguiente:

http://www.ibm.com/developerworks/opensource/library/x-android/index.html

y de Javier Pacheco (javielinux) tienes un framework suyo para Android para crear bases de datos a partir de ficheros xml.

http://android.javielinux.com/tabledb.php

En esa web hay al final un metodo propio de su libreria que es open y recibe como parametro directamente el r.xml.fichero para tratarlo.

Yo de momento, pese a que is me gustaria parender a hacerlo de esa forma, no descarto para mi aplicacion hacer mis clases con mis atributos y quitarme de manejos de xml.

Ademas, el mayor problema que veo a la hora de tener datos en el directorio res/xml es que si alguien es root y extrae el apk de tu aplicacion, podra ver en claro todos los xmls que hayas declarado.

En mi caso voy a necesitar una serie de ficheros para un juego de rol que tengan atributos tipo fuerza, ataque y demas para cada criatura (por ejemplo)

al final lo que optare si veo que es mas practico es hacer una clase para cada criatura y meter ahi sus atributos en vez de usar xml.

no se si lo que digo es una barbaridad pero creo que ocupar, ocupa lo mismo en el binario y me ahorro la carga comutacional de cada parse.

Como ves esa solucion?

de todas formas ahi te dejo lo de javi pacheco y la otra web que creo que te pueden venir bien.
Javier Pacheco es un excelente programador y una persona muy agradable y siempre dispuesta a ayudar. si le envias un email cuando tenga tiempo te contestara seguro.

un saludo!

delaled
16/12/09, 17:17:23
Gracias por la info, este fin de semana la voy a estar revisano a ver si me sirve algo.

En cuanto a lo q me decis de tu juego:
Yo núnca hardcodearia atributos en las clases y menos en un juego q seguro los vas a estar cambiando bastante para lograr el balance optimo. Lo ideal es tener el juego ya compilado y los atributos en algun archivo q puedas editar facilmente con cualquier editor, por ejemplo en tu caso pero lo importante, lo optimo, lo "elegante" jeje, sería tener modeladas todas las criaturas en xml (o alguna otra forma de almacenamiento) para que en un futuro el agregar una nueva criatura sea simplemente crear un nuevo araña.xml y tirarlo en la carpeta criaturas... ¿se entiende?
Yo siempre trato de hacer todo lo mas configurable al maximo, si bien es mas costoso, programo de hobbie y me gusta terminar un proyecto y saber q se hizo de la mejor manera.

En cuanto a que puedan ver tus archivos siendo root es un punto a parte, se tendría q ver la manera de encriptar los archivos y problema solucionado creo...

Bueno, son consejos de lo que yo haría no estoy diciendo q sea lo mejor ni mucho menos, espero te sea de ayuda...

delaled
16/12/09, 17:17:44
[edit] Doble post :)

migue85
17/12/09, 01:25:55
Si, me gusta tu opcion y finalmente lo hare asi. Tenia dudas acerca de que soporte usar y cada uno presentaba sus inconvenientes.
La lastima es que al haber un exceso de carga de datos y la aplicacion se carga en memoria, es mas correcto ir cargando bajo demanda aquellos datos desde un fichero.

Un saludo y muchisimas gracias :)