|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Problème : des données sont présentes dans les fichiers HFSQL juste après leur création. |
Débuté par Pascal BOULESTEIX, 29 nov. 2022 09:35 - 13 réponses |
| |
| | | |
|
| |
Membre enregistré 1 041 messages |
|
Posté le 29 novembre 2022 - 09:35 |
Bonjour J'ai un projet qui utilise une analyse. L'option "création automatique des fichiers lors de leur utilisation" est activée dans le projet. Lorsque je déploie l'apk depuis WM27 directement sur le téléphone, il arrive que certains fichiers contiennent des données (très anciennes et liées à un utilisateur particulier) alors que j'ai supprimé au préalable tous les fichiers liés à l'analyse dans le dossier de stockage du téléphone (Android/Data/fr.saxrub.visiolittoral/files/documents). En théorie, et en pratique, le chargement des fichiers n'intervient qu'après l'identification de l'utilisateur. Comment des données (très anciennes) peuvent-elles être présentes dans les fichiers fraîchement créés ? Y-a-t'il une option permettant ce phénomène ? Cordialement. Pascal
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Posté le 29 novembre 2022 - 11:02 |
Pascal BOULESTEIX a écrit :
Bonjour J'ai un projet qui utilise une analyse. L'option "création automatique des fichiers lors de leur utilisation" est activée dans le projet. Lorsque je déploie l'apk depuis WM27 directement sur le téléphone, il arrive que certains fichiers contiennent des données (très anciennes et liées à un utilisateur particulier) alors que j'ai supprimé au préalable tous les fichiers liés à l'analyse dans le dossier de stockage du téléphone (Android/Data/fr.saxrub.visiolittoral/files/documents). En théorie, et en pratique, le chargement des fichiers n'intervient qu'après l'identification de l'utilisateur. Comment des données (très anciennes) peuvent-elles être présentes dans les fichiers fraîchement créés ? Y-a-t'il une option permettant ce phénomène ? Cordialement. Pascal
-- Pascal Boulesteix Applications Visiolittoral et WNat
Personnellement ayant un projet un peu similaire, j'ai créé une procédure qui teste au départ la structure des fichiers et sert si besoin à créer les fichier dans l'espace de stockage.
Un simple Hcréation permet de créer le fichier vide et écraser le fichier si besoin.
J'en profite pour modifier la structure des fichiers si une modification a été faite dans l'analyse.
Je n'utilise jamais l'option "création automatique des fichiers lors de leur utilisation", je maitrise ainsi mieux la chose. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 041 messages |
|
Posté le 30 janvier 2023 - 08:25 |
Salut à tous Je relance le sujet. Ce matin, après avoir : - supprimé mon application (installée depuis PlayStore) depuis le téléphone, - mettre assuré que le dossier dédié à l'application (Android/data/fr.saxrub.visiolittoral) n'existait plus, j'ai déployé sur mon téléphone, depuis WM27, mon application fraichement générée. Quand celle-ci a démarré, elle a été opérationnelle directement alors que dans le cas du premier démarrage, un scénario particulier permet d'initialiser le contexte HFSQL. Pourquoi un démarrage directe ? Parce que si je détecte la présence du fichier HFSQL contenant les paramètres 'valides' d'un des utilisateurs de test que j'utilise ! Je repose la question : comment des fichiers HFSQL peuvent-ils être rempli avec des données très anciennes (email du user test, son mot de passe, son nom....) juste après leur auto-création au moment de leur ouverture (c'est l'option que j'ai choisi il y a bien des années) ? Notez qu'aucun fichiers HFSQL n'est inclus dans la liste des fichiers de l'application à déployer et qu'il n'y a pas de procédure de recopie/dézippage de quelconques fichiers au démarrage de l'application.
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Posté le 30 janvier 2023 - 12:10 |
Pascal BOULESTEIX a écrit :
Salut à tous Je relance le sujet. Ce matin, après avoir : - supprimé mon application (installée depuis PlayStore) depuis le téléphone, - mettre assuré que le dossier dédié à l'application (Android/data/fr.saxrub.visiolittoral) n'existait plus, j'ai déployé sur mon téléphone, depuis WM27, mon application fraichement générée. Quand celle-ci a démarré, elle a été opérationnelle directement alors que dans le cas du premier démarrage, un scénario particulier permet d'initialiser le contexte HFSQL. Pourquoi un démarrage directe ? Parce que si je détecte la présence du fichier HFSQL contenant les paramètres 'valides' d'un des utilisateurs de test que j'utilise ! Je repose la question : comment des fichiers HFSQL peuvent-ils être rempli avec des données très anciennes (email du user test, son mot de passe, son nom....) juste après leur auto-création au moment de leur ouverture (c'est l'option que j'ai choisi il y a bien des années) ? Notez qu'aucun fichiers HFSQL n'est inclus dans la liste des fichiers de l'application à déployer et qu'il n'y a pas de procédure de recopie/dézippage de quelconques fichiers au démarrage de l'application.
-- Pascal Boulesteix Applications Visiolittoral et WNat
Petite question, quel dossier utilises-tu pour y stocker ta base?
Android/data/fr.saxrub.visiolittoral ou un sous dossier de celui ci?
Personnellemet j'utilise : - un sous dossier pour la base - un sous dossier pour les paramètres de lancement - un sous dossier pour les importations de données - un sous dossier pour les exportations de données
Un hChangeRep("*",<chemin de la base de données>)
Je fais ensuite un contrôle de la structure des fichiers, si changements je crée un sous dossier pour sauvegarder la base avant de la modifier Si le fichier n'existe pas un HcréationSiInexistant.
Si je désinstalle l'application je perds la BDD, en réinstallant j'ai une BDD vide.
C'est d'ailleurs pour moi un problème, avant j'utilisais un dossier externe à l'application ce qui permettait de désinstaller sans perdre les données. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 291 messages |
|
Posté le 30 janvier 2023 - 13:23 |
Bonjour Une solution est proposée juste au dessus de votre message A première vue, il y aurait un transfert vers fichier mal placé dans votre code ... Je code depuis la 2.0, tout en suivant les versions et je n'ai jamais rencontré ce problème, aussi bien en WD, WB qu'en WM Bien cordialementMessage modifié, 30 janvier 2023 - 13:29 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 041 messages |
|
Posté le 31 janvier 2023 - 15:43 |
Salut Gemini1961 J'utilise WM depuis WM22. La cinématique de démarrage et de création de la base n'ont pas changé depuis. Ces problèmes sont apparus avec WM27. D'autre part, après avoir scanné le téléphone, après d'installation de l'application, je ne trouve pas de fichiers HFSQL de mon application dans tout le téléphone et sur mini-SD. Dans l'APK, après recherche, il n'y a pas de fichier HFSQL distribué dans le dossier res/raw supposé contenir les fichiers utilisateurs inclus dans la configuration. Que les fichiers se créent automatique fonctionne, ce qui est dingue c'est qu'un des fichiers contienne des données sans que le processus d'identification du user n'ait été activé. Ce n'est qu'après la validation du user/pswd avec un webservice, que les données sont récupérées, toujours avec un webservice, et stockées dans le fichier "prérempli" !
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 041 messages |
|
Posté le 31 janvier 2023 - 15:53 |
Cézame Pour répondre à tes questions : oui, j'utilise des sous-dossiers
et je fais bien un
gsRepRacine=SysRepStockageExterne (1, sseAppDocument ) gsRepDatas= gsRepRacine+[fSep()]+"fr.saxrub.wnat_mobile"+[fSep()]+"Datas" gPROC_CREER_DOSSIER("Datas",gsRepDatas)
SI HChangeRep("*",gsRepDatas)
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 041 messages |
|
Posté le 31 janvier 2023 - 18:58 |
Je viens de faire le test suivant : 1 - Génération de l'APK 2 - Suppression de l'application du téléphone ; les dossiers des fichiers disparaissent aussi 3 - Copie de l'APK sur le téléphone (au lieu d'utiliser le bouton "Déployer") 4 - Installation de l'APK depuis le téléphone sans demander d'ouvrir l'application après l'installation 5 - Et bien les fichiers sont présents avec le même timestamp que l'APK !!!!
Il y a donc bien une option, un bidule qui inclus mes fichiers à l'insu de mon plein gré !
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 458 messages |
|
Posté le 01 février 2023 - 10:29 |
Bonjour,
Lors de la génération de l'APK, dans l'assistant, il y a une étape qui demande si des fichiers doivent être intégrés en tant que "ressources" qui seront extraites automatiquement, peut-être sont-ils listés ici ?
Autre possibilité à laquelle je pense : vu que vous mentionnez ne pas lancer l'application, il se pourrait que ça soit une restauration de paramètres et données sauvegardés quelque part dans le cloud de Google. En effet l'autobackup inclut aussi les fichiers de données (dans la limite de 25Mo) : https://developer.android.com/guide/topics/data/autobackup |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 041 messages |
|
Posté le 01 février 2023 - 11:32 |
Salut bchanudet J'ai vérifié il y a longtemps, les fichiers en question ne sont pas inclus Pour la piste Google Cloud, je regarde
-- Pascal Boulesteix Applications Visiolittoral et WNat |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 041 messages |
|
Posté le 01 février 2023 - 21:01 |
Après consultation de la https://developer.android.com/guide/topics/data/autobackup j'ai ajouté android:allowBackup="false" dans le manifeste. Par miracle, les fichiers n'ont pas été créés/restaurés avant le premier démarrage . Comme je suis psychorigide, j'ai recompilé en supprimant les éléments ajoutés à l'étape précédente du manifeste. Après recompilation, réinstallation manuelle de l'APK, les fichiers n'ont pas été créés/restaurés Bref, manifestement avoir utilisé une fois android:allowBackup="false" a fait quelque chose. Maintenant, savoir quoi ? Je viens de remettre définitivement android:allowBackup="false" (jusqu'au prochain bug). Ce qui est dommage, c'est que pour la sauvegarde du téléphone qui est dans Google Drive, on peut savoir combien d'applications ont leurs données de sauvegarder, mais je n'ai pas trouver comment avoir accès aux données d'une application en particulier. A suivre. Merci bchanudet
-- Pascal Boulesteix Applications Visiolittoral et WNatMessage modifié, 01 février 2023 - 21:02 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 866 messages |
|
Posté le 02 février 2023 - 00:30 |
Merci. J'avais le même problème. Dans mon cas, la sauvegarde des données sur le cloud pourrait être une option intéressante, mais je ne comprends pas pourquoi la désinstallation et la réinstallation de l'application font réapparaître les données.
Rubén |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 226 messages |
|
Posté le 31 octobre 2024 - 13:07 |
Bonjour Pascal, je suis heureux de ne pas avoir rêvé ça et que d'autres ont heureusement pour moi eu le même problème Après avoir modifié le manifest, mon problème s'est envolé comme par magie.
Merci à vous deux pour votre aide. J'ai ce problème depuis un bon bout et sur toutes mes appli mobiles. Merci encore !
-- Jean Turcotte WX 2024 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 4 messages |
|
Posté le 23 janvier 2025 - 00:26 |
Bonjour, j'ai commencé à avoir un problème avec une nouvelle application où lorsque je désinstalle l'application et la réinstalle, les données réapparaissent comme par magie. Après plusieurs heures d'essais et d'erreurs, je me suis souvenu de cet article et, comme par magie, le problème a été résolu. Merci de l'avoir partagé. Il est vraiment difficile de trouver des solutions si la cause du problème est due à d'autres personnes.
Rubén |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|