Cerca con Google

Translate

2 settembre 2011

Venice Tide Forecast aggiornato alla versione 2.1


Probabilmente vi starete chiedendo come mai non ho più pubblicato tutorial...beh, il motivo principale è stato tutto il lavoro lasciato in arretrato dopo le ferie...ed il secondo è dovuto al fatto che ho voluto aggiornare la mia app (Venice Tide Forecast) provando ad utilizzare il nuovo componente WebViewer che è stato inserito in App Inventor con la release del 21 Luglio.

Questo componente, come avrete immaginato, permette di aggiungere una "view" contenente una pagina web alle nostre applicazioni (il WebView è molto comune in tutti i linguaggi di programmazione, java in primis...)


In questo modo possiamo inserire senza fatica una pagina html all'interno della nostra app, tale pagina può essere creata adhoc da noi in modo da "fondersi" con la nostra app, oppure può essere una qualsiasi pagina web.
Il bello è che in questa view abbiamo la possibilità di fare il pinch-to-zoom, muoverci all'interno della pagina, aprire altri link, etc...
L'unica cosa che non abbiamo direttamente sono i tasti di navigazione avanti/indietro tipici dei browser.

Dalla descrizione nell'help del design editor possiamo leggere:

Component for viewing Web pages. The Home URL can be specified in the Designer or in the Blocks Editor. The view can be set to follow links when they are tapped, and users can fill in Web forms. Warning: This is not a full browser. For example, pressing the phone's hardware Back key will exit the app, rather than move back in the browser history.


come vedete il componente richiede in pratica un solo campo:
- l'URL base da visualizzare (HomeURL)
Ed alcune opzioni:
- se deve seguire i link (Followlinks)
- ed i soliti "visible" "height" "width"

Ho quindi sostituito l'activitystarter che visualizzava il grafico di marea con una WebView che visualizza lo stesso file .gif ma questa volta all'interno appunto di una WebView.
Ci sono lati positivi e negativi in questa modifica, di positivo c'è la velocità di caricamento del grafico, visto che non deve lanciare il browser esterno l'immagine con le previsioni di marea appare più velocemente.
Di contro se l'utente preme il tasto "back" del suo telefono, esce dall'applicazione (questa è una limitazione di App Inventor), mentre con l'activystarter si tornava all'activity precedente, ovvero all'app stessa...

La WebView mi ha anche dato l'idea di provare ad inserire annunci della piattaforma AdSense nella mia app...
forse questa è una "prima mondiale", infatti non ho ancora visto nessuna app realizzata con AI con al suo interno gli AdSense (tutti usavano, come me, MobPartner)
Con un pò di lavoro e qualche "trucchetto" riesco a visualizzare gli annunci e "spero" riesco a visualizzare la pagina dell'annuncio a schermo quasi intero se uno lo clicca (non posso provare altrimenti vengo bannato da AdSense...) ma ho fatto alcuni test e dovrebbe funzionare correttamente.

Se siete curiosi di vedere queste novità, scaricate pure (anzi, mi farebbe molto molto piacere) la versione inglese della mia app che trovate a questo indirizzo:

Venice Tide Forecast versione 2.1

se i test saranno conclusi con successo porterò le stesse modifiche anche alla versione italiana dell'app (per la cronaca, la versione italiana ha circa 1100 utenti attivi, quella US solo 110...)

Se avete dubbi o domande su quest'app, utilizzate i commenti o la mail!
Probabilmente uno dei prossimi tutorial tratterà proprio il componente WebViewer...a presto!

5 commenti:

  1. Ciao, ti volevo chiedere se conosci un modo per mettere un banner pubblicitario nelle app

    RispondiElimina
  2. Ciao Andrew, come vedi in quest'app ho inserito le pubblicità adsense, quindi è possibile farlo, devi avere un account adsense, creare una pagina html con il solo banner pubblicitario e poi usare una webview all'interno della tua app che visualizzi tale banner.
    Cercherò di fare un tutorial su questo aspetto che credo interessi parecchie persone :)

    RispondiElimina
  3. Senti fratello, devi aiutarmi, anche perchè non appena ho letto quello che avevi fatto ho premuto ctrl+D. ci sto sbattendo la testa da giorni... e nemmeno su XDA (ma forse per il mio inglese!! ;) mi hanno risposto.)

    ho avuto la tua stessa idea e cioè quella di caricare le immagini tramite una pagina web per poterne eseguire il pinch.

    devo sviluppare un'applicazione con delle carte aeronautiche, che vengono limitate dal fatto che app-inv le ridimensiona in base al width.

    Ho pensato che caricando una pagina html e affogandoci dentro la mappa in questione potrei avere anche il pinch.
    Mi sembra d'aver capito che tu l'hai fatto usando l'activity!!!

    Mi spieghi come settare le propietà dell'activity ?

    Un problema aggiuntivo è che non posso caricare le pagine dal web a causa della quota (mappe aeronautiche, 10000 piedi, assenza di segnale...etc), quindi dovrei caricarle dal device !!!

    Ti prego aiutami!!! complimenti per la genialità!!!!!

    RispondiElimina
  4. Senti fratello, devi aiutarmi, anche perchè non appena ho letto quello che avevi fatto ho premuto ctrl+D. ci sto sbattendo la testa da giorni... e nemmeno su XDA (ma forse per il mio inglese!! ;) mi hanno risposto.)

    ho avuto la tua stessa idea e cioè quella di caricare le immagini tramite una pagina web per poterne eseguire il pinch.

    devo sviluppare un'applicazione con delle carte aeronautiche, che vengono limitate dal fatto che app-inv le ridimensiona in base al width.

    Ho pensato che caricando una pagina html e affogandoci dentro la mappa in questione potrei avere anche il pinch.
    Mi sembra d'aver capito che tu l'hai fatto usando l'activity!!!

    Mi spieghi come settare le propietà dell'activity ?

    Un problema aggiuntivo è che non posso caricare le pagine dal web a causa della quota (mappe aeronautiche, 10000 piedi, assenza di segnale...etc), quindi dovrei caricarle dal device !!!

    Ti prego aiutami!!! complimenti per la genialità!!!!!

    RispondiElimina
  5. Ciao logiktoy, se ho ben capito hai bisogno dei controlli nativi pinch-to-zoom del telefono.
    Hai due possibilità, ho usi activitystarter per far partire il browser che punterà al tuo url (con l'immagine) oppure usi il componente WebView e lo posizioni all'interno della tua app.
    Ovviamente la seconda seconda soluzione è al momento più elegante (per esempio così nascondi anche il titolo della pagina internet che visualizzi), ed è anche molto semplice da realizzare
    Se hai problemi di connettività quando sei in quota, puoi sempre puntare la webview invece che ad una pagina html sul web ad una pagina html sul device (ne devi conoscere il path ovviamente e la devi preparare e memorizzare prima)
    Per farti un esempio,io ho creato un html con questa webcam e la carico con la webview da appinventor...
    (http://venicetideads.altervista.org/WebCam_Orologio_1.html)
    se hai ancora difficoltà scrivimi in email, ciao!

    RispondiElimina