Spanish Archivo en DirAssets no existe. :confused: (Solucionado)

carlos7000

Well-Known Member
Licensed User
Longtime User
Amigos, tengo un pequeño problema.

He creado una aplicación que lee algunos datos de una pequeña base de datos. El archivo de la base de datos fue añadido al proyecto empleando la pestaña de Administrador de archivos. El programa compila bien, pero al ejecutarlo aunque "aparentemente" encuentra el archivo en DirAssets, al tratar de copiarlo a DirDefaultExternal, no puede. Dice Archivo no encontrado :confused:

Adjunto algunas capturas:

En esta captura se puede ver que el nombre es igual, al del achivo de la base de datos



En esta captura, podemos ver que el archivo, sí existe, en DirAssets. De otra forma no hubiera pasado a la linea en la que busca si el archivo existe en DirDefaultExternal. Como el archivo no existe en DirDefaultExternal, trata de copiarlo.



Esta es la ultima captura. En ella se puede ver que la aplicación informa que el archivo no fue encontrado.



También adunto el código fuente del proyecto.
 

Attachments

  • Proyecto.zip
    11.6 KB · Views: 317

JCO

Active Member
Licensed User
Longtime User
Yo tuve el mismo problema con una aplicaión que funcionaba, y empezó a darme el mismo problema al cambiar de versión de B4A.
La solución fue sustituir el DirDefaultExternal por :
B4X:
    Dim rp As RuntimePermissions

    folderApp = rp.GetSafeDirDefaultExternal("")

Para eso necesitas añadir la biblioteca "RuntimePermissions"
 

carlos7000

Well-Known Member
Licensed User
Longtime User
Yo tuve el mismo problema con una aplicación que funcionaba, y empezó a darme el mismo problema al cambiar de versión de B4A.
La solución fue sustituir el DirDefaultExternal por :
B4X:
    Dim rp As RuntimePermissions

    folderApp = rp.GetSafeDirDefaultExternal("")

Para eso necesitas añadir la biblioteca "RuntimePermissions"

Intente añadir la librería y me aparece lo siguiente

 

JCO

Active Member
Licensed User
Longtime User
Intente añadir la librería y me aparece lo siguiente
¿Qué versión de B4A utilizas?
Se necesita por lo menos la 6.0 para utilizar las "Runtime Permissions"
 
Last edited:

Seneca

Active Member
Licensed User
Hola.

Comprueba en el Android SDK Manager que tienes cargados los dos repositorios que aparecen en la imagen.

Saludos.

repositorios.jpg
 

carlos7000

Well-Known Member
Licensed User
Longtime User
Hola.

Comprueba en el Android SDK Manager que tienes cargados los dos repositorios que aparecen en la imagen.

Saludos.

View attachment 67039

Hola.

Los instalé, pero el problema persiste.

Si cambio de DirDefaultExternal a DirInternal, el programa funciona, pero el problema es que a pesar de emplear varios programas administradores de archivos, no encuentro la carpeta /data/user/0/com.bitcoinMonitor/files

Ya he probado el programa en 3 equipos distintos y el problema se repite.

Saludos
 

rscheel

Well-Known Member
Licensed User
Longtime User
Hola.

Los instalé, pero el problema persiste.

Si cambio de DirDefaultExternal a DirInternal, el programa funciona, pero el problema es que a pesar de emplear varios programas administradores de archivos, no encuentro la carpeta /data/user/0/com.bitcoinMonitor/files

Ya he probado el programa en 3 equipos distintos y el problema se repite.

Saludos

Es por que DirInternal esta en la memoria interna del teléfono, donde solo puedes llegar siendo root en tu teléfono.
 

JCO

Active Member
Licensed User
Longtime User
Por el cambio en los permisos de acceso de Android.
Ahora, la forma recomendada de acceder a los repertorios externos es con el GetSafeDirDefaultExternal, que pedirá permiso al usuario la primera vez que la aplicación intente acceder
 
Top