Manejo de ficheros en assets.

2,497 views
Skip to first unread message

JJ

unread,
Jul 6, 2011, 4:27:36 AM7/6/11
to desarrollad...@googlegroups.com
Hola a todos. 

Tengo entendido que dentro de la carpeta assets puedes alojar ficheros que vayas a usar en tu aplicación....   pero he estado mirando y la verdad, no me entero bien como referenciarlos. 

He mirado ejemplos pero no logro que funcionen como desearía que lo hiciera.

En mi caso, quiero guardar imágenes y ficheros .apk.  Al seleccionar un item dentro de la aplicación, que se lance el apk asociado....   digamos una especie de market. 

¿Sabéis como puedo referenciarlos o dónde podría verlo?. 

He visto el ejemplo de abrir una web alojada en este directorio y otro ejemplo pero usando la sdcard para sacar el fichero de ese directorio.


Muchas gracias!

Juan de Dios Maldonado Sánchez

unread,
Jul 6, 2011, 4:54:04 AM7/6/11
to desarrollad...@googlegroups.com
Justo en un hilo del grupo de ayer, puse cómo acceder a los assets:

--
Has recibido este mensaje porque estás suscrito al grupo "desarrolladores-android" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a desarrollad...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a desarrolladores-a...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/desarrolladores-android?hl=es.

JJ

unread,
Jul 6, 2011, 5:01:05 AM7/6/11
to desarrollad...@googlegroups.com
Hola. 

Sip, eso lo había visto y he probado...   pero nada, que no me hace ni caso o no doy bien con la solución. 

Primera duda...  ¿es posible lanzar directamente el instalador de apps de Android, usando el assets o tengo que sacarlo primero a algún lado?. 

Siguiendo con la duda, la solución que más me interesa es ponerlo en la parte de cache de la aplicación...   ¿de qué manera podría hacer eso manualmente?, ¿requiere luego borrado o se limpiaría solo?. 

Soy un mar de dudas, jajajaja.

Muchas gracias Juan.

Juan de Dios Maldonado Sánchez

unread,
Jul 6, 2011, 5:14:03 AM7/6/11
to desarrollad...@googlegroups.com
Supongo que lo que quieres es incluir el instalador de una aplicación dentro de una aplicación distinta.

No lo he probado nunca la forma fácil:

1. Poner el APK en el directorio /res/raw de la aplicación HOST
2. Lanzar el instalador:

Uri instaladorUri = Uri.parse("android.resource://el.package.de.tu.aplicacion.host/raw/identificadorDelInstaladorAPK");
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(instaladorUri, "application/vnd.android.package-archive");
startActivity(intent);

No es seguro que funcione, pero por probar...

La solución que seguro que funciona es copiar el APK del instalador en la tarjeta de memoria y hacer:


String fileName = Environment.getExternalStorageDirectory() + "/myApp.apk";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(Uri.fromFile(new File(fileName)), "application/vnd.android.package-archive");
startActivity(intent)

Si lo creas en la caché (que se hace igual que crearlo en la tarjeta, pero apuntando al directorio caché de tu aplicación), luego tendrás que borrarlo tú. (Se supone que cuando Android está sin espacio borra la caché de las aplicaciones, pero es recomendable borrarlo)

Suerte!

2011/7/6 JJ <jjd...@gmail.com>

JJ

unread,
Jul 6, 2011, 5:57:36 AM7/6/11
to desarrollad...@googlegroups.com
Hola Juan. 

Muchas gracias por la ayuda, estaba viendo tanto ya que no sabía ni como enfocarlo. 

Desconocía el res/raw ...  leeré a ver que puedo hacer con el mismo o las posibilidades que ofrece. 

Con respecto al tema del cache, ya en algunas aplicaciones he usado el tema de borrar el cache que se genera. 
¿Cómo referencio el cache para crear la aplicación?. 

Eres una fuente de sabiduría infinita, gracias por la ayuda. 


Saludos.
Juanjo.

Juan de Dios Maldonado Sánchez

unread,
Jul 6, 2011, 6:04:44 AM7/6/11
to desarrollad...@googlegroups.com
Para saber la ruta del directorio de caché de tu aplicación utiliza:


Dentro de ese directorio puedes leer y escribir archivos desde tu propia aplicación tal y como si estuvieras escribiendo en una SD.

Saludos.

2011/7/6 JJ <jjd...@gmail.com>

JJ

unread,
Jul 13, 2011, 7:12:43 PM7/13/11
to desarrollad...@googlegroups.com
Hola Juan, hola a todos.

Continuo batallando con esta idea-aplicación.... 

Al final he tenido que pasar de ASSETS y usar RAW, donde si logro ver el fichero aunque no es un fichero como tal.

He logrado pasarlo a cache (directorio) pero la ejecución de la instalación de ese cache ya me da error....   :-( ...  el instalador no es capaz de gestionarlo.

Parece que al final no me quedará más camino que irme a usar la SD , que no me gusta nada...  pero veo todas las puertas cerradas.

¿Se puede instalar desde un buffer o alguna otra manera?...  :-( ...  
Reply all
Reply to author
Forward
0 new messages