File non Memorizzato in TinyDB

Buongiorno a tutti, sto iniziando a realizzare un app, dove nello screen 1 (screen di partenza) ho alcuni bottoni e una casella di testo, all'avio fa il controllo della presenza di database per abilitare o disabilitare alcuni bottoni.
Quando provo a creare un database, scrivendo un nome nella casella di testo ( CasellaTesto_NomeFile) e premo "OK" sembra che vada a buon fine,


ma se chiudo l'applicazione e la riapro non trova nessun file salvato:

Non capisco cosa stia sbagliando...elenco di seguito i blocchi:



Spero si riesca a vedere tutto:

Grazie
Guido

Hello Guido

  1. You are not storing the file in TinyDB, just the link to the file.
  2. The file must be stored in the App's ASD folder (App Specific Directory)

Ma sul TAG ho inserito la variabile global con il nome del file preso dalla casella di testo e come valore...quindi i dati da memorizzare il nome e un percorso...ma il database è salvato come salvataggio con percorso predefinito da TinyDB...

It seems to be TinyDB name space issue. I think somewhere you are enableing or disabling namespace, I cannot read properly the block but because they are not in English.

If you want to store the contents of the file, you will need to read the file into a string and save the string.

Apps have minimal access to files outside of their own memory allocation. This is a Google Security measure. You can read more about where your files can and can't be here:

@Gui file name - NomeFile is empty. Which you are referring as tag to retrieve data from tinyDB.

Guido, non è chiaro cosa vuoi salvare nel tinydb, perché usi make list ? Se hai già un file di testo perché lo vuoi salvare sul db ?

Perché lo devo usare su altri screen...
Più avanti dovrò creare un file con quel nome per salvare immagini..

Dovrei aver risolto...si ..in effetti sbagliavo a scrivere il database e a farlo leggere, in apertura non poteva sapere come si chiamava il file.. :smirk:


Ora...quello che non capisco che se avvio tramite Companion su un cellulare sul percorso:
Archivio> memoria dispositivo > Android > Data > edu.mit.appinventor.aicompanion3 > file > storage > emulated > 0 > Picture
Trovo il file creato

Mentre se lancio tramite un tablet non ho gli stessi percorsi:
Archivio condiviso interno > Android > data > edu.mit.appinventor.aicompanion3 > file > appinventor > assets

e dopo edu.mit.appinventor.aicompanion3 in nessuna cartella trovo il file salvato, anche se effettuo una ricerca.
:thinking:

See here: Some basics on Android storage system

1 Like

Ma quello che non capisco è perché non trovo il file salvato sotto la cartella "assets"...

assets is read only, you can not save file there in runtime.

Se è di sola lettura può scriverla solo al app ... presumo..

The assets are only not writable with the compiled app (APK/AAB), but you can write to the assets with Companion (because it is redirected to the ASK for testing purposes). So the assets are stored in the external storage with Companion and with the APK/AAB they are stored in the internal storage.

Ok...penso d'aver capito...grazie :pray: