Activos de Android con subcarpetas
InputStream myInput = myContext.getAssets().open("MyFolder/" + "MyFile.db3");
Tengo un archivo en la carpeta de activos en una subcarpeta como la anterior. No obtiene el archivo sin embargo, hay una manera especial de especificar una subcarpeta en la carpeta de activos?
Ian
- Android assetManager
- ¿Cuál es el método readStream ()? Yo apenas no puedo encontrarlo dondequiera,
- Lista de archivos en la carpeta de activos y sus subcarpetas
- Cómo copiar archivos de la carpeta 'assets' a sdcard?
- ¿Es posible obtener la ruta completa de acceso a un archivo de recursos de aplicaciones de Android como una cadena?
- ¿Cómo puedo transferir un dispositivo de prueba de base de datos al dispositivo desde mi aplicación de prueba de unidad
- AndroidPDFViewer - No se puede abrir el documento pdf en mi aplicación
- Lectura de archivos desde un archivo ZIP en su carpeta de activos de Android
- Seguridad de activos en Android
- ¿Cómo hacer referencia a los "activos" de Android a través de paquetes?
- Cómo proteger los activos almacenados en Android APK
- Seguridad de la carpeta de activos de Android
- ¿Cómo cargar videos de la carpeta de activos? (Para reproducirlas con VideoView)
Editar: estaba equivocado acerca de las subcarpetas.
Este código funciona bien en 1.5 (para un archivo sample.txt
colocado en la subcarpeta en los assets
):
InputStream is = getAssets().open("sub/sample.txt"); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String line = null; while ((line = br.readLine()) != null) { Log.e("wtf", line); } br.close();
¿Estás seguro de que tienes los nombres correctos?
¿Su archivo de activos tiene más de 1 MB?
Observo que obtengo la misma IOException impar, vacía si intento abrir un activo que tiene más de este tamaño. El hecho de que esté en una subcarpeta podría ser un arenque rojo. Estoy intentando abrir un archivo de texto grande así que puedo contornear este límite dividiéndolo para arriba. ¿Puedes hacer algo similar con tu archivo .db3?
"MyFolder/" + "MyFile.db3"
Un nombre de archivo para archivos agregados a la carpeta de activos debe estar en letra minúscula. Por lo que un nombre de archivo como MyFolder y Myfile.db3 no es válido. Cambiar el nombre de ellos a "myfolder" y "myfile.db3", entonces todo estará bien.