Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MOBILE APPS con ANDROID - Lo Stretto Digitale

640 views

Published on

Lo Stretto Digitale - Workshops 2014

Published in: Mobile
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THAT BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download doc Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book that can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer that is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story That Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money That the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths that Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

MOBILE APPS con ANDROID - Lo Stretto Digitale

  1. 1. MOBILE APPS con ANDROIDMOBILE APPS con ANDROID Wor kshops 2014Wor kshops 2014 MESSINAMESSINA –– Libreria Colapesce, viaLibreria Colapesce, via - 12- 12/07/2014/07/2014
  2. 2. LUIGI DE FRANCESCOLUIGI DE FRANCESCO Studente in Ingegneria Informatica e delle Telecomunicazioni D.M.Studente in Ingegneria Informatica e delle Telecomunicazioni D.M. 509.509. Lavoratore presso Negg S.r.l. Come sviluppatore Desktop in Qt eLavoratore presso Negg S.r.l. Come sviluppatore Desktop in Qt e Mobile Android.Mobile Android. Da sempre appassionato di Informatica. All'attivo le mie conoscenzeDa sempre appassionato di Informatica. All'attivo le mie conoscenze sui linguaggio annoverano:sui linguaggio annoverano: Qt, Java, Android, XML, JSON, Javascript, jQuery, MySQL, HTML5,Qt, Java, Android, XML, JSON, Javascript, jQuery, MySQL, HTML5, CSS3, C, C++CSS3, C, C++
  3. 3. LUIGI DE FRANCESCOLUIGI DE FRANCESCO https://twitter.com/tux_prohttps://twitter.com/tux_pro https://it.linkedin.com/in/luigi.defrancescohttps://it.linkedin.com/in/luigi.defrancesco https://twitter.com/tux_prohttps://twitter.com/tux_pro luigi.defrancesco89@gmail.comluigi.defrancesco89@gmail.com
  4. 4. Sviluppare un App AndroidSviluppare un App Android Per sviluppare Applicazioni Mobile Android, occorre conoscerePer sviluppare Applicazioni Mobile Android, occorre conoscere /avere:/avere:  Java ( nello specifico bisogna sapere come gestire iJava ( nello specifico bisogna sapere come gestire i vettori di dati, come gestire le classi, come funzionano ivettori di dati, come gestire le classi, come funzionano i linguaggi orientati agli oggetti, come funzionano e cosalinguaggi orientati agli oggetti, come funzionano e cosa sono i thread )sono i thread )  XML ( per gestire al meglio le GUI )XML ( per gestire al meglio le GUI )  Concetti base sul framework Android ( Per capire come farConcetti base sul framework Android ( Per capire come far interagire al meglio l'utente finale con l'app )interagire al meglio l'utente finale con l'app )  Un ambiente di sviluppo come ECLIPSE + SDK Android,Un ambiente di sviluppo come ECLIPSE + SDK Android, Android Studio, ecc...Android Studio, ecc...  Tanta PAZIENZA!!Tanta PAZIENZA!!
  5. 5. Testare un App AndroidTestare un App Android Una volta realizzata la nostra App, è indispensabile provarla.Una volta realizzata la nostra App, è indispensabile provarla. Le modalità di debug (individuazione di errori e test diLe modalità di debug (individuazione di errori e test di funzionalità dell'app ) sono due:funzionalità dell'app ) sono due:  AVD ( Android Virtual Device ) è un dispositivo virtuale che può essereAVD ( Android Virtual Device ) è un dispositivo virtuale che può essere creato dall'SDK Android che possiamo scaricare dal sito, e checreato dall'SDK Android che possiamo scaricare dal sito, e che provvedere a dare a chi non ha un cellulare/tablet android, di poterloprovvedere a dare a chi non ha un cellulare/tablet android, di poterlo emulare sul proprio computer. Svantaggi? Lentezza, Funzionalità, è unemulare sul proprio computer. Svantaggi? Lentezza, Funzionalità, è un dispositivo Virtuale che però non virtualizza i problemi dei dispositividispositivo Virtuale che però non virtualizza i problemi dei dispositivi reali.reali.  Device Android Fisico: in questa modalità basta abilitareDevice Android Fisico: in questa modalità basta abilitare la modalità debug sul telefonino (Impostazioni->Opzionila modalità debug sul telefonino (Impostazioni->Opzioni Sviluppatore->Debug USB), e collegare il dispositivoSviluppatore->Debug USB), e collegare il dispositivo fisico al PC. Eclipse si accorgerà del device androidfisico al PC. Eclipse si accorgerà del device android collegato ed installare l'app sul telefonino.collegato ed installare l'app sul telefonino.
  6. 6. Individuare iBugIndividuare iBug Una volta installata ed avviata l'app sul dispositivo, èUna volta installata ed avviata l'app sul dispositivo, è scientificamente comprovato che, a seconda del grado di complessitàscientificamente comprovato che, a seconda del grado di complessità dell'app, si possano avere uno o più crash.dell'app, si possano avere uno o più crash. Utilizzando lo strumento LogCat di Eclipse ( aggiunto grazieUtilizzando lo strumento LogCat di Eclipse ( aggiunto grazie all'SDK Android ), è possibile vedere chi ha generato l'errore edall'SDK Android ), è possibile vedere chi ha generato l'errore ed il perchè è avvenuto.il perchè è avvenuto. In pratica ci dirà in quale file java ed a quale riga è presente ilIn pratica ci dirà in quale file java ed a quale riga è presente il bug, ed il tipo di errore. Uno dei più comuni è ilbug, ed il tipo di errore. Uno dei più comuni è il NullPointerException.NullPointerException.
  7. 7. Hello Android !Hello Android ! Come ogni linguaggio che si rispetti, cominciamo a scrivere un appCome ogni linguaggio che si rispetti, cominciamo a scrivere un app che in una label scriva: Hello Android!che in una label scriva: Hello Android! Per farlo, tramite il tool di disegno messo a disposizione daPer farlo, tramite il tool di disegno messo a disposizione da Eclipse e dal plugin dell'SDK Android, trasciniamo una TextViewEclipse e dal plugin dell'SDK Android, trasciniamo una TextView dentro la finestra di Layout. Una volta fatto, andiamo nel codicedentro la finestra di Layout. Una volta fatto, andiamo nel codice MainActivity.java, e scriviamoMainActivity.java, e scriviamo TextView testo = (TextView) findViewById(R.id.textView1);TextView testo = (TextView) findViewById(R.id.textView1); testo.setText(“Hello Android!”);testo.setText(“Hello Android!”); Segue un Esempio Live.Segue un Esempio Live.
  8. 8. Costruire una GUI – LayoutCostruire una GUI – Layout Nell'atto di costruire una GUI, è indispensabile conoscere iNell'atto di costruire una GUI, è indispensabile conoscere i Layout.Layout. I Layout sono degli strumenti che consentono allo sviluppatoreI Layout sono degli strumenti che consentono allo sviluppatore l'impostazione grafica di una interfaccia. I principali sono:l'impostazione grafica di una interfaccia. I principali sono:  RelativeLayout: ovvero i widget da inserire sono posizionati in modoRelativeLayout: ovvero i widget da inserire sono posizionati in modo relativo, questo significa che non cambiano dinamicamente in base allarelativo, questo significa che non cambiano dinamicamente in base alla schermata, ma hanno una posizione fissa scelta da noi.schermata, ma hanno una posizione fissa scelta da noi.  LinearLayout: è un layout lineare, ovvero le posizioni deiLinearLayout: è un layout lineare, ovvero le posizioni dei widget si auto-riadattano in base alla dimensione dellawidget si auto-riadattano in base alla dimensione della schermata, in modo da prendere tutto lo spazio possibile.schermata, in modo da prendere tutto lo spazio possibile. Questi Layout a loro volta si suddividono in Horizontal eQuesti Layout a loro volta si suddividono in Horizontal e Vertical in base all'orientamento scelto.Vertical in base all'orientamento scelto.  GridLayout: come dice la parola stessa, si tratta di unGridLayout: come dice la parola stessa, si tratta di un Layout a Griglia, dove i widget vengono posizionati aLayout a Griglia, dove i widget vengono posizionati a matrice, di dimensione variabile in base alle esigenze.matrice, di dimensione variabile in base alle esigenze.
  9. 9. Activity ed Intent – Parte 1Activity ed Intent – Parte 1 Qualunque app nello store possiede una o più GUI (finestre) che mostrano, aQualunque app nello store possiede una o più GUI (finestre) che mostrano, a seconda delle esigenze dell'utente, diverse informazioni.seconda delle esigenze dell'utente, diverse informazioni. Queste GUI vengono chiamate Activity, ed ognuna di loro è linkata ad una classe cheQueste GUI vengono chiamate Activity, ed ognuna di loro è linkata ad una classe che estende la classe Activity.estende la classe Activity. Quando si crea un nuovo progetto, Eclipse aggiunge sempre una Activity cheQuando si crea un nuovo progetto, Eclipse aggiunge sempre una Activity che chiama MainActivity, l'activity che l'app avvierà per prima.chiama MainActivity, l'activity che l'app avvierà per prima. Un'Activity viene creata direttamente da Eclipse seguendo i comandi: New->Others-Un'Activity viene creata direttamente da Eclipse seguendo i comandi: New->Others- >Android->Android Activity, nei menù a seguire ci saranno tutte le opzioni per>Android->Android Activity, nei menù a seguire ci saranno tutte le opzioni per configurare al meglio l'activity che vi serve.configurare al meglio l'activity che vi serve. Una volta creata, la classe si presenterà così:Una volta creata, la classe si presenterà così: Public class MiaActivity extends Activity{Public class MiaActivity extends Activity{ La parola extends, significa che estende la classe Activity, ovvero che ne eredita iLa parola extends, significa che estende la classe Activity, ovvero che ne eredita i metodi, ed ha il permesso di sovrascriverli.metodi, ed ha il permesso di sovrascriverli.
  10. 10. Activity ed Intent – Parte 2Activity ed Intent – Parte 2 Il metodo più importante da sovrascrivere è il metodo OnCreate che si presenta diIl metodo più importante da sovrascrivere è il metodo OnCreate che si presenta di solito in questo modo:solito in questo modo: @Override@Override protected void onCreate(Bundle savedInstanceState) {protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);super.onCreate(savedInstanceState); setContentView(R.layout.activity_mia);setContentView(R.layout.activity_mia); }} Il comando setContentView, collega la classe ad una GUI che abbiamo creato per laIl comando setContentView, collega la classe ad una GUI che abbiamo creato per la visualizzazione. Da qui si capisce che tutto il codice che deve comandare levisualizzazione. Da qui si capisce che tutto il codice che deve comandare le interfacce grafiche deve stare all'interno di questo metodo.interfacce grafiche deve stare all'interno di questo metodo. Una volta descritto come creare una Activity, è giunto il momento di capire comeUna volta descritto come creare una Activity, è giunto il momento di capire come avviarla dalla MainActivity.avviarla dalla MainActivity.
  11. 11. Activity ed Intent – Parte 3Activity ed Intent – Parte 3 Supponiamo di avere due Activity:Supponiamo di avere due Activity: MainActivityMainActivity ee MiaActivity, dove laMiaActivity, dove la prima deve avviare la seconda. Andiamo nel metodo OnCreate di MainActivity eprima deve avviare la seconda. Andiamo nel metodo OnCreate di MainActivity e scriviamo:scriviamo: @Override@Override protected void onCreate(Bundle savedInstanceState) {protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);super.onCreate(savedInstanceState); setContentView(R.layout.activity_mia);setContentView(R.layout.activity_mia); Intent miaactivity = new Intent(this, MiaActivity.class);Intent miaactivity = new Intent(this, MiaActivity.class); startActivity(miaactivity);startActivity(miaactivity); }} Il codice che abbiamo visto avvia MiaActivity, per cui un Activity può richiamareIl codice che abbiamo visto avvia MiaActivity, per cui un Activity può richiamare un'altra Activity, generando così uno Stack (Pila) che conterrà l'ordine di avvio delleun'altra Activity, generando così uno Stack (Pila) che conterrà l'ordine di avvio delle Activity. L'ordine serve per quando si preme il tasto “BACK” sul telefonino, perActivity. L'ordine serve per quando si preme il tasto “BACK” sul telefonino, per “tornare indietro” in modo ordinato, tra le activity che sono state avviate.“tornare indietro” in modo ordinato, tra le activity che sono state avviate.
  12. 12. EventiEventi Se volessimo avviare MiaActivity solo in base all'avvenimento di un “evento”,Se volessimo avviare MiaActivity solo in base all'avvenimento di un “evento”, avremmo l'opportunità di visualizzare dati anche su MainActivity.avremmo l'opportunità di visualizzare dati anche su MainActivity. Per esempio MiaActivity potrebbe essere avviata dal click dell'utente su di unPer esempio MiaActivity potrebbe essere avviata dal click dell'utente su di un pulsante ( Button ) in tal caso, dopo aver creato la GUI, basta scrivere nel metodopulsante ( Button ) in tal caso, dopo aver creato la GUI, basta scrivere nel metodo OnCreate:OnCreate: Button btn = (Button) findViewById(R.id.Button1);Button btn = (Button) findViewById(R.id.Button1); Btn.setOnClickListener(new OnClickListener(){Btn.setOnClickListener(new OnClickListener(){ @Override@Override public void onClick(View v){public void onClick(View v){ Intent miaactivity = new Intent(this, MiaActivity.class);Intent miaactivity = new Intent(this, MiaActivity.class); startActivity(miaactivity);startActivity(miaactivity); }} });});
  13. 13. Passaggio di Parametri tra Activity - IntentPassaggio di Parametri tra Activity - Intent Essendo che una Activity è una classe, è possibile passare dei parametri tra unaEssendo che una Activity è una classe, è possibile passare dei parametri tra una classe ed un altra. I metodi per trasferire dati sono due, una sfrutta gli intent, e l'altraclasse ed un altra. I metodi per trasferire dati sono due, una sfrutta gli intent, e l'altra sfrutta una delle proprietà delle classi.sfrutta una delle proprietà delle classi. INTENTINTENT Per trasferire dati da una Activity ad un altra basta scrivere il seguente codice:Per trasferire dati da una Activity ad un altra basta scrivere il seguente codice: Intent miaActivity = new Intent(this, MiaActivity.class);Intent miaActivity = new Intent(this, MiaActivity.class); miaActivity.putStringExtra(“valore1”, “ciao”);miaActivity.putStringExtra(“valore1”, “ciao”); startActivity(miaActivity);startActivity(miaActivity); Nel metodo onCreate di MiaAcitivity possiamo leggere il valore di cui sopra cosìNel metodo onCreate di MiaAcitivity possiamo leggere il valore di cui sopra così String valore1 = getIntent().getStringExtra(“valore1”);String valore1 = getIntent().getStringExtra(“valore1”); In questo modo si possono passare facilmente i valori da una Activity ad un altra.In questo modo si possono passare facilmente i valori da una Activity ad un altra.
  14. 14. Passaggio di Parametri tra Activity - ClassiPassaggio di Parametri tra Activity - Classi Il metodo che sfrutta le proprietà delle classi, è un metodo sviluppato da me perIl metodo che sfrutta le proprietà delle classi, è un metodo sviluppato da me per aumentare la stabilità delle app, sfrutta i principi di visibilità publica dei metodi delleaumentare la stabilità delle app, sfrutta i principi di visibilità publica dei metodi delle classi. In pratica consiste nel creare un metodo GET (che chiameremo getValore() ) ilclassi. In pratica consiste nel creare un metodo GET (che chiameremo getValore() ) il quale restituisca la variabile di nostro interesse, per poi riprenderlo nell'activityquale restituisca la variabile di nostro interesse, per poi riprenderlo nell'activity MiaActivity. Un esempio pratico:MiaActivity. Un esempio pratico: - MainActivity- MainActivity Si dichiare globalmente la variabileSi dichiare globalmente la variabile public static String valore1;public static String valore1; Nel metodo del button, al posto del putStringExtra si scriveNel metodo del button, al posto del putStringExtra si scrive valore1 = “ciao”;valore1 = “ciao”; - MiaActivity- MiaActivity String valoreLetto = MainActivity.getValore();String valoreLetto = MainActivity.getValore();
  15. 15. ManifestManifest Il file Manifest, da non sottovalutare, è il manifesto dell'app. In esso sono presenti:Il file Manifest, da non sottovalutare, è il manifesto dell'app. In esso sono presenti: -- Impostazioni delle versioni di Android dove l'app può essere installataImpostazioni delle versioni di Android dove l'app può essere installata -- Impostazione dello style dell'appImpostazione dello style dell'app -- Lista permessi che l'app android può avereLista permessi che l'app android può avere -- Lista delle Activity presenti e loro interazioneLista delle Activity presenti e loro interazione -- Impostazione Activity di avvioImpostazione Activity di avvio -- Impostazione dell'orientamento dell'app ( Potrait – Landscape )Impostazione dell'orientamento dell'app ( Potrait – Landscape ) Per chiarire meglio la questione dei permessi. Le app, per obbligo di privacy siaPer chiarire meglio la questione dei permessi. Le app, per obbligo di privacy sia dell'utente che dello sviluppatore, descrive esattamente ciò che andrà a fare. Peròdell'utente che dello sviluppatore, descrive esattamente ciò che andrà a fare. Però per le funzioni relative alla gestione dei dati utenti e delle periferiche, l'app ha bisonoper le funzioni relative alla gestione dei dati utenti e delle periferiche, l'app ha bisono di essere abilitata alla gestione. Per farlo richiede dei permessi che il sistemadi essere abilitata alla gestione. Per farlo richiede dei permessi che il sistema operativo mette a disposizione per le app.operativo mette a disposizione per le app. In questo modo l'accesso ai dati è controllato, per cui se qualche App conIn questo modo l'accesso ai dati è controllato, per cui se qualche App con descrizione fatiscente, dice che può accedere ai vostri dati, state attenti, perchèdescrizione fatiscente, dice che può accedere ai vostri dati, state attenti, perchè potrebbe rubarvi tutte le vostre foto, messaggi, ecc....potrebbe rubarvi tutte le vostre foto, messaggi, ecc....
  16. 16. Ottenere dati da ServerOttenere dati da Server Nelle varie commissioni che si potrebbero ottenere, circa il 98% necessita di unaNelle varie commissioni che si potrebbero ottenere, circa il 98% necessita di una connessione al server del committente per poter fare il retrieve dei dati daconnessione al server del committente per poter fare il retrieve dei dati da visualizzare nell'app e per impostare delle azioni lato server.visualizzare nell'app e per impostare delle azioni lato server. Android impedisce nel MainThread ( chiamato UiThread ) di poter effettuareAndroid impedisce nel MainThread ( chiamato UiThread ) di poter effettuare connessioni o richieste Http. Per ovviare a questo problema, si utilizzano i Threadconnessioni o richieste Http. Per ovviare a questo problema, si utilizzano i Thread oppure gli AsyncTask.oppure gli AsyncTask. Però qui giunge un nuovo problema, ovvero che Android impedisce ai thread diPerò qui giunge un nuovo problema, ovvero che Android impedisce ai thread di poter gestire direttamente gli elementi grafici, per poterlo fare bisogna utilizzare inpoter gestire direttamente gli elementi grafici, per poterlo fare bisogna utilizzare in modo efficare un metodo ( all'interno del thread ) chiamato runOnUiThread chemodo efficare un metodo ( all'interno del thread ) chiamato runOnUiThread che spesso porta a problematiche maggiori.spesso porta a problematiche maggiori. Il mio consiglio è quello di utilizzare gli AsyncTask.Il mio consiglio è quello di utilizzare gli AsyncTask.
  17. 17. Ottenere dati da Server - AsyncTaskOttenere dati da Server - AsyncTask Consiglio gli AsyncTask perchè da una sola classe è possibile gestire sia il thread inConsiglio gli AsyncTask perchè da una sola classe è possibile gestire sia il thread in background, che gli elementi grafici, infatti la classe si definisce così:background, che gli elementi grafici, infatti la classe si definisce così: private class LongOperation extends AsyncTask<String, Void, String> {private class LongOperation extends AsyncTask<String, Void, String> { @Override@Override protected String doInBackground(String... params) {protected String doInBackground(String... params) { // codice per la connessione http// codice per la connessione http return null;return null; }} @Override@Override protected void onPostExecute(String result) {protected void onPostExecute(String result) { // Codice per gestire la GUI// Codice per gestire la GUI }}
  18. 18. Ottenere datida Server – XML vs JSONOttenere datida Server – XML vs JSON Una volta capito come collegarci al server, occorre capire come formattare i dati alUna volta capito come collegarci al server, occorre capire come formattare i dati al fine di poter leggere correttamente i valori ricevuti e poterli interpretare.fine di poter leggere correttamente i valori ricevuti e poterli interpretare. I formati di testo utilizzati per dare una semantica ai dati provenienti dal server sonoI formati di testo utilizzati per dare una semantica ai dati provenienti dal server sono XML e JSON. Di seguito un esempio dei due:XML e JSON. Di seguito un esempio dei due: <person> <age>12</age> <name>Danielle</name> </person> { "age" : 12, "name" : "Danielle" } Qual è meglio usare. Ci sono diverse filosofie, ma è stato generalmente riconosciutoQual è meglio usare. Ci sono diverse filosofie, ma è stato generalmente riconosciuto come migliore il JSON. I motivi sono molteplici, è maggiormente Human Readable, ecome migliore il JSON. I motivi sono molteplici, è maggiormente Human Readable, e l'azione di parsing ( retrieve del dato rispetto ad un valore e ad una semantical'azione di parsing ( retrieve del dato rispetto ad un valore e ad una semantica precisa ) avviene in tempi brevi.precisa ) avviene in tempi brevi. L'XML è generalmente più complesso da leggere, e per i cellualri, la suaL'XML è generalmente più complesso da leggere, e per i cellualri, la sua elaborazione resta un po' pesante da gestire da parte del processore.elaborazione resta un po' pesante da gestire da parte del processore.
  19. 19. Sviluppare un Progetto - App RubricaSviluppare un Progetto - App Rubrica L'app che avete ricevuto via email è stata progetta a scopo didattico per farvi capireL'app che avete ricevuto via email è stata progetta a scopo didattico per farvi capire alcuni concetti.alcuni concetti. Come si comincia un progetto Android? Innanzitutto la fase iniziale è fondamentale.Come si comincia un progetto Android? Innanzitutto la fase iniziale è fondamentale. Si parla con la parte committente è si seguono alcuni step:Si parla con la parte committente è si seguono alcuni step: -- Verso chi è orientata l'appVerso chi è orientata l'app -- A cosa serve l'appA cosa serve l'app -- Che tipo di servizi deve offrireChe tipo di servizi deve offrire -- Su quali disposiviti deve essere installabileSu quali disposiviti deve essere installabile -- In quanto tempo deve essere sviluppataIn quanto tempo deve essere sviluppata Una volta dato risposta a queste domande, e ad altre qualora ce ne fossero, siUna volta dato risposta a queste domande, e ad altre qualora ce ne fossero, si stipula, con la parte committente, un allegato tecnico al quale entrambi le parti sistipula, con la parte committente, un allegato tecnico al quale entrambi le parti si devono attenere. Niente deve essere fatto né in più né in meno rispetto a quantodevono attenere. Niente deve essere fatto né in più né in meno rispetto a quanto scritto nell'allegato Tecnico.scritto nell'allegato Tecnico.
  20. 20. Sviluppare un Progetto - App RubricaSviluppare un Progetto - App Rubrica Una volta ottenute le risposte e firmato l'allegato tecnico, si COMINCIA!Una volta ottenute le risposte e firmato l'allegato tecnico, si COMINCIA! Prendiamo carta e penna e cominciare a buttare giù delle idee sul come gestire ePrendiamo carta e penna e cominciare a buttare giù delle idee sul come gestire e sviluppare l'app.sviluppare l'app. La cosa migliore è utilizzare il concetto e la fisolofia di lavoro dell' FTD ( First TimeLa cosa migliore è utilizzare il concetto e la fisolofia di lavoro dell' FTD ( First Time Development ). Ovvero cercare di suddividere l'app in piccoli problemi, ed una voltaDevelopment ). Ovvero cercare di suddividere l'app in piccoli problemi, ed una volta individuati creare delle micro-app, che li risolvono poco alla volta. L'unione di questiindividuati creare delle micro-app, che li risolvono poco alla volta. L'unione di questi problemi creare l'app stabile che poi verrà pubblicata.problemi creare l'app stabile che poi verrà pubblicata. La fisolofia dell' FTD prende spunto dal concetto di DIVIDE ET IMPERA, ovvero,La fisolofia dell' FTD prende spunto dal concetto di DIVIDE ET IMPERA, ovvero, dividi ed elaborare, suddividere l'app in micro-app al fine di roslvere tutti i problemidividi ed elaborare, suddividere l'app in micro-app al fine di roslvere tutti i problemi subito, prevenendo così la generazione di errori la cui individuazione porrebbe deisubito, prevenendo così la generazione di errori la cui individuazione porrebbe dei problemi.problemi. Analizziamo l'appAnalizziamo l'app
  21. 21. Sviluppare un Progetto - ConsigliSviluppare un Progetto - Consigli Nello sviluppare applicazioni, sicuramente non si è esenti dall'avere problemi.Nello sviluppare applicazioni, sicuramente non si è esenti dall'avere problemi. A cominciare da Eclipse a finire con i propri dispositivi, c'è da diventare matti, peròA cominciare da Eclipse a finire con i propri dispositivi, c'è da diventare matti, però mantendo la calma ed utilizzando il guru di tutto.... Google ….i problemi possonomantendo la calma ed utilizzando il guru di tutto.... Google ….i problemi possono sempre essere risolti.sempre essere risolti. Spesso però ci si trova ad errori o bug che sembrano davvero assurdi, diSpesso però ci si trova ad errori o bug che sembrano davvero assurdi, di conseguenza la nostra reazione a questi erroriconseguenza la nostra reazione a questi errori sarà.........................................................................................................................................sarà......................................................................................................................................... ..................................................................................................................
  22. 22. Sviluppare un Progetto - ConsigliSviluppare un Progetto - Consigli Passato il momento di sconforto, bisogna ricordarsi una famosissima frase di JackPassato il momento di sconforto, bisogna ricordarsi una famosissima frase di Jack Sparrow:Sparrow: ““Il problema non è il problema, il problema è il tuo atteggiamento nei confronti delIl problema non è il problema, il problema è il tuo atteggiamento nei confronti del problema, comprendi?”problema, comprendi?”
  23. 23. Conclusionie ConsigliConclusionie Consigli Per concludere ecco un elenco dei siti da utilizzare al fine di reperire tutte le info chePer concludere ecco un elenco dei siti da utilizzare al fine di reperire tutte le info che servono per realizzare un app:servono per realizzare un app: -- www.google.comwww.google.com ( manco a dirlo )( manco a dirlo ) -- stackoverflow.comstackoverflow.com -- www.androidhive.comwww.androidhive.com (quest'ultimo contiene molteplici tutorial che aiutano(quest'ultimo contiene molteplici tutorial che aiutano da morire i newbie )da morire i newbie )
  24. 24. GRAZIEGRAZIE!! https://twitter.com/StrettoDigitalehttps://twitter.com/StrettoDigitale - #glsd- #glsd

×