46Total shares Facebook LinkedIn TW Email WApp Telegram AbbonatiDopo qualche mese di pausa riprendiamo con gli EOS-Book speciali. In questo numero approfondiamo il sistema operativo Android con un corso ad hoc che ci condurrà dalla teoria alla pratica. Come molti di voi già sanno Android è uno dei più diffusi sistemi operativi Open Source utilizzato su smartphone e tablet. Questo corso vi sarà quindi utile per sfruttarlo al meglio e scoprire tante applicazioni innovative tra cui l’interfaccia NFC, l’interfaccia Bluetooth e l’interazione con Arduino. Chi non ha mai sentito parlare di Android? Ad oggi è il sistema operativo Open Source per dispositivi mobili più diffuso al mondo. Sviluppare un’applicazione e renderla disponibile sul market di Google è semplice grazie ai […]
ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 437 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.
Una delle serie che ho apprezzato di più è finalmente un monotematico.
Questo è davvero il volume che mancava. So cosa fare stasera… 🙂
Avevo letto che vi eravate occupati di Android e volevo chiedervi se ci sono altri progetti in cantiere.
Per ora no, ma siamo aperti a tutte le proposte/richieste 🙂
Ottima l’idea di un EOS book monotematico su Android, ma anche per iOS sarebbe interessante. Forse non è proprio open source la Apple, ma una nostra possibile app sì.
Abbiamo parlato in varie occasioni di iOS (sotto vari aspetti) e se riusciamo a trovare un Autore in grado di interfacciare dell’hardware ad iOS faremo sicuramente una guida sul tema 🙂
Non c’è dubbio che che sviluppare per iOS costi di più, ma come avevi commentato sotto l’articolo che mi hai linkato, iOS offre molto più supporto e sarebbe interessante poter gestire dell’hardware tramite app iOS.
Forse una persona che conosco è capace di farlo, mi informo.
ciao e grazie,
non ho ancora letto tutta la guida, mi auguro di trovarci un problema che non sono mai riuscito a capire/risolvere nello sviluppo app per android, Cioè come scalare opportunamente le immagini in funzione del display per cui si sta sviluppando la app.
ciao
plotino
Bellissimo era quello che aspettavo da tempo, già stampato e pronto per la lettura; grazie grazie grazie!
Bellissimo ebook monotematico, un valido aiuto per chi si sta cimentando nella realizzazione di app per Android.
Eccezionale, ottima guida
Salve, grazie per questo stupendo ebook 🙂
volevo chiedervi, avete in programma di scrivere un volume riguardante la crittografia?
Penso proprio di si 🙂
Intanto goditi gli articoli già pubblicati (puoi usare la ricerca)
Perfetto!! trovati, ecco, ora ho qualcosa da fare per questa sera, grazie 😀
Mio figlio 13 anni smanetta su Arduino…………ma si è appena impossessato del mio Raspberry ! Ormai non lo fermo più
Grandioso!!
sto seguendo il tutorial, ma non riesco a fare il build dell’esempio con le due activity.
in particolare l’inserimento del codice della gestione del bottone all’interno della classe java activity_main.
ricevo errori legati al type Button, al type View, etc …
forse va importato qualche altro package oltre a quelli di default?
grazie
plot
Salve plotino,
potresti inviarmi il link dell’articolo al quale fai riferimento?
eosbook5 pag.18;
lo snippet che non mi si compila è il seguente:
Button btnGoToSecond = (Button)fndViewById(R.id.idButton);
btnGoToSecond.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, SecondActivity.
class);
startActivity(intent);
}
});
sono bloccato. probabilmente mi mancano delle basi Java per proseguire …
non riesco infatti ad interpretare il metodo setOnClickListener .
è un metodo della classe Button?
vedo che come membro viene passato un nuovo oggetto della classe OnClickListener(), ma non riesco a capire la clausola di override sotto.
Mi sembra di capire che lo sviluppo di app per android richiede una certa conoscenza della programmazione ad oggetti.
che ne dite?
Salve Plotino,
ho inoltrato la tua richiesta all’autore dell’articolo. A breve dovrebbe fornirti un riscontro 🙂
Ciao,
Android utilizza java che di per se è un linguaggio ad oggetti.
Per quanto riguarda il metodo setOnClickListener, questo aggiunge un listener al bottone e nel momento in cui viene premuto richiama il metodo OnClick al cui interno vi è il codice da eseguire alla pressione del bottone.
Per quanto riguarda “Override” indica che viene sovrascritto un metodo della che è stata ereditata.
Ti consiglio di vedere un pò come funziona la programmazione ad oggetti.
setOnClickListener è un metodo della classe View (si trova in android.view.View.class) ed indica ad un pulsante di mettersi in ascolto del click del mouse. OnClickListener non è una classe, ma un’intefaccia. L’interfaccia è una particolare classe che dichiara i metodi (nella fattispecie: void onClick(View v); ) ma non li definisce, contrariamente ai metodi delle classi. Non essendo definito nell’interfaccia (che cosa deve fare il metodo?), il compito è demandato al programmatore che perciò deve sovrascrivere (ovveride) il metodo dichiarato, provvedendo alla sua implementazione (che cosa deve fare quando il button riceve il click).
Prova a qualificare il button come final:
final Button btnGoToSecond = (Button)fndViewById(R.id.idButton);
grazie fabrizio. Infatti era proprio questo il punto. il tutorial è molto valido, però presuppone la conoscenza della programmazione ad oggetti, in particolare java.
Alcuni problemi di compilazione sono riuscito a risolverli con opportune istruzione di import,
ma ancora non riesco a compilare il progetto perchè non riesco a risolvere il tipo OInClickListener …
continuo a studiare 🙂
Nella guida sono presenti dei link per il download del codice, ma alcuni non funzionano (pagina non trovata). Si può risolvere?
Grazie
Salve Mimmo,
se ci indichi quali link non funzionano li sistemiamo subito. Grazie della segnalazione.
Posso segnalare quelli finora rilevati:
pag. 24 entrambi i link
pag. 41 LayoutProject.zip
I file sono in allegato agli articoli relativi che ti segnalo di seguito:
http://it.emcelettronica.com/corso-su-android-lavorare-con-i-layout
http://it.emcelettronica.com/corso-su-android-lavorare-con-le-activity
Salve sarei interessato all’implementazione di feed rss su android. Su internet non ho trovato molto materiale, qualcuno potrebbe aiutarmi?
ma avete anche voi problemi a compilare? con Eclipse sembra che il progetto venga continuamente aggiornamento e dopo averli risolti compaiono di nuovo problemi di compilazione ..
non è banale …
per ora sono bloccato alla comprensione degli Intent.
qualcuno ha una buona definizione?
ciao
plot
Ci provo.
Gli Intent sono oggetti che permettono a due activity di scambiarsi dati. E’ l’analogo delle pagine web, sia pure con una sintassi diversa. Immagina di avere un form con dei campi, per esempio una casella di input “cognome” e di dover trasmettere il valore inserito ad una seconda pagina web; la lettura di questo valore avviene utilizzando, nella seconda pagina, $_REQUEST[“cognome”] oppure $_POST[“cognome”] (sintassi PHP). In android lo stesso risultato si ottiene con gli Intent (ovviamente la trasmissione e la lettura utilizzano una diversa sintassi, come indicato nella guida, ma il concetto è lo stesso).
Spero di essere stato utile.
aiuto!!!!
non riesco a scaricare il file del progetto allegato con l’articolo!
http://it.emcelettronica.com/files/LayoutProject.zip
dice:
Error 404 Not Found
Salve Plotino,
puoi inserire l’url dell’articolo tramite il quale stai accedendo al file?
Ciao Emanuele,
sto tentando di finalizzare il corso descritto nell’EOS Book che trovo molto interessante,
Sono però bloccato sul capito che parla di UI.
Infatti mi sono accorto che l’enviroment che ho installato (Eclipse Juno + ADT + Android SDK) non mi permette di ottenere un progetto compilato a partire da un wizard con la creazione di una Blank Activity.
Seguendo infatti le istruzioni a pag. 42 – 43 per la creazione con wizard di un progetto con Blank Activity, il risultato è un progetto che nella finestra Project Window mi appare con un punto esclamativo rosso .. il messaggio di errore è:
missing library appcompat_v7.jar.
Ora andando a spulciare tra le librarie di support installate dall’SDK, non trovo questo jar nella cartella v7, ma solo due librerie che si chiamano tipo androir-support-v7
Hai idea di quale possa essere il problema?
Provando altri progetti da wizard con creazione automatica della activity, ho ottenuto anche errori tipo R cannot be referenced to a variable …
Risultato posso creare activity solo a mano 🙁
sono abbastanza al limite per mollare, perchè da quanto ho letto dal web, molti casi simili hanno portato a varie soluzioni, il che significa che l’ambiente di sviluppo non è così maturo come credevo
saluti
plot
Salve Plotino,
ho inoltrato la tua richiesta all’autore dell’articolo. A breve ti fornirà un feedback 🙂
Salve,
con la versione del plug-in con cui è stato realizzato il tutorial, le activity venivano create in automatico.
Con le nuove versioni del plug-in quando si crea un nuovo progetto con Blank Activity, viene creata una struttura con i Fragment e contestualmente viene creato un progetto separato appcontact_v7 collegato come libreria al progetto appena creato.
Nell’ultima versione del plug-in per eclipse (aggiornato ieri) viene data la possibilità di scegliere se creare una Blank Activity o una Blank Activty with Fragment.
Il mio consiglio è di provare ad aggiornare il plug-in. Altrimenti l’unico modo è di crearle a mano.
Grazie SaraE e grazie FabrizioG.
Con plug-in intendi l’ADT?
in effetti avevo provato ad aggiornarlo ma Eclipse Juno mi dice che è già all’ultima release ..
pensi che passare a Eclipse Kepler possa risolvere il problema?
Parlando poi della libreria appcompat_v7, viene generata dal wizard come project ma non riesco a compilarla (missing folder gen e anche nella cartella src non c’è alcun file , mah ..)
grazie e complimenti
Si per plug-in intendo l’ADT.
Penso che passando a Kepler il plug-in si aggiornerà. Forse per Juno non ci sono aggiornamenti.
Per la libreria appcompat_v7 è normale che non ci siano sorgenti ma se guardi nella cartella libs ci sono dei jar. Se quando compili da errore perchè non trova la cartella gen, alcune volte non viene creata in automatico dal plug-in, Vai sul file system sotto la cartella appcompat_v7 e crea la cartella gen, torna su eclipse fai un refresh ed un clean del progetto, così dovrebbe compilare
Ciao
Fabrizio
grazie. Ho provvisoriamente risolto in questo modo con Kepler:
indicando come API target, compilazione e minversione la stessa versione (per esempio Kikat)
in tal modo riesco a creare activity col wizard.
Poi per estendere la app a versione precedenti di android (il mio smartphone ha android 2.3.3 …)
modifico l’attributo minSdk nel file manifest.xml (se lo faccio nel wizard continuano gli errori)
speriamo ora di progredire con il tuo bel corso!