Nel tutorial di oggi ci occuperemo di "data scraping", ovvero quel metodo con cui si prendono delle informazioni dalla rete per poi renderle disponibili all'interno della nostra app.
Nello specifico faremo "scraping" di una tabella HTML visto che in internet, molte volte troviamo dati formattati proprio sotto forma tabellare.
Per cercare di facilitare il più possibile il processo utilizzeremo Google Spreadsheet (tradotto "Foglio di Lavoro" in Google Drive) che servirà da passaggio intermedio tra il sito internet e la nostra app.
I passaggi di base saranno:
1 - Individuare la sorgente dati
2 - Creare un foglio di lavoro Google SpreadSheet e caricarci i dati individuati al punto 1
3 - Creare la nostra app ed usare il componente web per leggere i dati
Ho diviso il tutorial in due parti, iniziamo ad occuparci della raccolta e preparazione dei dati
Google SpreadSheet è uno strumento potentissimo, assomiglia molto ad Excel, in particolare mi ha colpito la semplicità con cui si possono importare i dati da fonti web e la possibilità di formattare e condividere tali dati con semplicità.
In più offre uno strumento chiamato Query Language che permette in pratica di accedere ai nostri dati come se fossero memorizzati in un database SQL!
A questo indirizzo https://developers.google.com/chart/interactive/docs/querylanguage trovate la documentazione completa se volete approfondire la cosa e capirne tutte le potenzialità.
E' quindi possibile leggere e manipolare i dati con le classiche query SQL (se non le conoscete non vi preoccupate, nel video spiego e mostro velocemente alcuni esempi)
Nel nostro caso specifico riusciremo con relativa semplicità ad estrarre dalla pagina del corriere dello sport la classifica di serie A aggiornata ed a mostrare le prime tre squadra in classifica all'interno della nostra APP!
(chiaro trattasi solo di esempio a scopo didattico, poi sarà la vostra fantasia a darvi lo stimolo per completare e migliorare l'app e cercare altri campi di applicazione di questo metodo)
Il bello di questo metodo è che quando la pagina html cambia (perchè ad esempio si è giocata una nuova partita di campionato), il nostro foglio di lavoro si aggiornerà automaticamente e quindi la nostra app ci darà sempre la classifica aggiornata senza alcuno sforzo.
Inoltre se un giorno volessimo cambiare la nostra "base dati" perchè ad esempio il sito non è più disponibile, potremmo semplicemente cambiare la pagina web nel foglio di lavoro senza bisogno di cambiare la nostra app (parlo per esperienza personale visto che proprio questo mi è successo con la mia app Acqua Alta)
Buona visione, e ricordate, per commenti o richieste particolari è preferibile usare il forum
...continua nella parte 2 dove vedremo come realizzare l'app con App Inventor...
raga ma la fonte da cui prendiamo le info in questo caso la classifica del campionato deve esserne a conoscenza? dobbiamo chiedere qualche permesso? o possiamo semplicemente utilizzare questi dati a nostro piacimento senza alcuna autorizzazione?
RispondiEliminabuona domanda, io di solito nella mia app scrivo da dove ho preso i dati e ringrazio il fornitore di essi. Credo che se non ci sono specifiche clausole scritte esplicitamente sul sito si possano usare senza grossi problemi.
Eliminaciao si vede male il video dove posso trovare la sintassi per la tabella
RispondiEliminaCiao seba volevo solo la sintassi per leggere il mio foglio excel grazie
EliminaCiao Seba,
RispondiEliminaho usato la formula che usi tu per importare la classifica dal sito del corriere ma a me dà "errore di analisi" e pure è la stessa url che hai usato tu e la stessa formula, cosa può essere?
Grazie
hai provato con questa formula (esattamente quella che uso nell'excel)
Elimina=ImportHtml("http://www.corrieredellosport.it/live/SerieA/classifica.shtml","table",0)
altrimenti guarda il mio excel a questo indirizzo:
https://docs.google.com/spreadsheet/ccc?key=0AhHg0fjQtiz2dFl5UnUwamVHZEQtN2ZkanFPN0c5anc
magari hai fatto qualche semplice errore di punteggiatura...
grazie ho risolto
EliminaCiao Silverio la sintassi corretta è:
Elimina=ImportHtml("http://www.corrieredellosport.it/live/SerieA/classifica.shtml"; "table";0)
ciao seba,
RispondiEliminaoltre alle tabelle in html, si possono inserire dati di quelle in pdf? invece, se voglio fare una tabella con i dati che continuano ad "auto-aggiornarsi" con fonte un sito o un file specifico, è fattibile farlo? soprattutto per me che sono alle primissime armi con la programmazione?
grazie!
No, la fonte per usare la funzione di google docs deve essere im html
RispondiEliminaSe pubblichi poi la tabella come faccio vedere nel video ad ogni cambiamento nel sito d'origine ti si aggiorna in automatico anche il google docs
Infatti se vedi hai sempre la classifica di serie A aggiornata in questo esempio
Ciao seba, volevo farti una domanda su come creare una classifica online, cosa mi consigli di usare? riuscirei ad inviare dei dati dall'app ad un foglio di lavoro qualsiasi e dopo riprenderli, magari anche in ordine? ho provato con le fusion tables ma l'utente deve per forza essere "registrato", quindi o mi manda tipo l'email e io lo metto dentro ma mi pare poco adatto allo scopo, qual'è la funzione migliore che mi consigli di usare? grazie mille per la risposta e continua così che il sito è stupendo e senza probabilmente avrei abbandonato app inventor!
RispondiEliminaGrazie ancora,
Mario :-)
Ciao Mario, non mi sono cimentato in questo documento ma credo possa fare al caso tuo:
Eliminahttp://puravidaapps.com/taifunGS.php
in pratica si può scrivere nel google docs, poi con questo tutorial o qualcosa di simile puoi leggere i tuoi dati, il google spreadsheet è pubblico e quindi dovrebbe essere editabile da chiunque
se sperimenti e funziona scrivi la tua esperienza nel forum !
Grazie seba!!! :-D
EliminaSe funziona è la prima cosa che faccio! :-D
E sopratutto se riesco a capirlo...la vedo dura...:-)
EliminaCiao ma invece di selezionare a priori le 3 squadre non si può tramite l'app lasciare all'utente la possibilità di scegliersi i criteri da interrogare sulla classifica completa? grazie fabio
RispondiEliminacerto che è possible, io qui mostro solo un esempio, usando delle textbox e poi passando questi dati alla "select" si può fare più o meno quel che si vuole (dire di quante squadre si vuole la classifica, cercare la posizione in classifica di una squadra in particolare, etc...)
Eliminaprova a scaricarti il sorgente e modificarlo a piacere per impratichirti
Il notifier a me non funziona, quando non ho accesso alla rete non esce il messaggio strutturato, ma scrive error 1101
RispondiEliminaQuesta applicazione è ORO per me!!!
RispondiEliminaQualcuno di voi sa dove trovare la sorgente delle estrazione del lotto?
esistono svariati siti, devi fare un pò di prove e trovare uno che inserisce i risultati in una bella tabella html :) buona caccia :)
Eliminaerrata corrige: questo tutorial
RispondiEliminaA me non si aggiorna il foglio in cui ho messo una tabella, è normale?
RispondiEliminaLa tabella da cui prendo i dati in media si aggiorna ogni minuto, però solamente se refresho la pagina.
Il foglio collegato invece con la funzione vista in questo tutorial rimane invariato, come mai?
mi pare ci sia una spunta in google docs dove si dice se deve ripubblicare il foglio ad ogni refresh dei dati, prova a guardare se tu hai spuntato quell'opzione
EliminaScusa Sebastiano, visto che ho un problema simile (il sito si aggiorna in tempo reale mentre il mio foglio no) potresti essere più chiaro su questo punto?
EliminaCome faccio ad imporgli di aggiornarsi in tempo reale in fuzione delle fonte dati?
Grazie
secondo voi si può fare anche prendendo i dati dalle fusion tables??
RispondiEliminapenso di si, se pubblichi la fusion table come html e poi usi lo stesso metodo...
Eliminama perchè vorresti fare una cosa del genere? non è più semplice a questo punto caricare i dati con il componente fusion table direttamente?
ma si possono anche caricare gli java script?
RispondiEliminanon con questo metodo, alcune cose in javascript sono supportate caricando il file con il javascript come asset nell'applicazione, per ulteriori informazioni puoi guardare questo sito in inglese molto interessante:
Eliminahttp://puravidaapps.com/tutorials.php#html
ma si può caricare un immagine presa dalla sdcard per poi visualizzarla nella app io ho provato facendo cosi (
Eliminascreen initialize
image .Picture TO= text= /sdcard/AppInventor/assest/Foto.pgn
si, è possibile ma il path che hai inserito non mi sembra corretto, ovviamente deve essere specificato in maniera corretta per esempio
Eliminafile:///mnt/sdcard/pictures/foto.png
se vuoi vedere il path corretto metti un componente imagepicker e scegli la tua immagine, poi visualizza il path che ti ritorna l'imagepicker (o usa una finestra di watch da blocks editor)
così hai il path corretto al 100% (ricorda anche di mettere file:/// all'inizio)
Scusami sebastiano se io vorrei applicare il procedimento di importazione HTML ma invece della classifica della serie A o etc.. io lo modificassi di mano mia cioè andrei nello Spreadsheet e cambierei il testo questo è possibile?
RispondiEliminaCerto, anzi è ancora più semplice perchè non serve che crei lo spreadsheet con la funzione importHTML ma scrivi direttamente li i tuoi dati e poi li leggi da App Inventor
EliminaGrazie mille
EliminaCiao sebastiano,
RispondiEliminanon riesco a capire quale è la stringa (link) da inserire per visualizzare la mia Query in HTML
Ti riporto il mio foglio condiviso
(https://docs.google.com/spreadsheet/ccc?key=0AuNtE3H3Pct_dGlYaGtOSUdYVGl1NHJfSUZkX1V3RHc#gid=1)
inserisco questa:
https://spreadsheets.google.com/tq?tqx=out;html&tq=select%20*%20limit%2020&key=0AuNtE3H3Pct_dGlYaGtOSUdYVGl1NHJfSUZkX1V3RHc
ma mi esce un errore
potresti aiutarmi a risolverlo?
Grazie
Saluti,
Fabio
l'errore è dato dal fatto che metti la query (ovvero il pezzo con &tq=...) prima dell'identificativo del tuo foglio di lavoro (quindi prima di &key=...) invertendo i due pezzi risolvi e la tua query sarà così formata:
Eliminahttps://spreadsheets.google.com/tq?tqx=out:html&key=0AuNtE3H3Pct_dGlYaGtOSUdYVGl1NHJfSUZkX1V3RHc&tq=select%20*%20limit%2020
per caso nel video dico che fa lo stesso l'ordine di tq e di key? perchè magari ho commesso io un errore, fammi sapere ciao
Perfetto ora, Grazie!!!
EliminaUn errore da neofita di AppInventor :)!
Grazie ancora.
Se avro' qualche altro problema sono sicuro di poter contare su di te!
PS. C'è invece un modo per estrapolare solo una parte testo dall'HTML di una pagina Web?
dipende, se è tra due tag html ben specifici puoi caricare tutta la pagina e poi con le funzioni testuali estrarre solo il testo tra i due tag,
Eliminaaltrimenti è più complicato se non sai dove inizia e dove finisce, insomma dipende tutto da come è fatta la pagina html, devi analizzarla per bene ed agire di conseguenza... :)
SEGNALAZIONE
RispondiEliminaLa pagina che usi nel tutorial è stata aggiornata e percio non funziona più il comando spreedsheet per l'importazione della table
grazie per la preziosa segnalazione! penso che stiano sistemando le cose per la stagione 2013/2014,
Eliminaappena inizia il campionato vediamo di sistemare con una nuova tabella funzionante o di sistemare la cosa,grazie!
ciao Seba,
RispondiEliminati vorrei chiedere se posso importare il link ,di un sito, da un csv ed impostarlo come dataUri dell'ActivityStarter.
grazie
se ho capito quello che vuoi fare ti direi di si,
Eliminacioè tu vuoi avere un file csv che leggi con App Inventor,
ed in questo csv memorizzi dei link che poi apri con ActivityStarter,
si la cosa è fattibile, basta che appunto tu dia come dataUri l'url letto dal file csv
Ciao scusa mi sono perso un passaggio banalissimo ma non ne vengo fuori!!!
RispondiEliminaDi sicuro è una cosa stupida ma come ottengo l'indirizzo https://spreadsheets.google.com/tq?tqx=out:html&key=0AuNt....
partendo dal file su GDrive?
grazie
Quando sei su drive scegli, "File" e poi "Pubblica sul web" a quel punto ti si apre la maschera con le opzioni per recuperare l'indirizzo del foglio di lavoro in formato csv
EliminaHo provato ma dalla maschera continua a darmi indirizzi https://docs.google.com/spreadsheet/ccc?key=0AhoTd1GAhIA0dFZ5QX...
EliminaComunque ho risolto scrivendomelo manualmente, ma provando l'applicazione mi ricarica continuamente la pagina come se ogni due secondi la aggiornasse.
A differenza tua ho sostituito il click del bottone con lo screen initialize ma per il resto è identica!
Sai a cosa potrebbe essere dovuto?
grazie
nelle opzioni devi dare il tipo di export in csv, forse è per quello che non ti esce l'indirizzo corretto per il foglio di lavoro,
Eliminaanche il fatto che ti ricarica continuamente la pagina è molto strano, se in screen initialize metti la get del componente web e poi processi i dati con la web gottext l'evento gottext deve essere generato una volta sola,
ricontrolla bene il tutto magari scarica il mio sorgente e fai dei confronti, se ancora avessi problemi se vuoi vieni nel forum e posta li i blocchi così io ed altri possiamo darci un occhiata.
Ciao
Risolto il problema dell'aggiornamento continuo.
EliminaPer il link dal foglio dati faccio File->Pubblica sul Web->Avvia pubblicazione e nella maschera "Ottieni link ai dati pubblicati" metto CSV ma il link è: https://docs.google.com/spreadsheet/pub?key=0AhoTd1GAhIA0dFZ5QXpabm5ERm43MXk1anlKQ3d5VkE&output=csv
Ok, mi pare vada bene, a quel link vedo la classifica di serie A in formato .csv così come da tutorial,
Eliminanon capisco dove sia il problema? riesci a spiegarti meglio?
https://docs.google.com/spreadsheet/pub?key=0AlSF7MwJfI-xdGM4eDdPU3JYNUJLZGR6bXBkV3hQcHc&single=true&gid=0&output=html
RispondiEliminaperche' mi compaiono miliardi di informazioni quando io invece voglio solo la tabella??
https://docs.google.com/spreadsheet/pub?key=0AlSF7MwJfI-xdGM4eDdPU3JYNUJLZGR6bXBkV3hQcHc&single=true&gid=0&output=csv
Eliminaprova con questo (ovvero fa l'export in csv), salvalo sul disco come file di testo e poi dacci un occhiata
devi sistemare il simbolo dell'euro (almeno mi pare), cmq dipende da come gli dici tu di fare l'export
Per il resto direi che puoi seguire questo tutorial per vedere come continuare, in bocca al lupo!
risolto pero' non capisco perchè nell'app si vede un'odiosa strisciata bianca a destra della tabella in html...
RispondiEliminarisolto questo avro' finito
la mia tabella : https://docs.google.com/spreadsheet/pub?key=0AlSF7MwJfI-xdGEtSlcyUlZwQWVyV3h4UzV6WUZFVGc&output=html
Usi la webview o il componente web per prendere i dati?
EliminaSe vuoi fare una cosa più pulita (ma anche più laboriosa) ti consiglio componente web ed import dei dati in csv,
se usi la webview rischi di avere piccoli problemi (come la striscia bianca di cui parli) ma la creazione dell'app è più veloce
vedi te...in bocca al lupo!!!
uso la webview... non riuscirei a farlo nel modo in cui dici te .. devo studiarlo mi pare piu' complicato
RispondiEliminaOk, cmq ti consiglio di studiarti anche l'altro metodo, hai molta più flessibilità nella gestione del layout della tua app, in bocca al lupo!
Eliminaciao seba ho provato a seguire il tuo consiglio ma zero appena clicco sul pulsante l'app non fa niente di niente e pensare ke ho inserito 248 label visto che l'app deve inserire 4 colonne di valori fatte da 62 elementi.
RispondiEliminai blocchi del block editor sn come i tuoi precisi ma niente ... :(
e pensare che e' pure piu' semplice della tua visto ke devo portare a video tutti i dati del foglio csv quindi nessuna select ed evito pure il controllo della mancata connessione ... mah e' assurdo veramente
RispondiEliminami dispiace essere così "diretto" ma sicuramente sbagli qualcosa,
Eliminase leggi col componente web i dati te li ritrovi poi in formato grezzo e li puoi poi caricare come meglio credi nelle varie label.
Prova con le finestre di watch a controllare dopo che viene eseguita la http get che valori ti ritorna il componente web e poi continui da li,
quando importi il csv con il componente web hai i dati separati da virgole, devi quindi trasformare poi questi dati da un csv a una lista (con il metodo "list from csv") e poi selezionare per ogni label la riga e la colonna da visualizzare.
Insomma, è difficile da scriverlo qui ma il procedimento in linea di massima è quello, in bocca al lupo!
Ciao posso farla anche se ho un database Tinyweb dove ho una cella con (nome utente e valore: punteggio) ?
RispondiEliminaSe hai un db TinyWebDb puoi leggere i dati col componente TinyWebDB, risulta anche più semplice.
EliminaQuesto indicato qui è invece un ottimo metodo per fare scraping dei dati da siti internet non nostri e che quindi non possiamo "formattare" a nostro piacimento.
Ok, ti spiego il mio problema,nel tinyweb viene registrati come tag il nome utente mentre come value registro il punteggio.
RispondiEliminaQuindi come dovrei richiamare tutti i giocatori e sviluppare una classifica?
Spero di essere stato chiaro
Ciao sebastiano volevo domandarti se io vorrei che il mio utente vuole importare dalla tabella solo alcune righe a suo piacimento tipo "ricerca" come faccio?
RispondiEliminami spiego meglio
Eliminautente parla con l'app
Utente: domanda cara mia app mi interessano solo le caramelle che sono alla liquirizia ( utente scrive nelle Test box caramelle liquirizia)
App: ok le carico dalla tabella ecco sono 5 tipologie dalle piu belle alle meno belle.
Ti conviene usare la sintassi SQL (https://developers.google.com/chart/interactive/docs/querylanguage) per interrogare il tuo foglio di lavoro e farti restituire solo le righe in cui ad esempio il tipo di caramella è alla liquirizia.
EliminaIn pratica modifichi la query Select ed invece di * metti il filtro che ti ho spiegato sopra.
Devi sapere un pò di SQL per farlo, in internet trovi un sacco di tutorial a riguardo, buon app inventing!
e se uso lo stesso sistema che usi in questo tutorial tu pensi che funzioni? http://seblogapps.blogspot.it/2013/08/tutorial-54-ricercare-dati-allinterno.html
Eliminautilizzando al posto del DB rubrica importando da una tabella "html"?
Certo, tutto nel mondo del sw funziona, basta che sia programmato correttamente :)
Eliminanel caso della ricerca devi creare una lista bidimensionale, quindi dall'html devi creare un tinydb che contenga una lista bidimensionale, poi puoi fare tutte le ricerche che vuoi con il metodo evidenziato.
Cmq resto dell'idea che per il tuo scopo è meglio usare una semplice query SQL
ciao
perkè? "scusa la domanda impertinente" :)
Eliminasecondo me è più veloce e semplice, ecco perchè
Eliminama io non so cosa stai facendo, come è strutturata la tua app e tante altre cose,
la decisione finale è tua
io ti ho solo dato la mia opinione :)
una domanda vorrei farti caro il mio Seba ma se carico da html posso pure caricare immagini in modo da visualizzare nell'app un menu completo?
Eliminanon è esattamente così, non puoi caricare immagini direttamente dal file html,
Eliminaquel che puoi fare è memorizzare nelle celle dell'html il nome o il path delle immagini,
poi carichi questo path in una variabile di App Inventor ed imposti la proprietà picture della tua immagine al valore che hai prelevato dalla tabella html...
Quindi supponi che la tua tabella abbia nella colonna a i valori testuali
http://www.google.it/immagine1.jpg
http://www.google.it/immagine2.jpg
...
carichi la tabella come in questo tutorial , verrà caricata in forma testuale ma poi nella tua app imposterai appunto la proprietà picture al valore caricato dalla tua tabella, in tal modo ti apparirà l'immagine voluta...
spero di essermi spiegato... :)
Ciao Seba ho realizzato parte di quest'app
EliminaFunziona cosi:
All'apertura lo Screen1 carica i dati presenti nella mia pagina Html.
Li carica in una tabella Di label
con Foreac faccio una ricerca per testo
e li carico in csv nelle label risultatoricerca.text
____________________________________
fino a qui ci sono ora volevo solo caricare il risultato della label "risultatoricerca." in una tabella formata da label
posso chiederti un piccolo aiuto? come faccio o hai dei tutorial su come posso imparare?
ecco la sorgente della mia App https://drive.google.com/file/d/0BxngC48G-rM4SkRwMHN1TUkydTA/edit?usp=sharing
Grazie ancora della tua disponibilità.
Ciao, puoi usare da palette "list" la funzione - list from csv row - che ti crea una variabile di tipo lista appunto con i tuoi valori presi dal csv
RispondiEliminaa questo punto devi creare tante label quanti sono i tuoi valori ed assegnare ad ognuno di essi il dato relativo con la select list item (cambiando l'indice di volta in volta)
mi dispiace ma ora non posso vedere cosa hai fatto, cmq spero che con gli input di qui sopra tu possa andare avanti!
Ciao Seb,
RispondiEliminacome faccio a leggere un file su internet ogni 10 secondi per esempio?
In modo automatico, senza premere pulsanti.
Avevo pensato all'utilizzo di un clock o di un loop, ma non saprei come fare.
Puoi suggerirmi qualcosa?
Grazie di tutto, sei fortissimo!
Esatto, devi usare l'elemento clock a cui dai valore dell'intervallo pari a 10 secondi (per esempio)
Eliminaall'evento Clock1.Timer fai partire la chiamata alla Web1.Get per caricare i valori aggiornati da internet
in pratica metti quello che nel tutorial vedi sotto l'evento button.click in clock1.timer
in bocca al lupo!
Sei un grande!
EliminaPraticamente era una cavolata (si vede che mi mancano le basi :P)
Ecco quello che necessitavo, mi mancava solo questo:
"all'evento Clock1.Timer fai partire la chiamata alla Web1.Get per caricare i valori aggiornati da internet"
Salve Sebastiano, Ripubblico la domanda perchè non la vedo...se c'è già chiedo scusa...
RispondiEliminail mio doc ha indirizzo: https://docs.google.com/spreadsheets/d/1YYbrmn4nOhipPHpmyXM3tj2qwvZKFiuvrkIr-Af2WJM/edit#gid=0
non vedo il key da inserire in: https://spreadsheets/google.com/tq?tqx=out:html&tq=select20%*&key=
ho provato ovviamente ad inserire per esempio: https://spreadsheets/google.com/tq?tqx=out:html&tq=select20%*&key=1YYbrmn4nOhipPHpmyXM3tj2qwvZKFiuvrkIr-Af2WJM
ma niente la pagina mi da errore...
Mi daresti qualche indicazione ? GRAZIE!!!
scusami il link giusto è: https://spreadsheets.google.com/tq?tqx=out:html&tq=select20%*&key=
Eliminama non va lo stesso....grgrggrrggrrgrgrgrr
risolto grazie lo stesso!!!
Eliminaciao ho lo stesso tuo problema... come posso risolverlo?
EliminaPer chi vende prodotti, c'è la possibilità di inserire nell'app i pulsanti "aggiungi al carrello" e/o "paga adesso" di paypal? Se si, mi potreste per favore indicare come fare, oppure se esiste un tutorial, perchè non lo ho trovato ne su questo blog (complimenti all'autore per i tutorial) e ne altrove. Grazie mille davvero
RispondiEliminaSecondo me ti conviene guardare altrove, a meno che non vuoi usare app inventor ed il componente webviewer per visualizzare il tuo sito di e-commerce.
EliminaInfatti quello che chiedi non esiste come componente dedicato in app inventor, ed a meno di voler realizzare tutta l'infrastruttura del negozio online tramite AI (molto difficile) penso ci siano soluzioni più semplici (tipo altri programmi appositi)
Se invece vuoi solo inserire un pulsante paga adesso di paypal con un importo fisso, puoi farlo creando il pulsante html ed aggiungendo il codice ad un button su AI e con un activitystarter fai partire il browser all'indirizzo corretto relativo al pulsante (tutto il codice html lo devi generare tramite il sito paypal)
Quali soluzioni apposite mi consiglieresti Sebastiano? Riguardo al pulsante, li inserisco sul sito generando il codice html dal sito paypal e poi lo integro nel sito, lo stesso codice dello stesso pulsante, funziona su app inventor? Hai preso solo come esempio il pulsante "paga adesso" o funziona solo con questo e con "aggiungi al carrello" non funziona? Purtroppo ora sono fuori città e non posso provare. Non vedo l'ora di rientrare per fare subito delle prove. Questa teoria che stò apprendendo dalle ricerche e dalle risposte date da esperti come te, è davvero utile. Grazie mille davvero
EliminaCi ho provato, ma non riesco proprio a farlo, sono nuovo di questo bel mondo delle app e te ne sarei grato se mi spiegassi la procedura. In rete non si trova nulla di come associare codice html ad un button e farlo poi partire come dicevi tu. Te ne sarò giustamente riconoscente e non solo ringraziandoti.
EliminaNessuna risposta? E vabbè che dire, grazie lo stesso. Ciao
EliminaCiao Roger, mi risulta difficile aiutarti così in poche righe, e penso cmq che quel che chiedi non sia facilmente realizzabile con AI.
EliminaPer far partire l'activity starter con il browser predefinito (quindi con activity starter) puoi vedere altri tutorial per impratichirti di più con AI, fai tutti i tutorial base di AI2 e poi se ancora non hai capito come fare prova a contattarmi in privato tramite mail.
Buon giorno,
RispondiEliminainnanzitutto grazie, anche se lo dicono tutti, ma il tuo aiuto per addentrarsi in questo ambiente di sviluppo mi ha guidato nelle prime esperienze in modo professionale e dettagliato.
Volevo chiederti un aiuto in questo; mi dedico anche allo sviluppo web con visual studio e programmazione code-behind in vb, Volevo creare una app di interfaccia con il sito, per cui se sei registrato indichi Username e Password ed entri. In pratica i dati sono memorizzati in in un DB di Acces sul sito e c'è una pagina aspx che mi legge i dati degli utenti (Username, Password, ecc). Ho collegato uno spreadsheets di Google con quella pagina e mi estrae i dati correttamente, ma se inserisco un nuovo utente (nell'app ti puoi anche registrare) il foglio di Google non si aggiorna in automatico. Su l'help del grande G suggeriscono di indicare una querystring aggiuntiva all'IMPORTHTML (del tipo pippo.aspx?Minute(now)), ma se inserisco un nuovo utente, la pagina aspx si aggiorna, ma il foglio no. Cosa mi puoi suggerire ?
Ti ringrazio.
ciao seba... con i nuovi aggiornamenti google non c'è piu il 'key', mi dai qualche dritta per usare lo stesso metodo che da solo non riesco
RispondiEliminaMi sembra strano che non ci sia più la key, mi daresti il minuto del video esatto dove parlo della key, così vedo se è cambiato qualcosa...
Eliminagrazie
questo è quello che mi esce :
Eliminahttps://docs.google.com/spreadsheets/d/1EMIRvFEXN9fU6IqEUbVb0Oa_vFXmJDH9JCHFbSLwmvc/edit?usp=sharing
Se parli della pagina della gazzetta, è cambiata da quando ho fatto il tutorial, per quello che forse non ti funziona più . Però il concetto non cambia, e nel tuo caso la chiave per lo spreadsheet è "1EMIRvFEXN9fU6IqEUbVb0Oa_vFXmJDH9JCHFbSLwmvc"
EliminaNon sono sicuro di aver capito quello che mi stai chiedendo...prova a riformulare la domanda eventualmente, grazie
risolto, adesso avrei bisogno di inerire in uno screen una sezione che possa aggiornarsi automaticamente: dovrei creare la pagina "news" e fare in modo che ogni volta che sia acceda possa esserci un'immagine e una descrizione, il dilemma è: come faccio a fare il modo che si aggiorni da sola? (si può usare un foglio di lavoro google drive anche con le immagini?)
EliminaCiao ho iniziato da poco ad usare mit appinventor2. Vorrei farti una domanda.
RispondiEliminaHo una schermata che importa una tabella che verra' completata da un inserimento utente.
Ad inserimento avvenuto non trovo come dire all app di passare alla riga sucessiva. Potresti darmi un idea? Grazie.