Cerca con Google

Translate

12 settembre 2012

Nuova versione App Inventor (v129 - 11-09-2012)


Dopo essere tornati tutti dalle vacanze, il team del MIT ci fa una bella sorpresa rilasciando una nuova versione di App Inventor,
per la precisione la nuova build è la :

Built: September 11 2012 Version: v129

Vediamone insieme tutte le novità:

  • Supporto per il ridimensionamento ed il full screen nei video.
    E' ora possibile riscalare il componente "Video Player" da blocks editor, dalle versioni Android 2 e successive potete impostare il Video Player in full screen, il tasto back del telefono riporterà il componente alla sua dimensione originale
  • Gli "Horizontal e Vertical Arrangements" possono ora allineare il loro contenuto!
    Anche lo Screen ha questa proprietà, si può scegliere di allineare a Sinistra, Destra, Centro, Alto o Basso il contenuto degli Arrangements.
    Questo settaggio non ha nessun effetto se il size dell'arrangement è impostato su "automatic", e l'impostazione di allineamento verticale non ha effetto se lo "screen" è impostato su "scrollable"
  • Migliorie per "Canvas" e "Sprite". Creati nuovi eventi "Flung" , "TouchUp" e "TouchDown".
    Quando l'utente tocca uno sprite e fa uno "swipe" in una direzione, l'evento "Flung" viene generato con le informazioni sulla direzione e la velocità dello swipe stesso. Questo evento può essere utilizzato per determinare la direzione e la velocità a cui muovere lo Sprite. Anche il Canvas può creare un evento "Flung" così l'utente può leggere questo evento e programmare le azioni da fare di conseguenza
    In ultimo quando un utente poggia il dito su uno sprite l'evento "TouchDown" è generato, quando solleva il dito l'evento "TouchUp" è generato, questi nuovi eventi sono in più rispetto all'esistente "Touched" che rimane sempre valido.
  • Aggiunte nuove impostazioni per la screen orientation
    User (lascia l'utente scegliere l'orientamento)
    Sensor (ruota automaticamente quando il telefono ruota)
  • Bug fix vari
Se volete qui trovate le release note dal sito ufficiale (release notes in inglese)

Ora al solito i miei commenti:
1) Full screen nei video, potrebbe essere interessante ma reputo AI poco adatto alla gestione dei video e non ci ho mai lavorato tanto, ma magari a qualcuno può interessare
2) Allineamenti!!!!! Finalmente possiamo allineare i nostri button, textbox, label, etc... con molta facilità!
questa era una cosa che aspettavamo da tempo, per centrare il famoso pulsante in centro allo schermo non dovremmo più impazzire con delle finte label vuote ma usare direttamente queste nuove properties,
Guardate questo esempio per capire meglio, ho allineato due pulsanti orizontalmente in centro allo schermo, basta mettere un horizontal arrangement con dimensione "fill parent" e poi scegliere l'alignhorizontal "center" e il gioco è fatto!


sarà così finalmente possibile creare interfacce ancora più curate con semplicità! era ora!!! :)
3) Evento "Flung"
molto interessante, in pratica mi sembra di capire che possiamo ora realizzare qualcosa del tipo swipe a destra o sinistra, non ho ancora provato a vedere bene come funziona, mi spaventa un pò il fatto che funzioni solo sui Canvas e sugli Sprite, sarebbe bello averlo anche ad esempio negli "Arrangement" così nell'esempio dell'allineamento di qua sopra si potrebbero programmare le azioni per passare da una schermata all'altra usando lo swipe (oltre che eventualmente premendo i pulsanti)
Proverò a sperimentare un pò sperando di capire un pò meglio il tutto e di trovarne un applicazione pratica

Che dire, il team MIT sembra sempre al lavoro ed ogni mese circa abbiamo qualche piccola ma utile funzione in più!
E voi, che ne pensate? venite nel forum per dire la vostra! :)

14 commenti:

  1. sei un grande pensa nellapp che sto facendo ho distanziato i pulsanti con img forse adesso posso fare di meglio. bravo e bravi.

    RispondiElimina
    Risposte
    1. sapevo che queste nuove modifiche sarebbero state utili a qualcuno! buon lavoro! :)

      Elimina
  2. caro Sebastiano sono veramente 'nuova' per App Inventor..non ho ancora capito come a collegare uno screen ad un altro. ho seguito il tuo vecchio tutorial e l'ho sperimentato, ma mi sembra di capire che con le nuova versione si possano collegare piu' screen..e' vero? Come?Poi non riesco a capire se sulle canvas del tuo tutorial si possono sovrappore pulsani e scritte, se non e' cosi' allora non e' possibile inserire sfondi diversi nei vari 'screen' simulati. Mi sbaglio? Spero tu abbia tempo per rispondermi, non so se sono stata chiara, ma sono una veterinaria' curiosa' di informatica e non un programmatore. Ti faccio i complimenti per la chiarezza dei tuoi tutorial..sei un grande!

    RispondiElimina
    Risposte
    1. Per il multiscreen guarda i tutorial più recenti con cui è molto più semplice creare app multiscreen
      Ho messo dei canvas come esempio veloce, sui canvas non puoi mettere pulsanti ma se ti servono è meglio usare un immaginecome sfondo , backgroun . Così è poi più semplice aggiungere pulsanti e label
      Se vuoi iscriviti anche al forum dove ti possiamo aiutare con esempi pratici
      Complimenti per la tua professione! Anche se alla mia cagnolina la categoria le mette un pò di terrore ;)

      Elimina
  3. Ciao Seb! Grazie ai tuoi tutorial ho realizzato una semplicissima app che ha riscosso un discreto successo,niente di che,ma sono riuscito a stupire hihihihi.
    Sto alle prese con un nuovo progetto, multiscreen.
    Stavolta pero' invece che passare da uno screen a l altro tramite un button, mi piacerebbe farlo scrollando verso destra e a sinistra delloscreen ,e possibile?
    Ps.come faccio a registrarmi al blog?
    Ciao seb! Grazie ;-)

    RispondiElimina
    Risposte
    1. Piacerebbe anche a me ci fosse una possibilità simile, purtroppo da quel che ho capito funziona solo con i canvas e con gli sprite, però quando si mette un canvas poi sopra ci possiamo mettere solo degli sprite, quindi lavorare poi coi classici button,textlabel,etc... diventa difficoltoso.
      Al massimo una soluzione (non molto elegante a dire il vero) potrebbe essere quella di mettere una "fascia" fatta con un canvas sopra o sotto lo schermo dove se l'utente effettua uno swipe passiamo da una schermata all'altra.
      Non è il massimo come soluzione (perchè non rileva lo swipe su tutta l'area dello schermo ma solo una zona specifica) ma forse meglio di nulla ad oggi...
      Registrati sul forum se non lo hai ancora fatto, puoi usare il tuo account google,fb o farne uno solo per questo forum, ti aspetto! :)

      Elimina
  4. Grazie Seb,
    peccato pero', da google mi aspetto qualcosa di molto meglio, anche graficamente le app risultano spartane, troppo semplici,sono sicuro che migliorera' il progetto app inventor, ci vorrebbe una bella svolta.
    Vado a spulciarmi un po il forum,
    ciao Seb!

    RispondiElimina
    Risposte
    1. Innanzitutto è più di un anno che il progetto è passato in mano al MIT, quindi Google non lo supporta più direttamente
      Per quanto riguarda la tua osservazione in parte concordo, è che AI nasce primariamente come tool didattico quindi diciamo che l'aspetto estetico delle app non è una delle loro priorità.
      Ad ogni modo alcuni utenti sul forum han dimostrato come con voglia e capacità si possano creare app più che discrete sotto tutti i punti di vista anche con AI.
      Io confido sempre in ogni nuova versione nell'aggiunta di nuove funzioni e migliorie, speriamo implementino il tema "holo" al più presto così almeno le app avranno un look adeguato per ICS o JB:)

      Elimina
  5. Io non riesco a capire perche' non ci sia la gestione di un database, anche semplice, in locale. Se ci fosse questa opzione sarebbe perfetto anche perche' non ho mai amato la dipendenza dalla rete (fusion tables e simili) e anche perche' non sta scritto da nessuna parte che la rete ci debba essere sempre e per forza, ad esempio mare aperto, montagna, grotta, deserto etc etc

    RispondiElimina
    Risposte
    1. Ciao Gianluca,ti do ragione e ti posso dire che utilizzatori di AI han provato a far leggere i dati per la loro app in locale tramite il componente web e memorizzando i dati sulla sd,non è però un database ma forse per alcune situazioni è già una buona soluzione, se ti interessa ti posso passare i link a questi progetti (in inglese) fammi sapere ciao

      Elimina
    2. qui trovi un esempio http://puravidaapps.com/importCSV.php dove importa un file memorizzato nella SD locale e lo carica come TinyDb,
      sempre sullo stesso sito trovi altri tutorial interessanti, buona lettura!

      Elimina
  6. Buon giorno a tutti.
    Seba io sto impazzendo con un'app simile a quella sui mondiali di calcio, semplicemente perchè la splash screen è impostata in portrait (mi serve così) e ho ficcato una serie di sprite quali buttons. Fin qui tutto bene ma, quando vado nello screen simile a quello dei risultati di calcio ho il seguente problema: se da solo giro il cellulare prima che compaiano le griglie, tutto ok. Ma se, da buon utente che non sa cosa lo aspetti, tengo il cellulare in verticale, tutto lo screen, le griglie, le label, gli spinner e quant'altro diventano delle cacchette di mosca. Le griglie poi, posso ridimensionarle con le dita sullo schermo, ma il resto rimane inguardabile!!!!
    Ora da come la vedo io ho solo due strade... ma accetto tutta la carità che viene: o c'è un modo per capire come viene tenuto orientato il telefono dall'utente e con un notifier invito l'utente a girare il cellulare prima di aprire il nuovo screen e chiudere la splash, oppure faccio il segno della croce e spero che l'utente esca e rientri e ci riprovi. Delle due, la prima proprio non so come affrontarla: c'è un modo per capire se il dispositivo è tenuto in mano in portrait o in landscape?Ho provato con l'orientation sensor ma non sono arrivato a niente di concreto.
    Carità?? :)

    RispondiElimina
    Risposte
    1. Puoi controllare le proprietà di screen1 width e height, ed in base a questo (in base a quale delle due ha valore più grande) capisci se lo schermo è ruotato o meno,
      sempre da screen1 puoi impostare a mano l'orientamento dello schermo e quindi metterlo in landscape quando il tuo utente va sullo screen con la tabella
      spero di esserti stato d'aiuto, ciao!

      Elimina