|
|
|
|
|
- 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
Application Android : Utilisation et partage de données SQLite
Disponible uniquement avec ce type de connexion
Avertissement
Cette fonctionnalité est conservée par compatibilité. Il est préférable d'utiliser une base de données HFSQL.
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 : - Lancez une fenêtre console de commande sous Windows (option "Démarrer .. CMD").
- Placez-vous dans le répertoire "tools" du SDK Android utilisé.
- Utilisez la ligne de commande suivante (pour une SD Card de 256 Mo) :
mksdcard.exe 256M c:\temp\sdcard.img - 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
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.
sRepertoiredesDonnées est une chaîne
sRepertoiredesDonnées = "data_wm_androidbasesqlitepartagepc"
sNomBaseSQLite est une chaîne = "wm_basesqlite.db"
sUniteSDCardDepuisPC est une chaîne = "e:"
CnxBaseSQLite.Provider = hAccèsNatifSQLite
SI EnModeAndroid() = Vrai ALORS
SI EnModeSimulateur() = Vrai ALORS
CnxBaseSQLite.Source = fRepExe() + ["\"] + sNomBaseSQLite
SINON
SI SysEtatCarteStockage() = sysCarteDisponible ALORS
CnxBaseSQLite.Source = SysRepCarteStockage() + ["/"] + ...
sRepertoiredesDonnées + ["/"] + sNomBaseSQLite
SINON
Erreur("Pas de carte de stockage disponible en écriture.")
FinProgramme()
FIN
FIN
SINON
SI EnModeEmulateurAndroid() = Vrai _OU_ EnModeEmulateuriOS = Vrai ALORS
Erreur("Accès à la base non prévu sur cette plateforme")
FinProgramme()
SINON
CnxBaseSQLite.Source = sUniteSDCardDepuisPC + ["\"] + ...
sRepertoiredesDonnées + ["\"] + sNomBaseSQLite
FIN
FIN
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 (WINDEV Mobile) : Android Inventaire
[ + ] Cette application permet de réaliser les inventaires et d'enregistrer les résultats dans une base de données.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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".
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|