Spanish Activity_pause no copia archivo

ivavilagu

Member
Licensed User
Longtime User
Tengo el siguiente código:
B4X:
Sub Activity_Pause (UserClosed As Boolean)
    Dim list1 As List
    If (UserClosed= False) Then
        list1.Initialize
        'Guardamos las opciones
        list1.Add(strFUENTE) 'Se guarda la fuente
        list1.add(strESCENA) 'Se guarda la escena actual   
        list1.Add(intTEXTSIZE)  'Se guarda el tamaño del texto
        list1.Add(intVIDEO) 'Se guarda la variable del video
        File.WriteList(File.DirDefaultExternal, "/saves/pause.sav", list1)
        'Guardamos la base de datos
        File.Copy(File.DirDefaultExternal, strBD_ARCHIVO, File.DirDefaultExternal, "/saves/pause.bd")
        'strBD_ARCHIVO es el nombre de un archivo que se encuentra en la ruta por defecto
    End If
End Sub

Cuando se ejecuta el sub, se crea el archivo con las opciones del list1. Lo que no hace es copiar el archivo de la última linea. Este mismo código lo tengo en un sub aparte y cuando es ejecutado sí que se realiza la copia del archivo. El archivo existe cuando se llama al sub y las rutas son correctas.
 

ivavilagu

Member
Licensed User
Longtime User
No se puede poner un breakpoint en el activity_pause.
 

ivavilagu

Member
Licensed User
Longtime User
no sé por qué pero sin tocar nada del código, hoy funciona de forma correcta. De todas formas, he utilizado el ToastMessageShow para comprobar los valores y todos están bien.

Gracias.
 

vampirbcn

Active Member
Licensed User
Longtime User
Pues si todo está bien, solo se me ocurren tres conclusiones:

-O bien realiza la copia correctamente y no te has dado cuenta (raro, ya que te has peledo mucho con esto).
-O bien hay un problema al realizar la copia desde el Activity_Pause: Entiendo que haces la copia justo antes de que se cierre la app, por lo que podria ser que se cerrase la app antes de que terminase de hacer la copia y esto interrumpiera dicha copia del archivo (pero no me parece muy normal).
-O bien estas intentado copiar una base de datos que tienes en uso, entonces resulta que Android protege el archivo de forma automática para que no haya perdidas de datos. (Esta seria la conclusión por la que me decantaria)

No se me ocurre que mas puede ser!!!!!
 

ivavilagu

Member
Licensed User
Longtime User
El problema, si es que hubiera alguno, estaba en la copia de la base de datos puesto que el primer archivo se creaba de forma correcta. Con un explorador de archivos examinaba el dispositivo y el archivo con los datos existía pero la base de datos no. El código es correcto ya que tengo otro sub con las mismas líneas y funciona bien. Esto quiere decir que aunque se esté utilizando la base de datos, la copia se puede realizar. Imagino que habrá alguna forma de impedir la copia con archivos abiertos, o quizás el archivo queda protegido mientras se esté actualizando. No sé.

La cuestión es que esta tarde antes de proceder a modificar el código y probar cosillas, la copia se ha realizado. A ver si mañana sigue funcionando :)
 
Last edited:
Top