Schimbul de date între inventatorii aplicațiilor de pe ecrane, sunt un amator

Schimbul de date între inventatorii aplicațiilor de pe ecrane, sunt un amator
De foarte multe ori este nevoie să transferați date de pe un ecran Android la altul. Și, de exemplu, la început, această sarcină a provocat dificultăți. Ca întotdeauna, problema era că nu era clar unde să urci răspunsul. Lungat la forumul Google pe App Inventor. Deși, așa cum sa dovedit mai târziu, este ușor. Da, și în manualele App Inventor, tot ce aveți nevoie este acolo. Vreau să simplific acest mod pentru dvs. în acest articol.








Există mai multe modalități de a rezolva această problemă:
1. Folosim instrumentul standard pentru transferul de date de la un ecran la altul, și anume instrumentul "deschideți un alt ecran cu valoarea inițială" care poate fi găsit în "Control"

Schimbul de date între inventatorii aplicațiilor de pe ecrane, sunt un amator

Aici, pentru "screenName" se adaugă numele ecranului, care ar trebui să fie deschis, de exemplu:

Acest "puzzle" poate fi obținut din blocul "Text" și introduceți numele ecranului necesar.
În soclul de mai jos introduceți datele pe care trebuie să le transferăm. De exemplu, conținutul uneia dintre componentele "Etichetă".
Apoi, construim această structură în mânerul componentei de care avem nevoie, de exemplu, un buton și obțineți:

Adică, de la primul ecran la al doilea, valoarea de la "Label1" ar trebui transferată.
Acum trebuie să obținem această valoare pe al doilea ecran. Să presupunem că destinatarul datelor de pe cel de-al doilea ecran este, de asemenea, un câmp de text, numit "Label2". Pentru aceasta vom construi următoarea construcție pe al doilea ecran:

Din imagine, probabil deja este clar că atunci când faceți clic pe buton, câmpul "Label2" trebuie umplut cu ceva. Ce? Și asta sunt doar datele transferate de pe primul ecran.






Dar versiunea parsată este potrivită pentru transferul unei valori. Mult mai des trebuie să treacă câteva.
Deci, presupunem că trebuie să transferăm date din două câmpuri pentru introducerea textului "TextBox" în câmpurile de text "Label" cu numerele 1 și respectiv 2.
Pentru a rezolva această problemă, trebuie să intrăm în blocurile "Liste" și "Matematică" - "Liste" și "Matematică". Folosind blocurile necesare, construim acum o constructie ca aceasta:

Tot aici este aproape la fel ca în versiunea anterioară, dar noi numim crearea secțiunea „face o listă de“ lista (a face o listă) și lucruri în această listă valorile dorite.
Pentru a obține datele de pe cel de-al doilea ecran, vom face aproape același lucru ca și în prima versiune, cu modificări minore:

Pentru a prelua datele pe care le numim din listă. Numerele sunt numere de valori în ordinea în care au fost descărcate de pe primul ecran. Asta înseamnă că "TextBox1" a intrat prima dată în listă, deci, sub numărul "1", este extras.
După cum puteți vedea, totul este simplu.

2. Utilizați TinyDB cu același nume pentru diferite ecrane. Aceasta, în opinia mea, este o metodă non-standard pentru App Inventor. Cel puțin nu am putut găsi în tutoriale. Se compune din faptul că pentru fiecare ecran este utilizat componenta TinyDB și, în mod necesar, cu același nume.
Deci, sarcina este aproximativ aceeași - pentru a transfera valoarea din câmpul de introducere a textului de pe primul ecran în câmpul de text al celui de-al doilea prin apăsarea butonului de pe al doilea ecran.
Am plasat pe ambele ecrane pe componenta TinyDB. Numele implicit este același - "TinyDB1".
În primul ecran adăugăm din "puzzle-uri":

Schimbul de date între inventatorii aplicațiilor de pe ecrane, sunt un amator

Blocul "StoreValue", atunci când este apăsat un buton, ia o valoare din câmpul "TextBox3" și îl pune în baza de date sub numele "Valoare".
În cel de-al doilea ecran, tragem:

Ca urmare, se întâmplă următoarele: blocul „GetValue“ preia din baza de date „valoare“ și este atribuit câmpul „Label3“. Deoarece numele bazei de date este același, atunci „valoarea“ va fi la fel. Bloc de Jos specifică faptul că în cazul în care „valoarea“ în otstutstvuet DB, câmpul „Label3“ va fi setat la „Label3“ (traducere semantică. „Dacă valoarea nu este“).
Această metodă este plăcută pentru mine că, în afară de transferul datelor, aceasta oferă plasarea acestor date în baza de date a aplicației Android. Datorită acestor date se salvează când aplicația este oprită și dispozitivul însuși.
Este posibil ca aplicația App Inventor să aibă și alte modalități de a transfera date de pe un ecran în altul, dar am destul de multe dintre acestea.

Acest lucru poate fi de interes pentru dvs.:

  • Componente ale App Inventor - Stocare.
  • Prima aplicație din App Inventor. Noi facem designul.
  • Componente ale interfeței de utilizare App Inventor. Partea 1.






Trimiteți-le prietenilor: