Arxiu de l'autor: Joan Soler-Adillon

Multiusuari

Un exemple senzill d’APP multiusuari. Carregueu xatBasic.zip a APP Inventor i instal·leu-lo a dues tauletes o telèfons diferents per veure com establir comunicació entre dispositius.

Mitjançant el component TinyWebDB es pot enviar i rebre informació a una base de dades per tal de recuperar-la des d’una altra APP i, així, estrablir connexió entre diferents usuaris.

El codi és molt senzill. Per una banda, es guarda allò que ha escrit l’usuari (en la imatge, l’usuari 1). De l’altra, es llegeix el que ha escrit l’altre (usuari 2).

xat

En aquest cas, per evitar estar constantment tocant un botó per llegir el que ha escrit l’altre usuari, s’ha implementat un temporitzador que va demanant el resultat del que ha s’ha entrat a la base de dades.

Duplicar pantalles

Per tal de duplicar pantalles amb APP Inventor cal seguir els passos següents:

Nota: El mateix procés serveix per ajuntar diferents projectes. Només caldrà tenir en compte ajuntar també els arxius de les carpetes assets si aquestes formen part d’aquest.

1.- Baixar l’App on volem fer el duplicat, mitjançant la llista de “My Projects”. Cal seleccionar el projecte que volem baixar i fer servir la opció More actions –> Download Source

un

 

2.- Descomprimir l’arxiu a una carpeta local.

3.- Navegar a la carpeta src –> appintentor –> ai_[nom d'usuari] –> [nom del projecte]

4.- Duplicar, mitjançant l’acció copiar/enganxar, els arxius d’extensió .blk i .scm corresponents a la pantalla que volem tenir dues vegades. Ambdós arxius es diran igual que la pantalla, amb l’extensió corresponent.

5.- Canviar el nom dels arxius al que volem que tingui la pantalla nova.

6.- Tornar a comprimir els arxius en un .zip i anomenar-lo tal com volem que s’anomeni el nou projecte. ATENCIÓ: L’arxiu ZIP ha de tenir com a primer nivell les carpetes src, youngandriodproject i, si hem pujat arxius multimèdia, també la carpeta assets.

Untitled-2

 

És a dir, cal comprimir directament aquestes carpetes. No una carpeta amb el nom del projecte que les contingui. Si no es fa així, APP Inventor no reconeixerà l’arxiu com a projecte.

7.- Pujar l’arxiu a APP Inventor mitjançant el menú More actions –> Upload Source que trobarem a My Projects.

8.- Obrir el nou projecte. Si tot ha anat bé, hi trobarem dues pantalles idèntiques amb noms diferents.

Tutorial: Treball amb múltiples pantalles (+ Drag & Drop)

[Us podeu descarregar aquí l'App d'exemple que conté també l'exemple de Drag & Drop: Drag_and_Drop_3pantalles]

Treballar amb múltiples pantalles amb APP Inventor és molt senzill, però cal tenir en compte el següent:

  • Cada pantalla tindrà els seus propis components i el seu propi Blocks Editor
  • Crear, esborrar i navegar entre pantalles es fa mitjançant la pàgina de Disseny.
  • No podem canviar el nom de la primera pantalla (de les altres sí) però sí el text que apareix a dalt de tot de l’App a la tauleta o telèfon, al camp TITTLE de les propietats de la pantalla.
  • Podem esborrar totes les pantalles excepte la primera.
  • Quan treballem amb varies pantalles a l’APP Inventor, quan canviem de pantalla mitjançant la part de disseny hem d’esperar que el Blocks Editors carregui els blocs corresponents a la pantalla que hem seleccionat abans de tocar res. Si no ho fem, es poden produir errors irreversibles amb els blocs.
  • Ni amb l’emulador ni amb el telèfon o tauleta es pot provar el canvi de pantalles en la connexió a temps real. Caldrà sempre finalitzar l’APP i passar-la al telèfon o emulador per a provar-ho.

Crear pantalles:

A la interfície de disseny, cal clicar ADD SCREEN. Un cop tinguem varies pantalles, ens apareixeran a la dreta de Screen1 per a poder navegar entre elles durant la creació de l’App.

AI_Multiples_Pantalles_01

Duplicar pantalles:

A vegades ens podem trobar amb la necessitat de duplicar una pantalla (per crear-ne una altra de molt semblant dins la mateixa APP, per exemple).

App inventor no contempla aquesta possibilitat, però hi ha una manera de fer-ho:

  1. Baixar el projecte en format ZIP (des de my projects: More options/Upload Source amb l’App que voleu baixar seleccionada)
  2. Descomprimir-lo
  3. Navegar a src/appinventor/ai_[el_vostre_nom]/[nom de l’APP]
  4. Duplicar els arxius .blk i .smc i canviar-los el nom (el mateix a tots dos)
  5. Tornar a comprimir els arxiu en un ZIP, de nom diferent al que heu baixat, i pujar-lo a APP Inventor (des de my projects: More options/Upload Source)
  6. Si l’obriu, haurien d’aparèixer dues pantalles idèntiques amb el nom original i el que heu posat vosaltres

Font: https://groups.google.com/forum/?fromgroups=#!topic/programming-with-app-inventor/b9neMJXBJ2A [obriu el primer missatge]

 

Navegació entre pantalles dins l’App:

Per fer la navegació entre pantalla en codi, és a dir, dins l’APP finalitzada, heu d’utilitzar el bloc open another screen que trobareu a l’apartat de blocs Built-in/Control.

Aquesta acció de crida l’haureu de posar en el context necessari. A la imatge, dins l’esdeveniment Click d’un botó anomenat Football.

Finalment, la pantalla on voleu navegar no us apareixerà com a component al menú de blocs, sinó que haureu de fer servir un bloc de text i escriure el nom exacte de la pantalla a la que voleu navegar.

AI_Multiples_Pantalles_02

A l’aplicació Drag_and_DropV5_3pantalles.zip [a l’aula global], ho podeu veure.

Recordeu que això només es pot provar un cop l’APP s’ha finalitzat i passat al telèfon, tauleta o emulador.