AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / Desarrollar para Android
  • Presentación
  • Crear una conexión SQLite
  • Transferencia de datos de una aplicación WINDEV a una aplicación Android
  • Copiar una base de datos SQLite del PC al dispositivo móvil
  • Copia de la base de datos SQLite Android en la tarjeta SD
  • Transferencia de datos SQLite desde una aplicación Android a una aplicación WINDEV
  • Datos SQLite encontrados en el directorio de la base de datos del dispositivo móvil
  • Datos SQLite encontrados en la tarjeta SD del dispositivo móvil
  • Observación: Creación de un emulador Android con una tarjeta SD
  • Ejemplo
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Advertencia
Esta funcionalidad se conserva por motivos de compatibilidad. Es preferible utilizar una base de datos HFSQL..
Presentación
Las bases de datos disponibles para las aplicaciones de Android son:
  • HFSQL (Clásico y Cliente/Servidor),
  • SQLite.
    Para utilizar una base de datos SQLite, se debe declarar una conexión SQLite en la editor de análisis.

Crear una conexión SQLite

Se puede crear una conexión SQLite:
  • Al crear el análisis: cuando se crea un análisis para una aplicación Android, la base de datos propuesta es SQLite, o HFSQL (clásica o cliente/servidor). Si selecciona "SQLite", asistente creará automáticamente una conexión para gestionar y acceder a este tipo de archivos de datos.. La asistente permite introducir los parámetros avanzados de esta conexión:
    • Nombre del archivo que contiene la base de datos.
    • Directorio de la base de datos.
  • En el editor de análisis: en la pestaña "Análisis", en el grupo "Análisis", haga clic en "Conexiones". Basta con añadir una conexión a una base de datos SQLite y especificar sus características.
Cuando se cree la conexión, podrá utilizar todas las funciones de WLanguage para manejar los archivos de datos, así como las posibilidades de enlace con los controles..
Las bases de datos SQLite pueden ser accedidas desde WINDEV o WEBDEV a través del Native SQLite Access. Por lo tanto, tiene la posibilidad de intercambiar datos entre la base de datos de su "Back Office" WINDEV y la base de datos móvil.
Transferencia de datos de una aplicación WINDEV a una aplicación Android

Copiar una base de datos SQLite del PC al dispositivo móvil

Cuando una aplicación Android crea un fichero de datos SQLite, la base de datos SQLite se crea en el directorio "/data/data/com../databases/.db"..
No se puede acceder a este directorio desde el PC: el sistema Android no da acceso a estos datos.
Para transferir una base de datos SQLite que se encuentra en el ordenador de desarrollo a un dispositivo Android, la base de datos se puede añadir en el archivo apk de la aplicación. Esta operación puede realizarse al crear el archivo Android, en la pantalla "Integrar archivos"..
Este archivo puede instalarse en la Android Phone tan pronto como la aplicación sea iniciada por fExtractResource. Por ejemplo, para instalar la base de datos en el directorio Default de las bases de datos Android:
fExtractResource("MyPCDatabase.db", CompleteDir(fDataDir()) + "Database.db")

Copia de la base de datos SQLite Android en la tarjeta SD

Cuando una aplicación Android crea un fichero de datos SQLite, la base de datos SQLite se crea en el directorio "/data/data/com../databases/.db"..
Para ignorar este límite, le recomendamos que utilice la tarjeta SD del dispositivo móvil para almacenar los datos..
Para ello, debe modificar las características de la conexión utilizada, especificando el directorio de la tarjeta SD. Esta operación debe realizarse a través de la programación. Por ejemplo:
gcntSQLite is Connection = MyAndroidFile.Connection
gcntSQLite.Source = CompleteDir(SysDirStorageCard()) + "Database.db"
gcntSQLite.Provider = hNativeAccessSQLite
Este archivo será accesible desde el PC cuando el dispositivo móvil esté conectado al PC.. Por lo tanto, podrá realizar copias de la base de datos desde el PC al dispositivo móvil (y viceversa)..
Transferencia de datos SQLite desde una aplicación Android a una aplicación WINDEV

Datos SQLite encontrados en el directorio de la base de datos del dispositivo móvil

Si los datos SQLite a transferir se encuentran en el directorio de datos Default del dispositivo móvil, la transferencia debe ser realizada por la aplicación Android mediante peticiones HTTTP (servicio AWP), una transferencia FTP o a través de sockets.

Datos SQLite encontrados en la tarjeta SD del dispositivo móvil

En este caso, todo lo que tienes que hacer es copiar los datos de SQLite de la tarjeta SD (Visible como un disco de Windows) al PC e incluir los datos en la aplicación WINDEV.

Observación: Creación de un emulador Android con una tarjeta SD

Para sus pruebas, tiene la posibilidad de crear una tarjeta SD en el emulador Android:
  1. Iniciar una ventana de consola de comandos en Windows ("Inicio .. CMD").
  2. Sitúese en el directorio "tools" del SDK Android utilizado.
  3. Utilice el siguiente comando Line (para una tarjeta SD de 256 MB):
    mksdcard.exe 256M c:\temp\sdcard.img
  4. En WINDEV Mobile, al iniciar el emulador, modifica el comando Line de la siguiente manera:
    -no-boot-anim –partition-size 128 –sdcard c:\temp\sdcard.img
Ejemplo
El siguiente ejemplo permite utilizar una base de datos SQLite en Android con acceso a la base de datos desde un PC durante la conexión del dispositivo en USB. La base de datos se almacena en la tarjeta SD del dispositivo.
// CntSQLiteDatabase is the name of the connection defined in the analysis
 
// Directories on the SD Card for accessing the SQLite database
sDataDirectory is string
sDataDirectory = "data_wm_androidsqlitedatabasesharepc"
 
// Name of the SQLite database
sNameSQLiteDatabase is string = "wm_sqlitedatabase.db"
 
// Unit corresponding to the SD Card of the Android device
// (from a Windows application)
// To be asked to the user
// and to be stored in a parameter file
sUnitSDCardFromPC is string = "e:"
 
// In any case, the database is in SQLite format
CntSQLiteDatabase.Provider = hNativeAccessSQLite
 
// Execution on the Android device?
IF InAndroidMode() = True THEN
// yes
// WINDEV Mobile simulator?
IF InSimulatorMode() = True THEN
// Database in the Exe directory of the project
CntSQLiteDatabase.Source = fExeDir() + ["\"] + sNameSQLiteDatabase
ELSE
// Execution on the Android device or on the emulator
// There should be a storage card,
// checks whether it is available
IF SysStatusStorageCard() = sysCardAvailable THEN
// Localizes the database on the SD Card,
// in relation to the mobile
CntSQLiteDatabase.Source = SysDirStorageCard() + ["/"] + ...
sDataDirectory + ["/"] + sNameSQLiteDatabase
ELSE
// No storage card
Error("No storage card available in write mode.")
EndProgram()
END
END
ELSE
// Execution on a PC?
IF InAndroidEmulatorMode() = True _OR_ IniOSEmulatorMode = True THEN
Error("No access to the database is provided on this platform")
EndProgram()
ELSE
// IF SysWindowsVersion() IN ("98","NT 3.5","NT 4", ...
// "NT 5","ME", "2003S","2008S","VISTA","7")  THEN
// localizes the database on the SD Card, in relation to the PC
CntSQLiteDatabase.Source = sUnitSDCardFromPC + ["\"] + ...
sDataDirectory + ["\"] + sNameSQLiteDatabase
END
END
 
// Open the connection
IF HOpenConnection(CntSQLiteDatabase) = False THEN
Error("Failure connecting to the SQLite Android database", ...
HErrorInfo())
EndProgram()
END
 
HCreationIfNotFound("*")
 
Info("Connection to the database established")
Versión mínima requerida
  • Versión 16
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 24/06/2023

Señalar un error o enviar una sugerencia | Ayuda local