PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • 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
  • Copiar la base de datos Android de SQLite 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 de 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/iPadApple WatchUniversal Windows 10 AppWindows Mobile
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 (Classic o Client/Server). Si selecciona "SQLite", la asistente crea 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..
Versiones 16 y posteriores
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..
Nueva funcionalidad versión 16
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..
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..
Observación: A partir de la versión 19, HFSQL es el nuevo nombre de HyperFileSQL.
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 archivo de datos SQLite, la base de datos SQLite se crea en el directorio "/datos/datos/com.<empresa>.<nombre del proyecto>/bases de datos/<base>.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 la computadora de desarrollo a un dispositivo Android, la base de datos puede ser añadida al archivo apk de la aplicación. Esta operación se puede realizar al crear el archivo Android, en la pantalla "Integrando archivos"..
Este archivo se puede instalar en el teléfono Android tan pronto como fExtractResource inicie la aplicación.. Por ejemplo, para instalar la base de datos en el directorio predeterminado de las bases de datos de Android:
fExtractResource("MyPCDatabase.db", CompleteDir(fDataDir()) + "Database.db")

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

Cuando una aplicación Android crea un archivo de datos SQLite, la base de datos SQLite se crea en el directorio "/datos/datos/com.<empresa>.<nombre del proyecto>/bases de datos/<base>.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 programando. 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 predeterminado del dispositivo móvil, la transferencia debe ser realizada por la aplicación Android utilizando 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 tiene que hacer es copiar los datos 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 de Android con una tarjeta SD

Para tus pruebas, tienes la posibilidad de crear una tarjeta SD en el emulador de Android:
  1. Iniciar una ventana de consola de comandos en Windows ("Iniciar .. CMD").
  2. Posicionarse en el directorio de "herramientas" del SDK de Android utilizado.
  3. Utilice la siguiente línea de comandos (para una tarjeta SD de 256 MB):
    mksdcard.exe 256M c:\temp\sdcard.img
  4. En WINDEV Mobile, al iniciar el emulador, modifique la línea de comandos 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 InPocketMode() = True _OR_ InWindowsPhoneEmulatorMode() = 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