Lecture Ecriture de données dans un fichier CSV sous MIT App Inventor


niveau:3

Introduction:

Dans ce chapitre, nous allons créer une application permettant de lire, d’écrire, d’ajouter,de modifier et de supprimer du texte dans un fichier CSV. Je suppose que vous avez déjà utilisé l’application MIT App Inventor.

Réalisation de notre application:

Création de notre fichier de données au format CSV:

J’ai pris comme exemple un fichier avec 4 colonnes: Nom de la ville en majuscule,Nom de la ville en minuscule, Code postale, Département.

Si vous voulez modifier le fichier utiliser Open Office avec les paramètres ci-dessous.

Voici l’aperçu dans Open Office.

Voici l’aperçu dans NotePad++.

Vous pouvez télécharger le fichier villes.csv

Stockage du fichier CSV dans le téléphone:

Le dossier /sdcard/ est appelé « stockage USB » dans la mesure où vous pouvez accéder à ce dossier, lorsque vous connectez votre smartphone à un ordinateur via un câble USB.  La  mémoire interne de votre téléphone se nome  « sdcard ». Ce dossier ne correspond pas à votre carte SD.

Selon l’application utilisée pour parcourir la mémoire de votre smartphone, le dossier /sdcard/ s’intitule parfois /storage/sdcard0/ ou /storage/emulated/0/ ou Mémoire de stockage interne. Il s’agit en fait du même emplacement.

Dans notre application le fichier sera à l’emplacement /AppInventor/assets/villes.csv

Création de notre application:

Voici la partie graphique de l’application. Nous avons créé quatre étiquettes, quatre champs de saisie, six boutons et un accès au fichier.

Dans la partie programme nous allons déclarer 3 variables, une pour la table, une l’index de la table et une pour l’emplacement du fichier. L’emplacement du fichier sera dans la mémoire de votre téléphone et sera à transférer via la liaison USB de votre téléphone. Nous avons initialiser notre index à une valeur de 2, car l’index 1 correspond aux étiquettes de nos labels.

Pour l’initialisation de notre programme, nous utilisons le bloque contrôle screen.initialize et y ajoutons l’appel à notre sous programme pour la gestion des couleurs ( pas obligatoire) puis la lecture de notre fichier CSV.

Ensuite nous chargeons la lecture du fichier CSV dans notre table, effectuons un appel aux sous-programmes permettant:

  • de charger nos étiquettes depuis la table,
  • et de charger nos champs de saisie depuis la table.

Sous programme de chargement des étiquettes:

Nous chargeons la première ligne de notre table (index=1) dans une table nommer ligne et après nous venons lire cette table en incrémentant l’index pour chaque étiquette.

Sous programme de chargement des champs de saisie:

c’est le même principe que pour le chargement des étiquettes, mais avec la variable index table qui a pour valeur initiale 2. Cela nous permettra de lire l’ensemble des valeurs de notre fichier CSV en modifiant la valeur de l’index.

Les actions de nos boutons:

Bouton de sortie:

Ferme la fenêtre.

Boutons avance et recule:

En premier, nous vérifions si nous avons effectué des modifications dans nos champs textes à l’aide du sous programme Text box modification afin de faire une sauvegarde dans notre table. Ensuite nous incrémentons ou décrémentons l’index, puis nous effectuons le transfère des valeurs dans nos champs de saisie.

Sous programme de Text box modification:

nous créons une table (TextBox Table) avec les champs de saisie et le comparons à notre table. Si nous avons pas de différence, nous ne remplaçons pas la table.

Bouton Sauvegarde:

Nous vérifions si nous avons des modifications pour mettre à jour notre table, et nous effectuons une sauvegarde dans notre fichier.

Bouton Ajouter:

Nous vidons les champs de saisie, puis ajoutons les champs vide à notre table qui une fois saisie seront ajouter à la table via le sous programme Text box modification que nous avons dans les actions avance,recule et sauvegarde.

Bouton Supprimer:

Nous effaçons la ligne en cours à la position de notre index table. Puis suivant la position de l’index, nous incrémentons ou décrémentons l’index, et nous affichons le contenu de la table dans nos champs de saisie.

Voici le rendu de l’application:

Téléchargement:

Fichier source du projet: CSV_Import_Export.aia

Fichier compiler: CSV_Import_Export.apk

Fichier CSV: villes.csv