2011-12-13 7 views
22

Necesito obtener la ruta de acceso absoluta a la carpeta en los activos. Algunos como esto para tarjeta SD:android assetManager

final String sdDir = Environment.getExternalStorageDirectory() + "Files"; 

lo que hago incorrecto?

enter image description here

Primero trato de obtener la ruta (en ractangle verde) de esta manera pero alwase conseguir "falso". Luego comento este bloque e intento obtener la ruta desde getAssets(). List(); Pero tengo 3 carpetas que veo la primera vez.

Quiero hacer masiva como esta "verde", pero tengo que usar archivos de activos:

Look the image

me ayudan a obtener la ruta absoluta a mi carpeta de archivos.

+0

[Mira la pantalla] (http://my.jetscreenshot.com/10682/20111213-pxu2-587kb.jpg) Cómo crear el mismo masiva como "verde", pero usando archivos de activos y no de tarjetas SD? – Val

Respuesta

15

No estoy exactamente seguro de lo que estás tratando de hacer, así que trataré de cubrir las bases, y tal vez esto ayude.

  • Si usted está tratando de obtener una lista de lo que hay en sus activos, a continuación, uso getAssets().list("Files"). (Debe usar el subdirectorio, por this).

  • Si usted está tratando de obtener una absoluta ruta a su directorio activos (o cualquier subdirectorio), no se puede. Lo que está en el directorio de activos está en el APK. No está en el almacenamiento externo como en una tarjeta SD.

  • Si usted está tratando de abrir archivos en el directorio activo, utilice AssetManager.open(filename) para obtener el InputStream. Aquí, el nombre de archivo debe ser la ruta relativa desde el directorio de activos.


EDITAR

No estoy seguro de lo que entendemos por "masiva", pero si se desea cargar el archivo black.png de activos en lugar de la tarjeta SD y luego escribo esto :

// must be called from Activity method, such as onCreate() 
AssetManager assetMgr = this.getAssets(); 
mColors = new Bitmap[] { 
    BitmapFactory.decodeStream(assetMgr.open("black.png")); 
    // and the rest 
}; 
+0

[Mirar la pantalla] (http://my.jetscreenshot.com/10682/20111213-pxu2-587kb.jpg) ¿Cómo crear el mismo masivo como "verde", pero usando archivos de activos que no sean tarjetas SD? – Val

1

Los elementos se almacenan en el archivo APK por lo que no hay una ruta absoluta que su aplicación pueda usar. Pero, sugeriría echar un vistazo a file: /// android_asset. Puede que se ajuste a tus necesidades. Here is a good example sobre cómo mostrar un activo en una vista Web.

+0

Necesito esta ruta a mi carpeta Archivos para usar imágenes y sonidos de esta carpeta. ¿Cómo puedo hacer esto usando este ejemplo? En él se usa WebView y URL, no la ruta absoluta. – Val

Cuestiones relacionadas