skip to main | skip to sidebar

lundi 17 mars 2025

Comment importer, créer et utiliser des fichiers de suivi GPX et KML dans App Inventor Map

Comment importer, créer et utiliser des fichiers de suivi GPX et KML dans App Inventor Map

Le lecteur/créateur de fichiers GPX/KML permet d'importer des cartes d'itinéraires créées avec des GPS Garmin ou des pages web publiant des itinéraires de randonnée kml (tracés de randonnée, etc.). App Inventor utilise une chaîne de caractères (LineString) pour afficher un tracé similaire. Un fichier GPX ou KML peut être converti en un ensemble de points de localisation, chargé dans une chaîne de caractères (LineString) et enregistré pour une utilisation ultérieure dans le dossier Documents de l'appareil.

testgpx

testgpx720 × 1600 108 Ko

(fichier gpx de l'exemple d'extension Django)

dRoute

dRoute720 × 1600 188 Ko

 (fichier kml de l'exemple d'extension Django)


Comment les développeurs utilisent les fichiers kml et gpx pour distribuer/afficher les pistes cartographiques | Utilisation des fichiers GPX et KML pour la randonnée | Navigation de randonnée 22

Autres liens intéressants KML'nizi Barındırmak için Google Sites'ı Kullanma | Langage de balisage en trou de serrure | Google pour les développeurs 5
https://www.alltrails.com/ 2


Ce tutoriel explique

  • comment télécharger un fichier gpx ou kml sur votre ordinateur et l'utiliser dans App Inventor avec une extension gratuite.

  • comment copier un fichier gpx ou kml de vos ressources vers le dossier Document partagé sur votre Android 10 ou supérieur.

  • comment capturer et enregistrer une piste en tant que piste LineString et la convertir en un fichier gpx ou kml qui peut être partagé à l'aide du LocationSensor

  • comment créer et enregistrer une piste à l'aide de l'écran Carte pour créer une liste de points en sélectionnant des coordonnées sur la carte

  • comment lire un fichier de piste gpx ou kml et l'afficher sur la carte sous forme de LineString

:railway_track: L' exemple de lecteur/créateur de fichiers GPX/KML utilise l' extension DjGPXTools 1/1/2021 version 2.

Pour éviter les problèmes lors de l'expérimentation avec l'exemple d'application : N'exécutez PAS l'aia depuis l'aia Companion. CRÉEZ l'apk en utilisant Build>Android App (.apk) (voir ci-dessous).


L'écran du designer

gpxDesigner

gpxDesigner1201×926 330 Ko

Voici la présentation du Designer. Elle présente les commandes et extensions utilisées pour construire le projet.


menu
Les outils ----------

Les outils permettant de copier, d'afficher, de créer et de capturer des fichiers sont présentés ci-dessus et décrits ci-dessous.
Les outils de création et de capture permettent d'afficher ou de masquer ces deux outils selon vos besoins.


copie

Comment les fichiers de suivi créés par des sources externes peuvent être déplacés vers l'exemple d'application de lecture/création de fichiers GPX/KML .

Copiez les fichiers de piste des ressources que vous fournissez dans le dossier Téléchargements du système.

  1. Vous pouvez supprimer les fichiers kml et gpx existants du dossier Documents Android. Utilisez une application de manipulation de fichiers (j'utilise Mes Fichiers ) ;

  2. Vous pouvez redémarrer votre Android. Vous devez supprimer les fichiers kml/gpx indésirables du dossier Documents si vous n'avez pas suivi les conseils ci-dessus et créé des instances du fichier de tracé kml ou gpx dans Documents à l'aide d'une autre application ou d'une version de cette application avec Companion. Si vous ne supprimez pas les documents, certains fichiers d'Assets ne seront pas répliqués s'il existe un fichier du même nom. Ces fichiers ne seront donc pas reconnus par l'application. Si l'application tente d'ajouter le fichier depuis Assets, celui-ci apparaîtra dans Documents, mais ne sera pas reconnu. Lors de la compilation ultérieure de l'APK, l'application d'exemple ne pourra pas lire les fichiers de Documents avec le programme compilé, car ils sont créés avec Companion. Pour pouvoir lire les fichiers stockés, votre application compilée doit d'abord les créer. Elle ne peut pas accéder aux fichiers du dossier Documents créés avec d'autres applications ou Companion. Seuls les fichiers créés par l'application sont reconnus. Ce comportement est dû au respect de la politique de sécurité de Google concernant les fichiers non créés par l'application que vous codez et développez.

  3. Ajoutez vos fichiers kml et gpx aux ressources multimédias du projet . Ce n'est qu'ensuite qu'ils pourront être copiés dans Documents via l'application. Trois exemples de fichiers sont déjà présents dans les ressources, ce qui vous donne une longueur d'avance. Glissez-déposez plusieurs de vos fichiers kml externes dans Media pour les rendre accessibles à votre application. Malheureusement, vous ne pouvez pas simplement copier les fichiers kml/gpx dans le dossier Documents et espérer qu'ils soient utilisables avec l'application compilée . Les fichiers utilisables doivent être créés avec l'application compilée.

  4. Utilisez le bouton « Copier les ressources dans les documents » pour copier tous les fichiers GPX et KML placés dans vos ressources vers le dossier « Documents ». Sinon, votre ListPicker ne pourra sélectionner aucun fichier de tracé tant que vous n'y aurez pas copié les ressources KLM ou GPX, sauf si vous utilisez les options « Créer » ou « Capturer » et stockez les fichiers créés par ces outils.

  5. À ce stade, vous pouvez utiliser l'explorateur de fichiers de votre appareil pour vérifier quels fichiers sont désormais enregistrés dans le dossier Documents. Seuls les fichiers créés avec l'application compilée peuvent être lus par l'application.

    dossier de documents

    dossier de documents360×800 26,9 Ko


    Capture de mon fichier du dossier Documents.

  6. Utiliser
    prendre pour afficher les pistes sur App Inventor

médias

médias360×800 16,9 Ko

 Sélectionnez le fichier GPX ou KML à afficher à l'aide d'un ListPicker

copierAssetsToDocuments

copierAssetsToDocuments609×628 42,2 Ko

![dRoute|225x500]

======================

Another way to get kml or gpx files created by other apps to work with Django's extension is solved in Part II of this tutorial How to import, create and use gpx and kml track files using App Inventor Map Part II Use SAF extension to select kml/gpx files stored in your Documents folder 12

  • Kml or gpx files dragged to the Documents folder using USB to transfer the files are not recognized by the app this tutorial creates.

  • several links discuss the SAF extension which might be feasible to read outside kml/gpx files:

See KML File storage - #8 by Anke 4
How do you read an "alien" file from Download under SDK 30? - #4 by Alexandre_Gorine 1
How do you read an "alien" file from Download under SDK 30?


créer

Create a new kml or gpx file with the example app---------------

The Map1.DoubleTapAtPoint block can be used to generate a LineString by adding coordinates or adapt the code to also use a Point List you create using outside data to make a LineString. The LineString is saved as a kml or gpx file to Documents folder and can be viewed using the ListPicker.

doubleTap

créer un outil

  • createTool709×151 30.5 KB

    Enable the DoubleTapAtPoint feature using the Switch. The Create LS switch must be ON to add coordinates. The switch needs to be OFF when not in use.

  • Select the coordinates you want using double tap to create a LineString.

  • Enter a name for the track. The file will not save if there isn't a file name entered.

  • Use one of the Create buttons to save the track as a kml or gpx ( the track name must not be empty.)

washPlus2

washPlus2720×1600 165 KB

An example is the Washington.kml example


capturerCapture a kml or gpx file track using the LocationSensor and LineString-----------

The LineString is populated by gps coordinates as the Android device changes location (or thinks it is changing location). This feature can be used to store the routes/tracks in your version of the app. It can SAVE the routes you make while using your gps and saving them as a kml or gpx file that your app can return to.

captureTool

  • Start/Stop enables/disables the gps. It will take a while to start generating the track. The GPS needs to provide at least two satellite fixes and location changes.

  • GPS as gpx creates a gpx from the track made so far (the LineString ). Enter track name to provide a name for the file. The button will not save the track if it is unnamed.

  • GPS as kml creates and saves a kml from the track made so far (the the LineString) if the enter track name contains a name for the file.

blocsÀCapturer Blocks to Capture from your gps


Exporting/Importing Garmin gpx or kml files.-------------------

A way to acquire Garmin gpx files for download to your computer is described in

support.garmin.com

Mobile: Importing and Exporting | Garmin Customer Support 1

Garmin Support Center is where you will find answers to frequently asked questions and resources to help with all of your Garmin products.


The tutorial example app is possible because of the availability of two extensions:

  • Taifun File extension App Inventor Extensions: File | Pura Vida Apps 11 . (I unsuccessfully tried using the File component Legacy/Shared Scoped method.)

  • [FREE]DjGPXTool extension [FREE]DjGPXTool extension - Extensions - Kodular Community 25 (this is a Kodular extension that works with App Inventor; be aware the example extension aia pointed to does not work with App Inventor.

How Django's__Extension works:

-ReadGPX/ReadKML: enter the full path of your GPX or KML file (e.g. storage/emulated/0/yourfile.gpx)
-GPXRead/KMLRead: returns a list of lat/lng pairs.
-CreateGPX/CreateKML: fileName ( e.g. /storage/emulated/0/yourTrack.gpx)

créerGpxCode

  • createGpxCode783×386 25.4 KB

    name: Name of your track

  • points: enter the list of your lat/lng coordinates
    -GPXCreated/KMLCreated: returns: path to the written GPX or KML file. result: as String. size: amount of coordinates.


Testing ------------------------------

The app was only tested on a Samsung A13, Android 13. How it will perform with different Android versions and devices is unknown.


Questions -------------------

  • Can all gpx or kml files others publish be rendered into a Points file and LineString? No. Some might be too complex for the extension algorithms.

  • Can the SAF extension or the File control be used to build something similar? Yes, see Part II of this tutorial.

  • How do you build your own app to use Django's extension? Download both Taifun's and Django's extensions; start a Project; import the extensions and start programming. You possibly do not need all the features available in the example.

  • What happens if you do not copy external tracks to Documents? Essentially nothing, you can still use the tools to create and capture tracks.

  • Will you have to turn your device off after you manually delete files from Documents created either using Companion or from an outside source? Probably. This is true when using my Samsung A13; it might not be required using your Android. For some reason, deleting files using My Files fails to remove them until a device reset. :pleurer: :pleurer:

  • Are there bugs? :scarabée: I hope not but one never knows. I did not code all error control possible.


Credits:-------------

Thanks to Taifun and Django for their extensions.


I hope developers can make use of the techniques used in the tutorial in their Hiking and tracking apps.


AIA for GPX / KML File Reader/Creator app.**
GPX_KML_DemoDocuments.aia (103.7 KB)

To avoid problems experimenting with the example app: DO NOT run the aia from the Companion aia. BUILD the apk using Build>Android App (.apk) (see above).


Regards,
SteveJG





Publié par uluru à 15:27 Aucun commentaire:

samedi 15 mars 2025

App Inventor : DefaultScope des fichiers

 


Dans App Inventor, l'élément Fichier peut avoir un DefaultScope coché à App, Assets, Legacy, Private ou Shared. Que signifient ces gtermes

Dans App Inventor, l'élément Fichier dispose d'une propriété appelée DefaultScope, qui détermine où les fichiers sont lus ou écrits. Voici une explication des différentes options disponibles pour le DefaultScope :

Les options de DefaultScope :

  1. App :

    • Les fichiers sont stockés dans un répertoire spécifique à l'application sur le stockage externe.

    • Ce mode est recommandé pour la plupart des applications modernes.

    • Compatible avec Android 2.2 et versions ultérieures.

  2. Asset :

    • Les fichiers sont lus à partir des ressources intégrées à l'application (assets).

    • Ces fichiers sont en lecture seule et ne peuvent pas être modifiés ou écrits.

  3. Legacy :

    • Utilise les règles de stockage des versions antérieures d'App Inventor (avant la version nb187).

    • Les fichiers sont lus ou écrits dans le répertoire racine du stockage externe (ex. : /sdcard/).

    • Ce mode est obsolète et ne fonctionne pas sur Android 11 ou versions ultérieures.

  4. Private :

    • Les fichiers sont stockés dans le répertoire privé de l'application.

    • Ce mode est utilisé pour des données sensibles qui ne doivent pas être accessibles par d'autres applications ou utilisateurs.

  5. Shared :

    • Les fichiers sont placés dans les répertoires partagés du système, comme les dossiers Pictures, Music, ou Downloads.

    • Idéal pour partager des fichiers avec d'autres applications ou rendre les fichiers visibles pour l'utilisateur.

Utilisation recommandée :

  • Le mode App est généralement suffisant pour la plupart des applications modernes.

  • Si vous avez besoin d'accéder à des ressources intégrées, utilisez Asset.

  • Pour des données sensibles, préférez le mode Private.

  • Évitez le mode Legacy, sauf si vous travaillez avec de très anciennes versions d'Android.

  • Utilisez Shared pour rendre les fichiers accessibles dans les répertoires publics du système.

exemples de code

Bien sûr, je vais vous donner quelques exemples de code pour illustrer l'utilisation des différents DefaultScope dans App Inventor. Notez que dans App Inventor, le code est principalement créé via une interface graphique de blocs, mais je vais décrire les actions et les blocs à utiliser pour chaque exemple.

1. App Scope

Exemple : Sauvegarder un score dans un fichier

1. Utiliser un composant Fichier avec DefaultScope réglé sur "App"
2. Utiliser le bloc "call Fichier1.WriteFile" avec :
- fileName : "score.txt"
- text : un bloc contenant le score (par exemple, une variable globale scoreActuel)
3. Pour lire le score :
- Utiliser le bloc "call Fichier1.ReadFrom" avec fileName : "score.txt"

2. Assets Scope

Exemple : Lire un fichier de configuration depuis les assets

1. Ajouter un fichier "config.txt" dans les assets du projet
2. Utiliser un composant Fichier avec DefaultScope réglé sur "Assets"
3. Utiliser le bloc "call Fichier1.ReadFrom" avec :
- fileName : "config.txt"
4. Le contenu sera disponible dans le bloc "got text"

3. Private Scope

Exemple : Stocker un token d'authentification

1. Utiliser un composant Fichier avec DefaultScope réglé sur "Private"
2. Pour sauvegarder le token :
- Utiliser le bloc "call Fichier1.WriteFile" avec :
- fileName : "auth_token.txt"
- text : le token d'authentification
3. Pour lire le token :
- Utiliser le bloc "call Fichier1.ReadFrom" avec :
- fileName : "auth_token.txt"

4. Shared Scope

Exemple : Sauvegarder une image dans le dossier Pictures

1. Utiliser un composant Fichier avec DefaultScope réglé sur "Shared"
2. Après avoir capturé une image avec le composant Camera :
- Utiliser le bloc "call Fichier1.SaveFile" avec :
- fileName : "Pictures/mon_image.jpg"
- content : le bloc contenant l'image capturée

5. Legacy Scope (à éviter sur les versions récentes d'Android)

Exemple : Lire un fichier à la racine du stockage externe

1. Utiliser un composant Fichier avec DefaultScope réglé sur "Legacy"
2. Utiliser le bloc "call Fichier1.ReadFrom" avec :
- fileName : "mon_fichier.txt"
(Cela lira le fichier depuis la racine du stockage externe, par exemple /sdcard/mon_fichier.txt)

Rappelez-vous que ces exemples sont conceptuels et que la mise en œuvre exacte dépendra de la structure de votre application et des autres composants que vous utilisez. De plus, il est toujours recommandé de gérer les erreurs potentielles lors des opérations de lecture/écriture de fichiers.

Donner un exemple de code App Inventor utilisant le SAF

Voici un exemple de code App Inventor utilisant le SAF (Storage Access Framework) pour créer et écrire dans un fichier texte :

// Ouvrir le sélecteur de dossier
when Button1.Click
do SAF1.OpenDocumentTree("Sélectionnez un dossier")
end

// Créer et écrire dans le fichier
when SAF1.GotUri
do SAF1.CreateDocument(get uri, "mon_fichier.txt", "text/plain")
end

when SAF1.DocumentCreated
do SAF1.WriteToFile(get uriString, "Contenu du fichier")
end

// Afficher le résultat
when SAF1.GotWriteResult
if get response = get uriString then
Notifier1.ShowAlert("Fichier créé et écrit avec succès")
else
Notifier1.ShowAlert("Erreur : " + get response)
end
end

Ce code permet de :

  1. Ouvrir un sélecteur de dossier lorsque l'utilisateur clique sur un bouton.

  2. Créer un nouveau fichier texte nommé "mon_fichier.txt" dans le dossier sélectionné.

  3. Écrire le contenu "Contenu du fichier" dans le fichier créé.

  4. Afficher une notification indiquant si l'opération a réussi ou échoué.

Pour utiliser ce code, vous devez d'abord ajouter l'extension SAF à votre projet App Inventor. Assurez-vous également d'avoir les composants Button1 et Notifier1 dans votre interface utilisateur[1][2].



  1. https://community.kodular.io/t/saf-app-inventor-implementation-of-storage-access-framework/144020

  2. https://community.appinventor.mit.edu/t/saf-app-inventor-implementation-of-storage-access-framework/41603



Publié par uluru à 03:46 Aucun commentaire:

App Inventor : Fichiers dans le dossier Documents

 


Dans App Inventor, peut-on stocker ses données dans un fichier situé dans le dossier Documents et si oui par quelle requête y accèder

Voici comment procéder :

  1. Créer ou accéder à un fichier :

    Utilisez le bloc "File.AppendToFile" pour créer un nouveau fichier ou ajouter du contenu à un fichier existant dans le dossier Documents[1].
    Utilisez le bloc "File.ReadFrom" pour ouvrir et lire le contenu d'un fichier existant[1].
    Utilisez le bloc "File.SaveFile" pour écrire ou remplacer le contenu d'un fichier[1].


    do
    File.AppendToFile("/storage/emulated/0/Documents/notes.txt", TextBox1.Text)
    Notifier.ShowAlert("Note sauvegardée !")

  2. Lire le contenu d'un fichier :

  3. Écrire dans un fichier :

Pour spécifier le chemin d'accès au fichier dans le dossier Documents, utilisez la syntaxe suivante :

/storage/emulated/0/Documents/nomdefichier.txt

Il est important de noter que vous devez demander les autorisations nécessaires pour accéder au stockage externe de l'appareil dans votre application App Inventor

Enfin, pour une gestion plus avancée des données, vous pouvez également envisager d'utiliser des fichiers CSV, qui permettent de stocker des données tabulaires et sont facilement manipulables dans App Inventor


avec exemple

 Voici un exemple de comment y accéder et le manipuler :

Création et écriture dans un fichier

Pour créer un fichier et y écrire des données, utilisez les blocs suivants :

File.AppendToFile("/storage/emulated/0/Documents/monfichier.txt", "Données à stocker")

Ce bloc créera un fichier nommé "monfichier.txt" dans le dossier Documents et y écrira le texte "Données à stocker"

Lecture d'un fichi

Pour lire le contenu d'un fichier existant, utilisez les blocs suivants :

File.ReadFrom("/storage/emulated/0/Documents/monfichier.txt")

Ce bloc lira le contenu du fichier "monfichier.txt" situé dans le dossier Documents.

Exemple pratique

Voici un exemple plus complet pour illustrer l'utilisation de fichiers dans App Inventor :

  1. Créez un bouton "Sauvegarder" et un champ de texte dans l'interface.

  2. Ajoutez un composant File (non visible) à votre projet.

  3. Dans les blocs, créez un gestionnaire d'événements pour le bouton "Sauvegarder" :

when Sauvegarder.Click

  1. Créez un bouton "Charger" et ajoutez le code suivant :

when Charger.Click
do
set TextBox1.Text to File.ReadFrom("/storage/emulated/0/Documents/notes.txt")

Ce code permettra à l'utilisateur de sauvegarder le texte entré dans un fichier "notes.txt" dans le dossier Documents, et de le charger ultérieuremen

N'oubliez pas de demander les autorisations nécessaires pour accéder au stockage externe dans les paramètres de votre application App Inventor.

⁂

Publié par uluru à 00:54 Aucun commentaire:

App Inventor : Zone de texte, comment introduire du texte

 Dans App Inventor, comment introduire un texte dans un élément zone de texte

Pour introduire un texte dans un élément zone de texte dans App Inventor, vous pouvez suivre ces étapes :

  1. Dans la fenêtre "Designer", ajoutez un composant "Zone de texte" (TextBox) à votre interface en le faisant glisser depuis la palette vers le visualiseur[1].

  2. Sélectionnez la zone de texte dans la liste des composants ou directement dans le visualiseur[2].

  3. Dans le panneau des propriétés à droite, vous pouvez définir les caractéristiques de la zone de texte[2][1] :

    • Modifiez la propriété "Text" pour définir un texte par défaut qui apparaîtra dans la zone de texte[3].

    • Ajustez d'autres propriétés comme la taille de la police, la couleur de fond, ou la largeur selon vos besoins[1].

  4. Pour récupérer le texte saisi par l'utilisateur dans la zone de texte, utilisez le bloc "TextBox1.Text" dans la fenêtre "Blocks"[4].

  5. Vous pouvez ensuite utiliser ce texte dans votre logique d'application, par exemple pour l'afficher dans un label ou le traiter d'une autre manière[5][4].


avec un exemple

Bien sûr, je vais vous donner un exemple concret pour illustrer comment introduire et utiliser un texte dans une zone de texte dans App Inventor.

Exemple : Créer une application de salutation personnalisée

Dans cet exemple, nous allons créer une application simple qui demande le nom de l'utilisateur dans une zone de texte, puis affiche un message de salutation personnalisé lorsqu'un bouton est pressé.

Étape 1 : Configuration de l'interface utilisateur

Dans la vue "Designer" :
  1. Ajoutez une Zone de texte (TextBox)

    • Renommez-la en "txtNom"

    • Dans les propriétés, définissez Hint à "Entrez votre nom"

  2. Ajoutez un Bouton (Button)

    • Renommez-le en "btnSaluer"

    • Dans les propriétés, définissez Text à "Saluer"

  3. Ajoutez un Label

    • Renommez-le en "lblSalutation"

    • Laissez le texte vide pour l'instant

Étape 2 : Programmation des blocs

Dans la vue "Blocks" :

  1. Ajoutez un bloc "when btnSaluer.Click do"

  2. À l'intérieur de ce bloc, ajoutez :

    1. Un bloc "set lblSalutation.Text to"

    2. Connectez-y un bloc de texte (join)

    3. Dans le bloc join, mettez "Bonjour, " comme premier élément

    4. Comme deuxième élément du join, ajoutez un bloc "txtNom.Text"

Voici à quoi devraient ressembler vos blocs :

when btnSaluer.Click
set lblSalutation.Text to
join("Bonjour, ", txtNom.Text)


Fonctionnement de l'application

  1. L'utilisateur entre son nom dans la zone de texte "txtNom".

  2. L'utilisateur appuie sur le bouton "Saluer".

  3. Le texte du label "lblSalutation" est mis à jour avec un message personnalisé, par exemple "Bonjour, Alice" si l'utilisateur a entré "Alice".

Cet exemple simple montre comment :

  • Introduire du texte dans une zone de texte (via l'interface utilisateur)

  • Récupérer le texte de la zone de texte (avec txtNom.Text)

  • Utiliser ce texte pour créer un message personnalisé

Vous pouvez bien sûr élaborer davantage cette application en ajoutant des fonctionnalités supplémentaires ou en personnalisant l'interface utilisateur selon vos besoins.

Publié par uluru à 00:16 Aucun commentaire:

App Inventor : fichiers de données, stockage et requête d'accès

 Dans App Inventor, où placer les fichiers de données et par quelle requête peut-on y accéder

Dans App Inventor, il existe plusieurs options pour placer et accéder aux fichiers de données :

Stockage interne de l'application

Les fichiers peuvent être stockés dans le répertoire privé de l'application :

  • Chemin : /data/user/0/<nom_du_package>/files/

  • Accès : Utilisez la méthode ReadFrom() du composant File sans préfixe[1][2]

Par exemple :

File1.ReadFrom("monfichier.txt")

Stockage externe (carte SD)

Les fichiers peuvent être placés sur la carte SD :

  • Chemin : /sdcard/ ou /storage/emulated/0/

  • Accès : Préfixez le nom du fichier avec / dans ReadFrom()[1][3]

Par exemple :

File1.ReadFrom("/monfichier.txt")

Assets de l'application

Les fichiers peuvent être inclus dans les assets du projet :

  • Placement : Téléchargez le fichier dans la section Media du projet

  • Accès : Préfixez le nom du fichier avec // dans ReadFrom()[3][2]

Par exemple :

File1.ReadFrom("//monfichier.txt")

Considérations importantes

  • Le composant File permet de lire et écrire des fichiers sur l'appareil[4][3].

  • Pour les applications packagées, les fichiers sont lus/écrits dans le stockage privé de l'application sur Android 2.2+[3].

  • Lors du développement avec le Companion, les fichiers sont lus/écrits dans /sdcard/AppInventor/data[3].

Il est recommandé d'utiliser le stockage interne de l'application pour la sécurité des données, et les assets pour les fichiers statiques inclus dans l'application.

⁂

Publié par uluru à 00:03 Aucun commentaire:

vendredi 14 mars 2025

App Inventor : Liens utiles

 Communauté App Inventor

Extension QRcode Generator

Publié par uluru à 05:34 Aucun commentaire:
Articles plus récents Articles plus anciens Accueil
Inscription à : Articles (Atom)

TICE News

Synthèse vocale

Hello

TICE News

Archives du blog

  • ▼  2025 (12)
    • ▼  juillet (1)
      • Calibre et Kindle
    • ►  juin (2)
    • ►  mars (7)
    • ►  janvier (2)
  • ►  2024 (12)
    • ►  décembre (2)
    • ►  novembre (5)
    • ►  septembre (1)
    • ►  juillet (1)
    • ►  juin (1)
    • ►  février (2)
  • ►  2023 (9)
    • ►  août (3)
    • ►  juillet (1)
    • ►  avril (1)
    • ►  mars (1)
    • ►  février (3)
  • ►  2022 (12)
    • ►  décembre (2)
    • ►  novembre (1)
    • ►  juin (1)
    • ►  avril (1)
    • ►  mars (2)
    • ►  février (1)
    • ►  janvier (4)
  • ►  2021 (12)
    • ►  décembre (2)
    • ►  novembre (1)
    • ►  septembre (1)
    • ►  juillet (1)
    • ►  avril (4)
    • ►  février (1)
    • ►  janvier (2)
  • ►  2020 (14)
    • ►  novembre (1)
    • ►  octobre (5)
    • ►  septembre (1)
    • ►  août (2)
    • ►  mai (1)
    • ►  avril (1)
    • ►  mars (2)
    • ►  janvier (1)
  • ►  2019 (1)
    • ►  juillet (1)
  • ►  2018 (6)
    • ►  novembre (2)
    • ►  juin (1)
    • ►  mai (1)
    • ►  février (1)
    • ►  janvier (1)
  • ►  2017 (5)
    • ►  octobre (2)
    • ►  juin (2)
    • ►  mars (1)
  • ►  2016 (4)
    • ►  août (2)
    • ►  juillet (1)
    • ►  avril (1)
  • ►  2015 (11)
    • ►  décembre (2)
    • ►  novembre (1)
    • ►  octobre (1)
    • ►  septembre (1)
    • ►  août (1)
    • ►  juillet (1)
    • ►  mars (1)
    • ►  février (2)
    • ►  janvier (1)
  • ►  2014 (10)
    • ►  novembre (1)
    • ►  avril (1)
    • ►  février (5)
    • ►  janvier (3)
  • ►  2013 (21)
    • ►  décembre (5)
    • ►  novembre (2)
    • ►  octobre (1)
    • ►  septembre (2)
    • ►  juin (3)
    • ►  mars (5)
    • ►  février (2)
    • ►  janvier (1)
  • ►  2012 (14)
    • ►  décembre (2)
    • ►  novembre (1)
    • ►  septembre (1)
    • ►  août (4)
    • ►  juillet (1)
    • ►  juin (4)
    • ►  février (1)
  • ►  2011 (9)
    • ►  novembre (1)
    • ►  juillet (1)
    • ►  juin (1)
    • ►  mai (2)
    • ►  avril (1)
    • ►  janvier (3)
  • ►  2010 (10)
    • ►  décembre (1)
    • ►  novembre (1)
    • ►  octobre (2)
    • ►  septembre (1)
    • ►  juillet (1)
    • ►  mai (1)
    • ►  avril (3)
  • ►  2009 (8)
    • ►  décembre (1)
    • ►  octobre (1)
    • ►  mai (1)
    • ►  février (2)
    • ►  janvier (3)
  • ►  2008 (7)
    • ►  juin (1)
    • ►  mai (2)
    • ►  mars (1)
    • ►  février (2)
    • ►  janvier (1)
  • ►  2007 (4)
    • ►  décembre (3)
    • ►  novembre (1)

Qui êtes-vous ?

Ma photo
uluru
Afficher mon profil complet