Diferencia entre revisiones de «Usuario:ManuelRomero/Android/Android/recursos»

De WikiEducator
Saltar a: navegación, buscar
(Assets: recursos directos o no compilados)
Línea 5: Línea 5:
 
==Tipos de recursos==
 
==Tipos de recursos==
 
===Recursos de la aplicación===
 
===Recursos de la aplicación===
===Assets: recursos directos o no compilados===
+
=== Assets: recursos directos o no compilados ===
<div style: >
+
<div style="font:16px/1.4 Arial;">
 +
En un proyecto android existe una carpeta llamada /'''''assets''''' que en principio está vacía. Su objetivo es almacenar ficheros externos a la aplicación que serán distribuidos junto con nuestro '''.apk''' (formará parte de la compilacón).
  
En un proyecto android existe una carpeta llamada assets que en principio está vacía
+
Posteriormente en el programa se puede recuperar los ficheros ahí depositados y navegar por esa carpeta (''directorios, ficheros'') como si fuera un sistema de ficheros normla de un SO. En general tengo diferentes sitios para ubicar ficheros (res, targeta SD, asset).  
su objetivo es almacenar ficheros externos a la aplicación que serán distribuidos junto con nuestro .apk (formará parte de la compilacón).
+
 
Posteriormente en el programa se puede recuperar los ficheros ahí depositados y navegar por esa carpeta (ficheros, directorios) como si fuera un sistema de ficheros normla de un SO.
+
Los ficheros que ubiquemos en '''/res''' son accesibles como un recurso identificado en la clase R (clase generado de forma autmática para darme una referencia a cada recurso de mi aplicación).&nbsp; Los ficheros colocados&nbsp; en el directorio '''/asset''' podrán ser accedidos como si fuera en un sistema de ficheros, sin ningún tipo de restricción&nbsp; Útil por ejemplo para guardar datos de un juego, o la configuración de una aplicación, …)
En general tengo diferentes sitios para ubicar ficheros (res, targeta SD, asset).
+
 
Los ficheros que ubiquemos en res accederé a ellos como un recurso identificado en la clase R (MRM ????)
+
Otra opción para guardar información es usar una base de datos, por ejemplo&nbsp; '''SQLLite,''' sobre todo indicado cuando la información esté estruturada (pensemos en una tabla).  
Los que coloque en el directorio Asset accederé a ellos  identificándolos como si fuera en un sistema de ficheros, pero se distribuirán junto con la aplicación. Utilidades: guardar datos de un juego, o la configuración de una aplicación, …)
+
 
Otra opción para guardar información es usar una base de datos SQLLite, sobre todo cuando está esté estruturada (pensemos en una tabla).
+
Para gestionar los recursos ubicado en la carpeta '''/asset''' procederemos
Para gestionar los recursos que aquí ubiquemos necesitaremos un objeto de la clase   AssetManager
+
 
Estos recursos no generan un ID en la clase R, por lo que debemos especificar el nombre y la ruta para acceder a ellos (usando la clase AssetManager, como ya hemos indicado).
+
Físicamente ubicamos los ficheros en la carpeta
Nosotros podemos almacenar ficheros en recursos y también en asset asset permite establecer jerarquía de ficheros, cosas que res no permite, en esta línea los ficheros ubicados en la carpeta res son más restrictivos y su acceso es menos libre (hay que acceder a través del Id que se general en la clase R).
+
 
MRM Hacer algo que se puede hacer tanto en res como en asset para ver diferencia.
+
En el código necesitamos un objeto que permita gestionar este recurso (objeto de la clase '''AssetManager)'''
 +
 
 +
Estos recursos no generan un ID en la clase R, por lo que debemos especificar el nombre y la ruta para acceder a ellos (usando la clase AssetManager, como ya hemos indicado).  
 +
 
 +
Conclusion
 +
 
 +
Nosotros podemos almacenar ficheros en recursos y también en asset permite establecer jerarquía de ficheros, cosas que res no permite, en esta línea los ficheros ubicados en la carpeta res son más restrictivos y su acceso es menos libre (hay que acceder a través del Id que se general en la clase R). MRM Hacer algo que se puede hacer tanto en res como en asset para ver diferencia.
 
</div>
 
</div>

Revisión de 03:08 13 dic 2013

Road Works.svg Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos.
Ver página de charlas.
Road Works.svg




Qué es un recurso

Tipos de recursos

Recursos de la aplicación

Assets: recursos directos o no compilados

En un proyecto android existe una carpeta llamada /assets que en principio está vacía. Su objetivo es almacenar ficheros externos a la aplicación que serán distribuidos junto con nuestro .apk (formará parte de la compilacón).

Posteriormente en el programa se puede recuperar los ficheros ahí depositados y navegar por esa carpeta (directorios, ficheros) como si fuera un sistema de ficheros normla de un SO. En general tengo diferentes sitios para ubicar ficheros (res, targeta SD, asset).

Los ficheros que ubiquemos en /res son accesibles como un recurso identificado en la clase R (clase generado de forma autmática para darme una referencia a cada recurso de mi aplicación).  Los ficheros colocados  en el directorio /asset podrán ser accedidos como si fuera en un sistema de ficheros, sin ningún tipo de restricción  Útil por ejemplo para guardar datos de un juego, o la configuración de una aplicación, …)

Otra opción para guardar información es usar una base de datos, por ejemplo  SQLLite, sobre todo indicado cuando la información esté estruturada (pensemos en una tabla).

Para gestionar los recursos ubicado en la carpeta /asset procederemos

Físicamente ubicamos los ficheros en la carpeta

En el código necesitamos un objeto que permita gestionar este recurso (objeto de la clase AssetManager)

Estos recursos no generan un ID en la clase R, por lo que debemos especificar el nombre y la ruta para acceder a ellos (usando la clase AssetManager, como ya hemos indicado).

Conclusion

Nosotros podemos almacenar ficheros en recursos y también en asset permite establecer jerarquía de ficheros, cosas que res no permite, en esta línea los ficheros ubicados en la carpeta res son más restrictivos y su acceso es menos libre (hay que acceder a través del Id que se general en la clase R). MRM Hacer algo que se puede hacer tanto en res como en asset para ver diferencia.