Librinformatica

Newsletter

Libreria Gaia Scienza Edizioni Erasmo Edizioni del Boccale

Sviluppare App per Android (SDK 4.0 Ice Cream Sandwich)

Mondadori Informatica

Sviluppare App per Android (SDK 4.0 Ice Cream Sandwich)

In offerta
34,00 € IVA compresa

40,00 € IVA compresa

(sconto del 15 %)

9788861143302

  • Volumi: 1
  • Data Pubblicazione: 04/2012
  • Lingua: italiano
  • Livello: Intermedio Avanzato
  • Pagine: 204
  • Collana: Programming series
  • Editore Originale: Peachpit Press
  • Titolo Originale: Creating Android Applications: Develop and Design
  • Autore: Haseman Chris

Con più della metà del mercato globale degli smartphone, Android offre agli sviluppatori un mercato vibrante e in crescita. In questo libro, Chris Haseman, uno dei maggiori esperti di programmazione sulla piattaforma mobile di Google, vi guida alla scoperta del potente insieme di strumenti Android per scrivere la prossima generazione di applicazioni per tablet e Smartphone.

Dopo un'introduzione su come installare e configurare l'SDK di Android e l'ambiente di sviluppo Eclipse, si passa subito alla realizzazione del proprio progetto Android: un percorso completo allo sviluppo per il Sistema Operativo mobile di Google, arricchito da tantissime indicazioni e consigli preziosi basati sull'esperienza dell'autore. Dopo aver illustrato gli elementi fondamentali per creare un'interfaccia grafica intuitiva e curata, si prosegue mostrando come recuperare i dati e come utilizzare gli elenchi per visualizzarli. Poi si approfondisce l'uso dei servizi, componenti importanti, e spesso sottoutilizzati, della piattaforma mobile e in particolare quelli multimediali e di geolocazione, fondamentali per scrivere applicazioni di qualità per l'ecosistema Android.


L'autore

Chris Haseman scrive software mobile sotto varie forme fin dal 2003. Ha preso parte a diversi progetti BREW su larga scala, dalla gestione di messaggi MMS a soluzioni per la Major League Baseball. Più di recente, è stato uno dei primi ingegneri Android ad occuparsi del media player doubleTwist, e ora è il responsabile dello sviluppo Android per Tumblr. È membro di facoltà alla General Assembly di New York City, dove insegna sviluppo Android.

SOMMARIO

Introduzione.... . . . . . . xiii

Benvenuti su Android ... . . . . . . . . . . . . . xv



CAPITOLO 1 PRIMI PASSI CON ANDROID ... 2

Download del software per sviluppatori .. . . . . . . . . . . . . 4

Android SDK.... . . . . . . . . . 4

Eclipse .... . . . . . . . . . . . . . . . 4

Java ..... 4

Installare il tutto.... . . . 5

Installazione di Eclipse ... . . . . . . . . . . . . . . 5

Installazione di Android SDK ... . . . . . . . 5

Download di un pacchetto ... . . . . . . . . . . 6

Configurazione di Eclipse ... . . . . . . . . . . . 7

Aggiunta del plug-in Android a Eclipse .. . . . . . . . . . . . . . . 7

Individuazione dell’SDK ... . . . . . . . . . . . . . 8

Creazione di un emulatore ... . . . . . . . . . . 9

Lavorare con il telefono Android ... . . . 10

Creazione di un nuovo progetto Android .. . . . . . . . . . . 12

Esecuzione di un nuovo progetto ... . 13

Diagnostica dell’emulatore ... . . . . . . . 14

Riepilogo .... . . . . . . . . . 15



CAPITOLO 2 ESPLORAZIONE DEGLI ELEMENTI DELL’APPLICAZIONE . . . . . . . . 16

I file .... . . . . . . . . . . . . . . . 18

Il manifest .... . . . . . . . . . 18

La classe Activity .... . 19

Osservare l’activity in azione ... . . . . . . . 19

Implementazione di una activity ... . . 20

Vita e tempi di una activity ... . . . . . . . . . 26

Giro premio: metodi di ritenzione dei dati .. . . . . . . . . . . 29

La classe Intent .... . . 30

Registrazione nel manifest ... . . . . . . . . . . 31

Aggiunta di un intent ... . . . . . . . . . . . . . . 31

Ascolto degli intent a runtime ... . . . . . 33

Scambio di dati .... . . . . 36

La classe Application ... . . . . . . . . . . . . . 39

La dichiarazione predefinita di Application .. . . . . . . . . 49

Personalizzazione dell’applicazione ..39

Accesso all’applicazione... . . . . . . . . . . . . 40

Riepilogo .... . . . . . . . . . 41



CAPITOLO 3 CREAZIONE DI INTERFACCE UTENTE .. . . . . . . . . 42

La classe View .... . . . . 44

Creazione di una view ... . . . . . . . . . . . . . . 44

Modifica della UI a runtime ... . . . . . . . . 48

Gestione di alcuni compiti comuni ... . 50

Creazione di view personalizzate... . . . 53

Gestione delle risorse... . . . . . . . . . . . . . . 58

Panoramica della cartella delle risorse .. . . . . . . . . . . . . . 58

Cartella Values .... . . . . 59

Cartelle del layout .... 60

Cartelle Drawable .... . 61

Gestione del layout ...62

ViewGroup .... . . . . . . . . . 62

AbsoluteLayout .... . . . . 64

LinearLayout .... . . . . . . 67

RelativeLayout .... . . . . . 74

Riepilogo .... . . . . . . . . . 79



CAPITOLO 4 ACQUISIZIONE DATI ... . . . . . . . 80

Il thread principale ...82

Ehi tu, dammi quei dati! ... . . . . . . . . . . . 82

I cani da guardia .... . . 83

Cosa non fare .... . . . . . . 84

Quando mi trovo nel thread principale? .. . . . . . . . . . . . . 84

Star fuori dal thread principale ... . . . 85

Tornare al thread principale ... . . . . . . . 86

Ci sarà un modo migliore! ... . . . . . . . . . . 87

AsyncTask .... . . . . . . . . 87

Come farlo lavorare per i propri scopi .. . . . . . . . . . . . . . . 89

Alcuni avvertimenti importanti ... . . . . 91

IntentService .... . . . . . 92

Dichiarazione di un servizio ... . . . . . . . 92

Estrazione delle immagini ... . . . . . . . . . . 94

Verifica del lavoro svolto ... . . . . . . . . . . . . 98

Riepilogo .... . . . . . . . . . 99



CAPITOLO 5 ADAPTER, LISTVIEW E ELENCHI .. . . . . . . . . . . . . 100

Due componenti per un elenco ... . . 102

ListView .... . . . . . . . . . . 102

Adapter .... . . . . . . . . . . 102

Un menu principale ... . . . . . . . . . . . . . . 102

Creazione dei dati del menu ... . . . . . . 102

Creazione di una ListActivity ... . . . . . 103

Definizione di un layout per ListActivity .. . . . . . . . . . . 104

Creazione di un elemento della lista del menu .. . . . . . 105

Creazione e popolamento di ArrayAdapter .. . . . . . . . 106

Reagire agli eventi click ... . . . . . . . . . . . 106

ListView complesse ... . . . . . . . . . . . . . . 108

Il piano d’azione .... . 108

Creazione della view del layout principale .. . . . . . . . . 108

Creazione di ListActivity ... . . . . . . . . . 109

Ottenere dati da Twitter ... . . . . . . . . . . 110

Creazione di un adapter personalizzato .. . . . . . . . . . . . 111

Realizzazione delle ListView ... . . . . . . 113

Come interagiscono questi oggetti? .. . . . . . . . . . . . . . . 116

Riepilogo .... . . . . . . . . 117



CAPITOLO 6 I SERVIZI .... . 118

Cos’è un servizio? ...120

Il ciclo di vita di un servizio ... . . . . . . 120

Mantenere in esecuzione il servizio ..121

Chiudilo! .... . . . . . . . . . . 121

Comunicazione .... . 122

Comunicazione basata su intent ... . . 122

Comunicazione tramite un binder service .. . . . . . . . . . 130

Riepilogo .... . . . . . . . . 135



CAPITOLO 7 MOLTI DISPOSITIVI, UN’APPLICAZIONE .. . . . . 136

Scoprire i segreti della cartella res/..138

Cartelle di layout .... . 138

Che si può fare oltre alla modalità landscape? .. . . . . 143

La definizione completa dello schermo .. . . . . . . . . . . . . 144

Limitare l’accesso all’app ai dispositivi idonei .. . . . . 145

Il tag .... . . . . . . 146

Numero di versione dell’SDK ... . . . . . . 146

Gestione del codice nelle versioni Android più vecchie . . . . . . . . . . . . 147

SharedPreferences e Apply ... . . . . . . . . 147

Riflettere le difficoltà ... . . . . . . . . . . . . . . 148

Tenere d’occhio i livelli delle API ... . . 149

Riepilogo .... . . . . . . . . 149



CAIPTOLO 8 FILM E MUSICA ... . . . . . . . . . . . 150

Video.... . . . . . . . . . . . . . 152

Aggiunta di una VideoView ... . . . . . . . 152

Impostazione della VideoView ... . . . . 153

Ricavare i media da riprodurre ... . . . 154

Caricamento e riproduzione dei media .. . . . . . . . . . . . . 155

Rilascio .... . . . . . . . . . . . . 156

Il resto, come si dice, dipende da voi .. . . . . . . . . . . . . . . . 157

Audio .... . . . . . . . . . . . . 157

MediaPlayer e stato ... . . . . . . . . . . . . . . . 157

Riproduzione audio ...158

Rilascio .... . . . . . . . . . . . . 159

È così semplice .... . . . 160

Riproduzione audio prolungata ... . . 160

Collegamento al servizio ... . . . . . . . . . 160

Ricerca del brano più recente ... . . . . . . 161

Riproduzione dell’audio nel Servizio .. . . . . . . . . . . . . . . . 163

Rilascio .... . . . . . . . . . . . . 165

Interruzioni .... . . . . . . . 166

Riepilogo .... . . . . . . . . 167



CAPITOLO 9 CALCOLO DELLA POSIZIONE E UTILIZZO DI MAPPE . . . . . . . . . . 168

Elementi del calcolo della posizione .. . . . . . . . . . . . . . 170

Mamma posso? .... . . . 170

Attenti a cosa chiedete ... . . . . . . . . . . . . 170

Individuare un buon provider ... . . . . . 170

Ottenere i risultati .... 171

Una subdola scorciatoia ... . . . . . . . . . . . 172

È tutto! .... . . . . . . . . . . . . 172

Mostrami la mappa! ... . . . . . . . . . . . . . . 172

Il riferimento alla libreria ... . . . . . . . . . 172

Aggiunta al manifest ... . . . . . . . . . . . . . 173

Creazione di MapActivity ... . . . . . . . . . 174

Creazione di una MapView ... . . . . . . . . 174

Run, Baby, Run .... . . . . 175

Riepilogo .... . . . . . . . . 177



CAPITOLO 10 TABLET, FRAMMENTI E ACTION BAR: ODDIO! . . . . . . . . . . . . . . . 178

Frammenti .... . . . . . . 180

Il ciclo di vita del frammento ... . . . . . 180

Creazione di un frammento ... . . . . . . . 181

Mostrare un frammento ... . . . . . . . . . . . 182

Fornire la compatibilità all’indietro .. . . . . . . . . . . . . . . . 186

La action bar .... . . . . 186

Mostrare la action bar ... . . . . . . . . . . . . 187

Aggiunta di elementi alla action bar .. . . . . . . . . . . . . . . . 188

Riepilogo .... . . . . . . . . 191



CAPITOLO 11 PUBBLICAZIONE DELL’APPLICAZIONE .. . . . . . . 192

Packaging e versioning ... . . . . . . . . . . . 194

Impedire il debug .... . 194

Denominazione del package ... . . . . . . . 194

Versioning .... . . . . . . . . 195

Impostazione di un valore minimo dell’SDK .. . . . . . . . 195

Packaging e firma ...196

Esportazione di una versione firmata .. . . . . . . . . . . . . . 196

Backup del file keystore ... . . . . . . . . . . . . 198

Invio dell’app .... . . . . 199

Analizzare i report dei crash e correggere gli errori .199

Aggiornate frequentemente ... . . . . . . . 199

Riepilogo .... . . . . . . . . 199



Indice .... . . . . . . . . . . . . 200

Carrello

Non ci sono prodotti

Spedizione 0,00 €
Totale 0,00 €

Carrello Acquista