DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Développer pour Android
  • Présentation
  • Créer une connexion SQLite
  • Transférer des données depuis une application WINDEV vers une application Android
  • Copier sur le mobile une base de données SQLite présente sur le PC
  • Copier la base de données SQLite Android sur la SD Card
  • Transférer des données SQLite depuis une application Android vers une application WINDEV
  • Données SQLite présentes dans le répertoire des bases de données du Mobile
  • Données SQLite présentes sur la SD Card du Mobile
  • Remarque : Créer un émulateur Android avec une SD Card
  • Exemple
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Avertissement
Cette fonctionnalité est conservée par compatibilité. Il est préférable d'utiliser une base de données HFSQL.
Présentation
Pour les applications Android, les bases de données disponibles sont :
  • HFSQL (Classic et Client/Serveur),
  • SQLite.
    Pour utiliser une base de données SQLite, il est nécessaire de déclarer une connexion SQLite dans l'éditeur d'analyses.

Créer une connexion SQLite

Une connexion SQLite peut être créée :
  • A la création de l'analyse : lorsque vous créez une analyse pour une application Android, la base de données proposée est soit SQLite, soit HFSQL (Classic ou Client/Serveur). Si vous sélectionnez "SQLite", l'assistant crée automatiquement une connexion permettant de gérer et d'accéder à ce type de fichier de données. L'assistant permet de saisir les paramètres avancés de cette connexion :
    • Nom du fichier contenant la base de données.
    • Répertoire de la base de données.
  • Dans l'éditeur d'analyses : sous le volet "Analyse", dans le groupe "Analyse", cliquez sur "Connexions". Il suffit d'ajouter une connexion à une base de données SQLite et de fournir ses caractéristiques.
Lorsque la connexion est créée, il est ensuite possible d'utiliser toutes les fonctions WLangage de manipulation des fichiers de données ainsi que les possibilités de liaison avec les champs.
Il est possible d'accéder aux bases de données SQLite depuis WINDEV ou WEBDEV grâce à l'Accès Natif SQLite. Il est donc possible d'échanger des données entre la base de votre "Back Office" WINDEV et la base de données embarquée.
Transférer des données depuis une application WINDEV vers une application Android

Copier sur le mobile une base de données SQLite présente sur le PC

Par défaut, lorsque un fichier de données SQLite est créé par une application Android, la base de données SQLite est créée dans le répertoire "/data/data/com.<masociété>.<nomprojet>/databases/<base>.db".
Ce répertoire est inaccessible depuis le PC : le système Android ne permet pas l'accès à ces données.
Pour transférer une base de données SQLite présente sur le poste de développement vers un mobile Android, il est possible d'ajouter la base de données dans l'archive apk de l'application. Cette opération peut être effectuée lors de la création de l'archive Android, dans l'écran "Intégration de fichiers".
Ce fichier pourra être installé sur le téléphone Android dès le lancement de l'application grâce à la fonction fExtraitRessource. Par exemple, pour installer la base dans le répertoire par défaut des bases de données Android :
fExtraitRessource("MaBasePC.db", ComplèteRep(fRepDonnées()) + "Base.db")

Copier la base de données SQLite Android sur la SD Card

Par défaut, lorsque un fichier de données SQLite est créé par une application Android, la base de données SQLite est créée dans le répertoire "/data/data/com.<masociété>.<nomprojet>/databases/<base>.db".
Pour s'affranchir de cette limite, il est conseillé d'utiliser la SD Card du mobile pour stocker les données.
Pour cela, il est nécessaire de modifier les caractéristiques de la connexion utilisée, en spécifiant le répertoire de la SD Card. Cette opération doit être réalisée par programmation. Par exemple :
gcnxSQLite est une Connexion = MonFichierAndroid.Connexion
gcnxSQLite.Source = ComplèteRep(SysRepCarteStockage()) + "Base.db"
gcnxSQLite.Provider = hAccèsNatifSQLite
Ce fichier sera donc accessible depuis le PC lorsque le mobile est connecté au PC. Il sera donc possible de réaliser des copies de la base de données du PC au mobile et vice-versa.
Transférer des données SQLite depuis une application Android vers une application WINDEV

Données SQLite présentes dans le répertoire des bases de données du Mobile

Si les données SQLite à transférer sont présentes dans le répertoire par défaut des données du Mobile, le transfert doit être réalisé par l'application Android en utilisant des requêtes HTTTP (service AWP), un transfert FTP ou via sockets.

Données SQLite présentes sur la SD Card du Mobile

Dans ce cas, il suffit de copier les données SQLite de la SD Card (visible comme un disque Windows) vers le PC puis de les intégrer dans l'application WINDEV.

Remarque : Créer un émulateur Android avec une SD Card

Pour vos tests, il est possible de créer une SD Card dans l'émulateur Android :
  1. Lancez une fenêtre console de commande sous Windows (option "Démarrer .. CMD").
  2. Placez-vous dans le répertoire "tools" du SDK Android utilisé.
  3. Utilisez la ligne de commande suivante (pour une SD Card de 256 Mo) :
    mksdcard.exe 256M c:\temp\sdcard.img
  4. Dans WINDEV Mobile, lors du lancement de l'émulateur, modifiez la ligne de commande comme suit :
    -no-boot-anim –partition-size 128 –sdcard c:\temp\sdcard.img
Exemple
L'exemple suivant permet d'utiliser une base de données SQLite sur Android avec accès à la base depuis un PC lors de la connexion de l'appareil en USB. La base de données est stockée sur la SD Card de l'appareil.
// 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 est une chaîne 
sRepertoiredesDonnées = "data_wm_androidbasesqlitepartagepc"

// Nom de la base SQLite
sNomBaseSQLite est une chaîne = "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 est une chaîne = "e:"

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

// Exécution sur le mobile Android ?
SI EnModeAndroid() = Vrai  ALORS
	// oui
	// simulateur WINDEV Mobile ?
	SI EnModeSimulateur() = Vrai ALORS
		// Base dans le répertoire Exe du projet
		CnxBaseSQLite.Source = fRepExe() + ["\"] + sNomBaseSQLite
	SINON
		// Exécution sur l'appareil Android ou un émulateur 
		// Il y a normalement la carte de stockage, 
		// test si elle est disponible
		SI SysEtatCarteStockage() = sysCarteDisponible ALORS
			// Localise la base de données sur la SD Card, 
			// relativement au mobile
			CnxBaseSQLite.Source = SysRepCarteStockage() + ["/"] + ...
				sRepertoiredesDonnées + ["/"] + sNomBaseSQLite
		SINON
			// Pas de carte de stockage
			Erreur("Pas de carte de stockage disponible en écriture.")
			FinProgramme()
		FIN
	FIN
SINON
	// Exécution sur un PC ?
	SI EnModeEmulateurAndroid() = Vrai _OU_ EnModeEmulateuriOS = Vrai ALORS
		Erreur("Accès à la base non prévu sur cette plateforme")
		FinProgramme()
	SINON
		// 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
	FIN
FIN

// Ouverture de la connexion
SI HOuvreConnexion(CnxBaseSQLite) = Faux ALORS
	Erreur("Echec de la connexion à la base de données SQLite Android", ...
			HErreurInfo())
	FinProgramme()
FIN

HCréationSiInexistant("*")

Info("Connexion effectuée à la base")
Liste des exemples associés :
Android Inventaire Android (WINDEV Mobile) : Android Inventaire
[ + ] Cette application permet de réaliser les inventaires et d'enregistrer les résultats dans une base de données.
WM Inscrits Exemples multiplateforme (WINDEV Mobile) : WM Inscrits
[ + ] Cette application est un gestionnaire de présence. Elle permet de noter les personnes présentes lors d'un séminaire.
La base de données est préalablement renseignée avec la liste des personnes inscrites.
Il est possible de rechercher une personne par son nom.
Dans cet exemple, nous abordons les principaux thèmes suivants :
1/ l'utilisation d'une zone répétée fichier basée sur une requête
2/ l'utilisation d'une base de données au format HFSQL.
WM Gestion de Commandes Exemples multiplateforme (WINDEV Mobile) : WM Gestion de Commandes
[ + ] L'exemple WM Gestion de commandes est une gestion de commandes et factures simplifiée.
Cet exemple permet de :
- créer/modifier/supprimer un produit,
- créer/modifier/supprimer un client,
- contacter un client par email,
- voir l'historique des actions effectuées auprès d'un client,
- effectuer une commande, imprimer un bon de commande,
- facturer une commande, imprimer une facture.
WM Mot de passe Exemples multiplateforme (WINDEV Mobile) : WM Mot de passe
[ + ] Sites web, comptes bancaires, ... notre vie quotidienne est remplie de mots de passe. Avec WM Mot de passe, vous n'avez plus besoin de mémoriser tous les mots de passe de vos différents comptes. L'application conserve pour vous, de façon sécurisée tous vos mots de passe. WM Mot de passe est également capable de générer pour vous des mots de passe extrêmement sûrs.
WM Notes Exemples multiplateforme (WINDEV Mobile) : WM Notes
[ + ] Cet exemple utilise les fonctions de dessin du WLangage pour Android et iOS.
Il vous permet de dessiner des "notes" graphiques et de les enregistrer.
WM Sports Exemples multiplateforme (WINDEV Mobile) : WM Sports
[ + ] Cet exemple est une application de sport vous permettant d'enregistrer vos performances.
L'application calcule la distance parcourue, le temps, la vitesse moyenne et le nombre de calories dépensées en fonction du sport pratiqué.
Le parcours réalisé est affiché sur un champ carte grâce à des marqueurs et un tracé d'itinéraire.
Si vous disposez d'une montre Apple Watch, vous pourrez piloter WM Sports avec votre montre !

L'exemple dispose aussi d'une partie serveur qui sert à la synchronisation des données des utilisateurs.
Ce webservice est disponible dans l'exemple WEBDEV "WW_Sports".
WM Stocks Exemples multiplateforme (WINDEV Mobile) : WM Stocks
[ + ] Cette application permet de réaliser des inventaires et d'enregistrer les résultats dans une base de données.
L'exemple permet de créer des entrées/sorties dans le stock, en scannant directement le code-barres des produits.
Il est optimisé pour être exécuté sur les tablettes.
Version minimum requise
  • Version 16
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 04/06/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale