Enregistrer : Données permanentes

Durée estimée: 45 minutes

Présentation

Dans l'application que nous avons réalisée, les données sont perdues lorsqu'on sort de l'application.
L'appareil photo - qui est une application séparée - peut avoir enregistré l'image dans un fichier, de même que plus tard l'application qui va envoyer les SMS ou les emails. Par contre notre application ne garde aucune mémoire de ce quia a été fait au cours d'une utilisation précédente.

Ses données sont dites éphémères et on souhaite rendre permanentes une partie d'entre elles comme le nom de la dernière image pour la récupérer, même plusieurs jours après.

Ce que l'on va voir ou apprendre

Les ordinatteurs, dont les smartphones disposent d'une mémoire vive ou éphéméère qui est utilisée pendant qu'un programme tourne et qui est effacée ensuite. Ils disposent également d'un second type de mémoire qui ne s'efface pas quand le programme s'arrête ou même quand on éteint le téléphone. C'est une mémoire dite permanente comme celle des clefs USB, des disques durs et de la mémoire flash de nos appareils. En général, les quantités de mémoire vive (RAM) et permanente sont dans les premières caractéristiques données pour un appareil, par exemle 2 GO + 32 GO.
Le premier chiffre indique souvent la quantité de méméoire vive, qui est très rapide, et le second la quantité de mémoire permanente, que l'on peut souvent compléter avec une carte SD ou autre.

App Inventor propose plusieurs techniques pour lire et enregistrer les données dans la mamoire permanente

  • les fichiers
  • les bases de données locales (dont tinyDB)
  • les bases de données en réseau (dont cloud DB et firebase)
L'utilisation des fichiers est bien adapté à l'enregistrement de données comme les images ou les documents. C'est ce qu'utilise l'appareil photo. L'utilisateur peut ensuite gérer ces données avec un explorateur de fichiers, en aprticulier pour faire de la place quand la capacité d'archivage ests saturée.

Nous allons voir ici l'utilisation d'une base de données locale qui permet de lire et d'enregistrer les variables (simples ou complexes) des applications sans que le porgrammeur n'ait à se préoccuper du format ou de l'organisation des données.

Ce que vous allez faire

après chaque rpise de vue, vous allez enregsitrer (avec tinyDB) le nom du fichier dans lequel l'appareil photo a enregistré l'image, et à chaque fois que l'application démarre, vous allez relire le nom de cette image pour la réafficher.

La vidéo qui suit vous indqiue comment faire