Cerca con Google

Translate

6 febbraio 2013

Nuova versione App Inventor (v133 - 04-02-2013)


Finalmente è stata rilasciata un ulteriore nuova versione di MIT App Inventor,
siamo giunti alla versione v133 (potete controllare guardando in basso a destra nel design editor la voce è:  Built: February 4 2013 Version: v133)

Quello che interessa a noi ovviamente è andare a scoprire le novità introdotte, non perdiamo altro tempo e guardiamo il changelog completo:


Version 133, February 5, 2013

  • E' necessario aggiornare la propria copia di MIT AICompanion per questa versione, cercate nel play store la versione 2.05 (che è quella compatibile con la v133 di AI)
  • Aggiornato il componente "Texting". La proprietà "ReceivingEnabled" non è più boolean (due valori) ma ha dei valori numerici: 1 = ricezione disabilitata. 2 = ricezione abilitata solo se l'app è in primo piano. 3 = ricezione abilitata anche con l'app è in background (in tal caso alla ricezione di un sms viene visualizzata una notifica). Quindi 1 è equivalente al vecchio valore "false" e 3 è l'equivalente del vecchio valore "true", mentre 2 è la nuova opzione che emula il comportamente del componente texting prima della versione v129 dove il componente funzionava solo se l'app era in primo piano
  • Nuovo comportamento alla pressione di un pulsante. Se un immagine viene utilizzata come sfondo per il pulsante, cambierà colore (più chiaro) alla pressione in modo da dare all'utente il feedback visivo che il pulsante è stato premuto
  • Disabilita Horizontal/Vertical e la proprietà "alignment" per gli HorizontalArrangement e Vertical Arrangement nel designed editor quando la "width/lenght" è impostata su automatico. Disabilità Vertical Alignment per lo Screen se la proprietà "scollable" è settata a vera
  • Aggiunto il controllo in "ShowChooseDialog" e "ShowTextDialog" nel notifier di un metodo che include un pulsante "cancel" basato su un parametro che indica se il notifier può essere cancellabile o meno
  • Incorporato il sistema "Bugsense" per riportare i bug direttamente al MIT
  • Bugfix vari ed eventuali.
Che dire, di carne al fuoco a mio parere ce n'è molta, per prima cosa vediamo che finalmente il "companion" wireless di AI è ora inserito anche nella versione ufficiale.

Questo è molto comodo per connettere il cellulare tramite wireless adb al blocks editor, trovate un semplice video su come si fa a questo link:

Poi veniamo alle due modifiche più succulente:
1 - Il componente "Texting" (quello che interagisce con la parte SMS del telefono), ora può funzionare anche in background!
Come si utilizza? il componente ha ora le seguenti proprietà:

Se Receiving Enabled è settato su:
- Off : Nessun interazione alla ricezione di un SMS
- Foreground: Interazione con l'applicazione solo se l'SMS viene ricevuto mentre l'app è in primo piano
- Always: Interazione con l'applicazione anche con app in background, all'arrivo di un SMS viene visualizzata una notifica, se l'utente "tappa" sulla notifica questa viene riportata in primo piano (si riattiva l'applicazione in pratica)
Quindi questo componente diventa di fatto l'unico che ad oggi ci permette di avere le nostre app "in ascolto" anche quando vengono chiuse, le potenzialità sono molte (pensate ad esempio ad un app che legge in automatico gli SMS quando vi arrivano e voi siete in auto ad esempio...)

2 - I pulsanti che abbiano un background image (come avevamo visto nel tutorial 15 per i pulsanti con grafica) ora automaticamente cambieranno il loro colore con una tinta un pò più chiara quando vengono premuti.
Questo ci semplifica decisamente la gestione dei pulsanti "grafici", non dovendo più usare due immagini distinte e un clock per simulare appunto l'effetto di pressione del pulsante!
Nell'esempio sottostante, il pulsante di sinistra è nello stato normale, quello di destra nello stato premuto:


Una piccola novità grafica che sicuramente potrà piacere!

3 - I vari arrangment e la loro proprietà "alignment" vengono automaticamente disabilitati quando non hanno senso di funzionare...
Vediamo con questo esempio
Ho un HorizontalArrangement, visto che l'altezza è settata in Automatic, allora non potrò usare la proprietà AlignVertical, infatti il componente avrà sempre altezza automatica in base al contenuto dell'HA.
Appena la metto in Fill Parent allora posso anche scegliere un AlignVertical (top center o bottom)
Questa nuova feature ci aiuta a districarci un pò meglio con le opzioni di allineamento degli elementi che abbiamo in AI.

4 - Il componente "notifier", da blocks editor ora possiamo decidere se ci sia o meno un pulsante "cancel" per chiudere la finestra di dialogo, il suo uso è molto semplice:


Come vedete, se metto un boolean "true" sul parametro "cancelable" la finestra avrà un terzo bottone standard chiamato appunto "cancel"
Questa mi sembra una modifica di poco conto e sopratutto non molto ben implementata, potevano realizzarla nel design editor e poi il testo "Cancel" non è personalizzabile quindi per un app localizzata in Italiano ad esempio non è molto adatta...

Il resto sono i soliti bugfix e miglioramenti alla stabilità vari.
Fatemi sapere cosa ne pensate di queste nuove modifiche e se avete intenzione di usarle!

Ci sentiamo presto per altri tutorial :)
Buon App Inventing!!!






14 commenti:

  1. L'ho usato poco ma forse il bug dei blocchi che sparivano dal block editor cambiando schermata pare sia scomparso... o almeno lo spero!

    RispondiElimina
  2. quello dell'sms finalmente diventa utile anche perche puo fare operazioni anche se non è in primo piano

    RispondiElimina
  3. Ho notato che dopo 10 secondi di utilizzo la schermata principale non comunica piu con il blockeditor. Come se all' improvviso non comunichi piu col server ed in alto viene visualizzata la scritta " Server error: could not build target. Please try again later" questo accade anche quando si cerca di package l'applicazione in file apk
    Prima dell' aggiornamento funzionava tutto bene, ho provato anche a cambiare versione java ed a reinstallare windows, ma nulla.
    Qualche consiglio utile ?

    RispondiElimina
  4. Quell'errore sta solo ad indicare che il server è pieno (ci sono troppi utenti), questo capitava anche prima dell'aggiornamento v133, quindi non ci sono problemi. Domani mattina, che il server sarà più leggero, si potrà realizzare l'apk, oppure riprova sempre finchè non riesci ad agganciarti al server.

    ciau

    RispondiElimina
  5. Ciao Sebastian...Approfitto di questo post per ingraziarti per il bellissimo ed utile lavoro che stai svolgendo...Volevo chiederti un consiglio...Vorrei comprendere bene tutte le funzioni di App Inventor partendo da un'antologia che spieghi passo per passo tutte le funzioni e che quindi fornisca tutti gli strumenti per poter creare molteplici App di una certa qualità. Che mi consiglieresti?Ovviamente i tuoi tutorial sono utilissimi ma per poter essere "autonomi" bisogna partire dalle base...solo imparando le operazioni si potrà arrivare a risolvere integrali tripli...Ad esempio mi stavo chiedendo come trasformare l'accesso di un sito con username e password in uno screen con due text (user e pass) ed un tasto invio...Grazie ancora. Un caro saluto. Domenico

    RispondiElimina
    Risposte
    1. Ciao Domenico, purtroppo un qualcosa come dici tu non mi risulta esista.
      Si può (e forse si deve) partire dai tutorial e dalla documentazione ufficiale messa a disposizione dal team App Inventor (http://beta.appinventor.mit.edu/learn/reference/) dove trovi elencati tutti i blocchi e la loro sintassi.
      Per capire invece come si usano con esempi concreti bisogna fare affidamento a quel che si trova in internet, il mio blog può essere una buona base così come anche il forum.
      Credo sia forse più utile prima avere un'idea su cosa si vuole realizzare e poi studiare come realizzarla con AI, comprendere "tutto" AI penso sia un impresa abbastanza titanica ed impegnativa

      Elimina
  6. a voi funziona lo schiarimento del button con altra immagine se pigiato? a me no? Forse è il formato? (png)

    RispondiElimina
    Risposte
    1. si, mi funziona, l'immagine che ho messo nel post è proprio fatta al volo facendo un tentativo e partendo dal "vecchio" tutorial 15, e si, le immagini che uso io sono png...

      Elimina
  7. A me continua a non piacere questo schiarimento del bottone, penso che rendeva di più giocare con le immagini. Infatti ero riuscito a dare un effetto 3d ai bottoni: quando li schiacciavi questi rientravano, ora invece ho dovuto cambiare tutto per un semplice schiarimento non facoltativo. Mha.

    RispondiElimina
  8. Ciao Sebastiano.
    Volevo chiederti se sia possibile scrollare un vertical arrangiament.
    Vorrei creare una app che abbia una label o un immagine nella parte alta dello screen, mentre nella parte bassa una serie di button che possano essere scrollati lasciando la mia label o immagine sempre in primo piano nella parte alta.
    grazie!

    RispondiElimina
    Risposte
    1. Ciao Lorenzo,
      anche a me interessa questo tipo di opzione, hai novita'? trovato qualcosa?

      Elimina
    2. In AI ufficiale non esiste questa opzione, se non sbaglio c'è nella versione a pagamento di Jose
      http://sevenandroid.com/appinventor/

      Elimina
  9. Un grazie in anticipo per il lavoro che fai. Per me è il blog italiano di riferimento per App Inventor.
    Vorrei vedere sul telefono un file che sta nella memoria di un Galaxy Nexus (/sdcard/storage/elefante.3gp), ma questo è quello che succede:
    1)VideoPlayer: se setto VidePlayer.Source e VideoPlayer.Start su uno stesso bottone il video non parte, se li metto su due bottoni diversi e prima eseguo quello relativo a Source e poi quello relativo a Start funziona.
    2)Player: non capisco proprio come funziona con i video essendo un componente nascosto. Player.Source e Player.Start su uno stesso bottone funziona, ma sento solo l'audio.
    Hai qualche suggerimento/idea?

    Ciao,
    Luca

    RispondiElimina
    Risposte
    1. Grazie dei complimenti,provo a risponderti:
      1-Prova a mettere il VideoPlayer.source magari in screen1.initialize e poi il bottone play richiama solo il metodo VideoPlayer.Start
      Insomma, secondo me ti conviene impostare il VideoPlayer.source in un evento precedente, volendo lo puoi anche settare da design editor
      2-Il componente Player può essere usato anche con i video ma fa ascoltare solo la parte audio del video stesso, se vuoi anche vedere il video l'unico componente da usare è VideoPlayer
      spero di esserti stato d'aiuto, ciao

      Elimina