- Aflați cum să stocați date pe un dispozitiv mobil pentru a le accesa dintr-o aplicație mobilă
- Aflați despre diferitele opțiuni de stocare și accesare a datelor în cloud pentru a partaja date între utilizatorii aplicației
Acestea sunt activitățile pentru această lecție:
STOCAREA DATELOR PE TERMEN LUNG
În unitatea anterioară, ați învățat cum să utilizați variabile și liste pentru a stoca informații în aplicația voastră.
Atunci când aplicația este închisă, toate variabilele stocate în memoria aplicației sunt șterse.
Cu toate acestea, există momente în care este posibil să doriți să păstrați informații între rulările aplicației. Există două tipuri de stocare pe termen lung:
Stocare locală
Stocați informații pe dispozitivul mobil pentru a fi recuperate de fiecare dată când aplicația rulează.
De exemplu, o adresă de utilizator sau un scor mare într-un joc.
Stocare în cloud
Stocați informațiile pe web (cloud), astfel încât toți utilizatorii aplicației să poată accesa informațiile.
De exemplu, clasamentul unui joc sau mesajele de chat.
STOCARE LOCALĂ
Odată ce utilizatorul închide o aplicație, valorile tuturor variabilelor sunt șterse din memoria dispozitivului.
Dacă doriți să stocați date pentru aplicație între execuțiile acesteia, veți utiliza componenta TinyDB
TinyDB poate fi utilizată pentru a stoca informațiile personale ale unui utilizator care nu trebuie să fie partajate.
De exemplu, utilizatorul dorește să își introducă numele, vârsta, adresa o singură dată, nu de fiecare dată când utilizează aplicația. Un alt exemplu este urmărirea unor lucruri precum obiceiurile sănătoase de-a lungul timpului.
TinyDB vine de la Tiny Database (trad. ”bază de date micuță”). O bază de date este o colecție organizată de date. Ca programator, decizi cum este organizată.
TinyDB poate fi găsită în secțiunea Storage din Designer.
TinyDB este o componentă non-vizibilă, deci nu o veți vedea apărând pe ecran atunci când o adăugați la proiectul vostru.
Pentru a accesa datele din TinyDB, dați fiecărui element de date o etichetă (tag), la fel cum dați nume variabilelor. Stocați și obțineți valoarea etichetei la fel cum setați și obțineți valorile variabilelor. Acest lucru este cunoscut drept pereche etichetă-valoare (tag-value).
TinyDB.StoreValue stochează noua valoare în TinyDB. Trebuie să specificați eticheta (tag) și valoarea de stocat (valueToStore).
TinyDB.GetValue obține valoarea curentă.
valueIfTagNotThere este necesară în cazul în care nu a fost stocat nimic anterior cu eticheta respectivă.
STOCAREA ÎN CLOUD
Stocarea în cloud permite oricărui utilizator al aplicației să acceseze și să partajeze date.
App Inventor are trei opțiuni viabile de stocare în cloud.
CloudDB este o componentă și un serviciu de baze de date furnizat de MIT App Inventor.
CloudDB funcționează la fel ca TinyDB. Stocați și accesați date utilizând perechi etichetă-valoare (tag-value).
CloudDB este accesat din secțiunea Storage. Este o componentă non-vizibilă, deci nu va apărea pe Ecran atunci când o adăugați.

Stocarea datelor funcționează la fel ca la TinyDB.
StoreValue stochează noua valoare în CloudDB. Trebuie să specificați eticheta (tag) și valoarea de stocat (valueToStore).
Puteți stoca diferite tipuri de date. De exemplu, în aceste blocuri, highScore este un număr. chat este o listă de mesaje.

Obținerea datelor funcționează similar cu TinyDB, dar cu un pas suplimentar. Deoarece baza de date este în cloud, aplicația trebuie să solicite obținerea valorii și să aștepte un răspuns. Prin urmare, este necesar un bloc de tratare a evenimentelor pentru a semnala momentul în care baza de date răspunde cu datele.
GetValue notifică baza de date că aplicația dorește informații. valueIfTagNotThere ar trebui să fie tipul corect de date pentru etichetă. De exemplu, un număr sau o listă.
GotValue este declanșat odată ce baza de date răspunde cu informațiile. Dacă aveți mai multe etichete (tags) într-o aplicație, aveți nevoie de un bloc ”if” pentru a verifica eticheta corectă înainte de a utiliza valoarea (value).


Obținerea datelor funcționează similar cu TinyDB, dar cu un pas suplimentar. Deoarece baza de date este în cloud, aplicația trebuie să solicite obținerea valorii și să aștepte un răspuns. Prin urmare, este necesar un bloc de tratare a evenimentelor pentru a semnala momentul în care baza de date răspunde cu datele.
GetValue notifică baza de date că aplicația dorește informații. valueIfTagNotThere ar trebui să fie tipul corect de date pentru etichetă. De exemplu, un număr sau o listă.
GotValue este declanșat odată ce baza de date răspunde cu informațiile. Dacă aveți mai multe etichete (tags) într-o aplicație, aveți nevoie de un bloc ”if” pentru a verifica eticheta corectă înainte de a utiliza valoarea (value).

Componenta Spreadsheet (Foaie de calcul) vă permite să citiți și să scrieți dintr-o foaie Google Sheet. Va trebui să creați un cont Google Developer și să urmați câțiva pași pentru a vă conecta aplicația la document.
Componenta Spreadsheet este disponibilă în secțiunea Storage. Este o componentă non-vizibilă, deci nu va apărea pe Ecran atunci când o adăugați la aplicația voastră.
Există multe blocuri disponibile pentru a permite aplicației să citească și să scrie celule, rânduri și coloane în foaia voastră de calcul. Este o opțiune bună dacă aveți date de tabel pe care doriți să le accesați din aplicația voastră. De asemenea, puteți vizualiza și edita datele în Google Sheets, ceea ce este util, în special atunci când vă testați aplicația.

Sfat pentru mentori
Cele mai bune practici: Stocați întotdeauna o copie de rezervă a datelor dvs. undeva! Este foarte ușor să ștergeți sau să vă modificați accidental datele, așa că asigurați-vă că păstrați o copie suplimentară într-un loc sigur!
În App Inventor învățați termenul de pereche Tag-Value, care este utilizat foarte des în codificarea din viața reală, deși noi îi spunem pereche Key-Value! Acum știți ce termeni folosesc experții!
Întrebări orientative pentru elevi: Unde credeți că sunt stocate datele din cloud? Le încărcați pe un site web precum google, youtube, tiktok etc., dar unde sunt stocate după aceea? Unde este cloud-ul? Companii precum Google au clădiri ENORME cu calculatoare doar pentru a stoca date în cloud. Așa că gluma este: "Nu este stocat în cloud, ci doar în computerul altcuiva". Stocarea datelor la Amazon:
Sfaturile mentorilor sunt oferite cu sprijinul AmeriCorps.
ACTIVITATE: STOCAȚI SCORURILE UNUI JOC
Actualizați jocul Quick Quiz pentru a stoca scoruri mari
- Deschideți proiectul de început în App Inventor Gallery.
Linkul din videoclip este incorect! Linkul către proiectul de început este https://bit.ly/appinventor-quick-quiz - Încărcați-l în App Inventor pentru a vă putea edita propria copie.
- Urmați videoclipul de mai jos pentru a lega o foaie de calcul Google Sheet la aplicația voastră pentru a stoca și actualiza scorurile mari ale jucătorilor.
PROVOCARE
Acum că ați codat jocul Quick Quiz pentru a citi, scrie și actualiza scorurile personale, puteți:
- Să citiți scorurile mari ale tuturor jucătorilor și să găsiți cel mai mare scor dintre toți jucătorii
- Să raportați aceste informații utilizatorului
- prin utilizarea unei etichete (label)
- sau prin adăugarea la mesajul de alertă (Alert message)
REFLECȚIE
Dacă aveți de gând să stocați date pentru aplicația voastră, veți avea nevoie de informațiile învățate în această lecție. Pe măsură ce începeți să codați propria aplicație pentru proiectul vostru, gândiți-vă la aceste întrebări.
în aplicație,
pe dispozitivul mobil al utilizatorului,
sau în cloud pentru partajare?
REVIZUIREA TERMENILOR CHEIE
- Bază de date - o colecție organizată de informații
- Stocarea în cloud - informații care sunt stocate pe web, astfel încât orice dispozitiv conectat la internet să le poate accesa
- Pereche etichetă-valoare (tag-value pair) - o modalitate de stocare și accesare a informațiilor într-o bază de date
RESURSE SUPLIMENTARE
Aici sunt mai multe documente și tutoriale pentru explorarea stocării în cloud în App Inventor.
- Creați o aplicație de chat care utilizează CloudDB
- Creați o aplicație de conectare care utilizează CloudDB
- Conectarea Firebase la App Inventor
