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
  • Creación de una conexión SQLite
  • Transferencia de datos de una aplicación WINDEV a una aplicación Android
  • Copia de una base de datos SQLite del PC al dispositivo móvil
  • Copia de la base de datos SQLite de 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 base de datos del dispositivo móvil
  • Datos SQLite encontrados en la tarjeta SD del dispositivo móvil
  • Nota: Creación de un emulador de Android con una tarjeta SD
  • Ejemplo
WINDEV
WindowsLinuxJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac Catalyst
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 Android son:
  • HFSQL (clásico y cliente/servidor),
  • SQLite.
    Para utilizar una base de datos SQLite, debe declararse una conexión SQLite en el editor de análisis.

Creación de una conexión SQLite

Se puede crear una conexión SQLite:
  • Al crear el análisis. Al crear un análisis para una aplicación Android, la base de datos sugerida es SQLite o HFSQL (Clásica o Cliente/Servidor). Si selecciona "SQLite", el asistente creará automáticamente una conexión para gestionar y acceder a este tipo de archivo de datos. El asistente le 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 del modelo de datos. 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.
Una vez creada la conexión, podrá utilizar todas las funciones de WLanguage para manipular archivos de datos, así como las posibilidades de enlace con los controles.
Se puede acceder a las bases de datos SQLite desde WINDEV o WEBDEV a través de Native SQLite Access. Por lo tanto, usted 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

Copia de 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 "/data/data/com.<mycompany>.<projectname>/databases/<base>.db".
No se puede acceder a este directorio desde el PC. Android no permite el acceso a estos datos.
Para transferir una base de datos SQLite que se encuentra en el ordenador del desarrollador 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 de Android, en la pantalla "Integrar archivos".
Este archivo puede instalarse en el teléfono Android en cuanto se inicie la aplicación fExtractResource. Por ejemplo, para instalar la base de datos en el directorio por defecto de bases de datos de Android:
fExtractResource("MaBasePC.db", CompleteDir(fDataDir()) + "Base.db")

Copia de la base de datos SQLite de Android 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 "/data/data/com.<mycompany>.<projectname>/databases/<base>.db".
Para ignorar este límite, te recomendamos que utilices 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 mediante programación. Por ejemplo:
gcnxSQLite is Connection = MonFichierAndroid.Connexion
gcnxSQLite.Source = CompleteDir(SysDirStorageCard()) + "Base.db"
gcnxSQLite.Provider = hNativeAccessSQLite
Este archivo será accesible desde el PC cuando el dispositivo móvil esté conectado al PC. Por lo tanto, podrás realizar copias de la base de datos del 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 base de datos del dispositivo móvil

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

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

En este caso, basta con copiar los datos SQLite de la tarjeta SD (visible como un disco Windows) al PC e incluir los datos en la aplicación WINDEV.

Nota: 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 ("Inicio .. CMD").
  2. Sitúate en el directorio "tools" del SDK de Android utilizado.
  3. Utilice la siguiente Line 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 Linea 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.
// CnxBaseSQLite est le nom de la connexion définie dans l'analyse

// Répertoire(s) sur la SD Card d'accès à la base SQLite
sRepertoiredesDonnées is string 
sRepertoiredesDonnées = "data_wm_androidbasesqlitepartagepc"

// Nom de la base SQLite
sNomBaseSQLite is string = "wm_basesqlite.db"

// Unité correspondant à la SD Card de l'appareil Android 
// (depuis une application Windows)
// A demander à l'utilisateur 
// et à mémoriser dans un fichier de paramètre
sUniteSDCardDepuisPC is string = "e:"

// Dans tous les cas, la base est au format SQLite
CnxBaseSQLite.Provider = hNativeAccessSQLite

// Exécution sur le mobile Android ?
IF InAndroidMode() = True  THEN
	// oui
	// simulateur WINDEV Mobile ?
	IF InSimulatorMode() = True THEN
		// Base dans le répertoire Exe du projet
		CnxBaseSQLite.Source = fExeDir() + ["\"] + sNomBaseSQLite
	ELSE
		// Exécution sur l'appareil Android ou un émulateur 
		// Il y a normalement la carte de stockage, 
		// test si elle est disponible
		IF SysStatusStorageCard() = sysCardAvailable THEN
			// Localise la base de données sur la SD Card, 
			// relativement au mobile
			CnxBaseSQLite.Source = SysDirStorageCard() + ["/"] + ...
				sRepertoiredesDonnées + ["/"] + sNomBaseSQLite
		ELSE
			// Pas de carte de stockage
			Error("Pas de carte de stockage disponible en écriture.")
			EndProgram()
		END
	END
ELSE
	// Exécution sur un PC ?
	IF InAndroidEmulatorMode() = True _OR_ IniOSEmulatorMode = True THEN
		Error("Accès à la base non prévu sur cette plateforme")
		EndProgram()
	ELSE
		// SI SysVersionWindows() DANS ("98","NT 3.5","NT 4", ...
		// "NT 5","ME", "2003S","2008S","VISTA","7")  ALORS
		// localise la base de données sur la SD Card, relativement au PC
		CnxBaseSQLite.Source = sUniteSDCardDepuisPC + ["\"] + ...
			sRepertoiredesDonnées + ["\"] + sNomBaseSQLite
	END
END

// Ouverture de la connexion
IF HOpenConnection(CnxBaseSQLite) = False THEN
	Error("Echec de la connexion à la base de données SQLite Android", ...
			HErrorInfo())
	EndProgram()
END

HCreationIfNotFound("*")

Info("Connexion effectuée à la base")
Versión mínima requerida
  • Versión 16
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 08/04/2025

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