Cerca con Google

Translate

21 novembre 2011

Tutorial 26 - Template Splash Screen e EULA


Importante, disponibile un aggiornamento di questo tutorial, trovate il nuovo articolo cliccando qua

Vediamo oggi un tutorial un pò "anomalo", nel senso che imparerete e rivedrete si l'utilizzo di alcuni componenti di App Inventor (come i Vertical Arrangement, il Clock, il TinyDB e il Notifier) ma sopratutto vi programmerete un app base (template) che vi potrà servire in futuro come partenza per la creazione di molte vostre app.

Quante volte infatti abbiamo visto delle app che ci accolgono con una spettacolare schermata di benvenuto e dopo qualche secondo ci chiedono di accettare le condizioni d'uso prima di proseguire? ... oggi potrete fare anche voi lo stesso con App Inventor!!!

Infatti andremo a realizzare un'applicazione che mostrerà per 5 secondi uno Splash Screen, dopodiché chiederà all'utente se vuole o meno accettare le nostre condizioni d'uso per l'app (anche detta "EULA", acronimo che sta per End User License Agreement).

A risposta affermativa continueremo visualizzando la nostra applicazione e permettendo l'interazione con essa; a risposta negativa chiuderemo l'app e torneremo alla home di android.

Utilizzando il componente TinyDb memorizzeremo inoltre la scelta fatta dell'utente per fare in modo che l'accettazione dell'EULA debba avvenire una sola volta.

Vi invito a scaricare liberamente il sorgente di questo tutorial da qua e di riutilizzarlo pure quante volte volete nelle vostre app!

Buona visione e buon lavoro! :)







9 commenti:

  1. Carissimo,
    ho notato che il notifier non fa visualizzare i messaggi se faccio aprire un'applicazione.
    Cerco di essere più chiaro: Ciicco un pulsante che mi apre GoogleMap e voglio far apparire un messaggio col notifier; nonostante abbia impostato correttamente il blocks editor questo non viene visualizzato.

    Hai qualche idea? Grazie come sempre!

    RispondiElimina
  2. Ciao Marco,evidentemente sbagli qualcosa, io ho fatto molte app con un notifier prima di lanciare un activitystarter e la notifica viene visualizzata (anche in Acqua Alta App per esempio)
    Prova a spostare il blocco che richiama il notifier prima di chiamare l'activitystarter,fa un pò di tentativi ma vedrai che funziona!

    RispondiElimina
  3. Sicuramente sbaglio qualcosa, dopo aver accettato la licenza al riavvio l'app si ferma sullo splash screen e non va oltre, sembra come se il timer fosse disattivato. boh!!

    RispondiElimina
    Risposte
    1. Sicuramente sbagli qualcosa, scarica il mio sorgente e prova con quello
      Se funziona riguardati bene da capo tutto e vedrai che trovi l'errore
      Fammi sapere se risolvi... :)

      Elimina
    2. Che idiota che sono!! La tua app funziona alla perfezione, ho ricontrollato la mia app una ventina di volte per capire (e vedere) che avevo erroneamente inserito, nello screen initialize, tutte le istruzioni all'interno dell'istruzione IF. Ora funge a meraviglia. Grazie per il consiglio e per i tutorial che sono chiari e accessibili a tutti.

      Elimina
  4. Puoi sempre usare il clock, ti da la lettura istantanea dell'orologio di sistema, quindi memorizzi il tempo X quando parte l'applicazione,poi all'istante Y quando ci sono stati 50 click leggi il tempo X+n
    Così puoi calcolare il tempo intercorso

    RispondiElimina
  5. Ciao Seba, vorrei fare uno screen dove mettere una serie di immagini che cambiano ogni 5 secondi ,come i cartelloni pubblicitari.
    Cosa devo inserire?

    RispondiElimina
    Risposte
    1. Ciao Carlo, puoi seguire varie strade, me ne viene in mente una...
      1 - crei una lista con i nomi di tutte le tue immagini (tipo immagine1.jpg immagine2.jpg, etc...)
      2 - usi un immagine (la prima che vuoi visualizzare) in cui visualizzi la prima immagine dello slideshow
      3 - usi un clock impostato a 5 secondi
      4 - ad ogni evento clock incrementi di 1 il valore dell'indice che ti cambierà la proprietà source dell'immagine, quindi una cosa del tipo when clock1.timer image set image1.picture to select list item (lista=lista immagini index=indice)
      5 - racchiudi quanto al punto 4 in una condizione if-else, if indice < lenght of list "lista immagini" allora incrementi, altrimenti indice=1 (così fai il loop in base a quante immagini hai)
      spero di esserti stato utile, ciao!

      Elimina
  6. Ciao Sebastiano, una domanda, quando ho creato l'app con lo splash screen, no funziona il tasto back neanche il messaggio di uscita della applicazione, vorrei sapere una cosa devo istallare la apk sul mio cellulare per vedere funzionare questa funzione?

    RispondiElimina