ebook img

Java PROGRAMMAZIONE AD OGGETTI E APPLICAZIONI ANDROID PDF

546 Pages·2017·12.567 MB·Italian
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Java PROGRAMMAZIONE AD OGGETTI E APPLICAZIONI ANDROID

Agostino Lorenzi Andrea Rizzi Java PROGRAMMAZIONE AD OGGETTI E APPLICAZIONI ANDROID ATLAS © Istituto Italiano Edizioni Atlas ISBN 978-88-268-9110-1 Edizioni: Certi Car Graf 1 2 3 4 5 6 7 8 9 10 Certificazione 2013 2014 2015 2016 2017 Cartaria, Cartotecnica, Grafica Direzione editoriale: Roberto Invernici La casa editrice ATLAS opera con il Sistema Copertina: Vavassori & Vavassori Qualità conforme alla norma UNI EN ISO 9001: Videoimpaginazione: Claudio Tognozzi 2008 certificato da CISQ CERTICARGRAF. Disegni: Claudio Tognozzi - Vavassori & Vavassori Stampa: Vincenzo Bona - Torino Con la collaborazione della Redazione e dei Consulenti dell’I.I.E.A. L’Editore si impegna a mantenere invariato il contenuto di questo volume, secondo le norme vigenti. Il presente volume è conforme alle disposizioni ministeriali in merito alle caratteristiche tecniche e tecnologiche dei libri di testo. L’Editore dichiara la propria disponibilità a regolarizzare errori di attribuzione o eventuali omissioni sui detentori di diritto di copyright non potuti reperire. Ogni riproduzione del presente volume è vietata. Le fotocopie per uso personale del lettore possono essere effettuate nei limiti del 15% di ciascun volume/fascicolo di periodico dietro pagamento alla SIAE del compenso previsto dall’art. 68, commi 4 e 5, della legge 22 aprile 1941 n. 633. Le fotocopie effettuate per finalità di carattere professionale, economico o commerciale o comunque per uso diverso da quello personale possono essere effettuate a seguito di specifica autorizzazione rilasciata da CLEARedi, Centro Licenze e Autorizzazioni per le Riproduzioni Editoriali, Corso di Porta Romana 108, 20122 Milano, e-mail [email protected] e sito web www.clearedi.org. © 2013 by Istituto Italiano Edizioni Atlas Via Crescenzi, 88 - 24123 Bergamo Tel. 035/249.711 - Fax 035/216.047 - www.edatlas.it 2 © Istituto Italiano Edizioni Atlas PRESENTAZIONE UN’OPERA MISTA, MULTIMEDIALE E DIGITALE Quest’opera propone lo studio e l’applicazione del linguaggio Java secondo le Linee Guida per il secondo biennio degli Istituti Tecnici. È una proposta editoriale mista, composta di materiali a stampa, materiali digitali integrativi on line, materiali multimediali su supporto ottico; inoltre è disponibile in forma digitale (E-book) su piattaforma dedicata. MATERIALI A STAMPA Il testo rappresenta un’edizione aggiornata che riduce gli aspetti teorici su macchine e sistemi operativi a un solo capitolo di richiami, per sistemare le conoscenze di base provenienti dal biennio, e sviluppa ampiamente la metodologia di programmazione con l’impostazione ad oggetti, limitando all’essenziale la programmazione procedurale. Il testo comprende anche una parte sulle applicazioni per sistemi Android, per lo stretto legame tra linguaggio Java e sviluppo di applicazioni per l’informatica mobile. I contenuti seguono puntualmente le Linee guida per il secondo biennio negli Istituti Tecnici. (cid:129) Richiami sul Prompt dei comandi, perché lo sviluppo dei programmi viene fatto in grande parte da linea comandi (cid:129) Linguaggi e programmi (cid:129) Sintassi e istruzioni del linguaggio Java (cid:129) Ambienti di sviluppo in Java (con guida operativa agli ambienti NetBeans ed Eclipse) (cid:129) Classi e oggetti (cid:129) Strutture di dati e file (cid:129) Programmazione guidata dagli eventi e interfacce grafiche (con le librerie Java più recenti) (cid:129) Applet (cid:129) Accesso ai database con JDBC (cid:129) Servlet e pagine JSP (cid:129) Applicazioni dell’informatica mobile per sistemi Android (cid:129) Sicurezza (argomento previsto nelle Linee guida). Le attività proposte sono presentate sotto forma di progetti guidati, in modo che siano facilmente realizzate nel laboratorio scolastico o con il computer personale dello studente a casa. I progetti sono sviluppati passo dopo passo con le videate di spiegazione. Al termine di ogni capitolo si trovano le domande di autoverifica e i problemi applicativi. Il riferimento alle domande e ai problemi è contenuto all’interno della trattazione dei diversi argomenti. Per ogni capitolo sono presenti anche le schede Focus notes per l’utilizzo del lessico e della terminologia di settore in lingua inglese (come previsto nelle Linee guida). Infine l’appendice contiene le tabelle di riferimento per il linguaggio Java e Android, una guida rapida per i linguaggi HTML e SQL, il glossario dei termini dell’informatica, le solu- zioni alle domande strutturate di autoverifica, e l’indice analitico. © Istituto Italiano Edizioni Atlas 3 E-BOOK PER COMPUTER, TABLET E LIM L’opera è disponibile anche in versione digitale E-book per computer, tablet e LIM sul sito Scuolabook: www.scuolabook.it. Tale versione digitale comprende il testo sfogliabile e numerose espansioni multimediali quali: (cid:129) Test strutturati interattivi (cid:129) Lezioni multimediali (videoanimazioni con commento vocale) (cid:129) Progetti aggiuntivi di approfondimento. MATERIALI DIGITALI INTEGRATIVI ON LINE Le espansioni multimediali sopra indicate insieme ad altri materiali quali: (cid:129) Approfondimenti e integrazioni dei contenuti trattati nel testo (cid:129) Note operative sull’uso dei supporti software per lo sviluppo delle applicazioni (cid:129) Aggiornamenti sui software presentati nel testo sono disponibili per Studenti e Docenti sulla Libreria Web, accessibile tramite un collegamen- to diretto al sito dell’Atlas: http://libreriaweb.edatlas.it oppure con il seguente codice QR per dispositivi mobili. I riferimenti ai Materiali on line sono indicati, in modo puntuale e con numerazione progressiva, al termine dei paragrafi di ogni capitolo, richiamati con un apposito simbolo. I riferimenti sono inoltre elencati nell’indice generale del testo. MATERIALI MULTIMEDIALI E DIDATTICI PER L’INSEGNANTE A disposizione del Docente ci sono innanzitutto i Materiali didattici per l’Insegnante, disponibili nell’area riservata del sito della Casa Editrice, a cui i Docenti possono accedere con password, e contemplano: (cid:129) note per la compilazione dei Piani di lavoro per i Consigli di classe (cid:129) tracce di soluzione ai problemi del testo (cid:129) repertorio di esercizi da assegnare come verifiche in classe. Inoltre i Docenti possono disporre, a richiesta, di materiali multimediali su supporto digitale: (cid:129) presentazioni in PowerPoint e in pdf che illustrano i contenuti dei capitoli e che possono essere utilizzati con la LIM per lezioni multimediali in classe; (cid:129) codici sorgente completi dei progetti presentati nel volume; (cid:129) ulteriore repertorio di esercizi che possono essere assegnati come autoverifiche agli studenti. L’Editore 4 © Istituto Italiano Edizioni Atlas INDICE PARTE PRIMA - PREMESSE INTRODUTTIVE 11 Capitolo 1 - Macchine e sistemi operativi ................................................................................................ 11 1 Concetti fondamentali ............................................................................................................................ 12 2 Rappresentazione delle informazioni ...................................................................................................... 15 3 Algebra booleana ................................................................................................................................... 18 4 Dispositivo automatico ........................................................................................................................... 21 5 Struttura generale del sistema di elaborazione ........................................................................................ 23 6 Il software .............................................................................................................................................. 26 7 Il sistema operativo ................................................................................................................................ 27 8 Interprete dei comandi ........................................................................................................................... 30 9 Il sistema operativo Windows ................................................................................................................. 31 10 Multitasking ............................................................................................................................................ 33 11 L’interfaccia standard delle applicazioni ................................................................................................... 34 12 Copie di sicurezza .................................................................................................................................. 36 Lavorare in rete ................................................................................................................................. 36 AUTOVERIFICA ............................................................................................................................................. 39 DOMANDE ................................................................................................................................................... 39 PROBLEMI ................................................................................................................................................... 40 Focus notes: Operating systems ................................................................................................................ 42 SCHEDA DI AUTOVALUTAZIONE ................................................................................................................... 44 Il Prompt dei comandi di Windows 45 1 La finestra Prompt dei comandi .............................................................................................................. 45 2 I file e le directory .................................................................................................................................. 46 3 I comandi ............................................................................................................................................... 48 4 I comandi per la gestione di directory e file ............................................................................................ 49 5 La ridirezione di input e output ............................................................................................................... 53 6 La pipeline .............................................................................................................................................. 56 Gestione del sistema e delle periferiche ............................................................................................ 57 AUTOVERIFICA ............................................................................................................................................. 59 PROBLEMI ................................................................................................................................................... 59 PARTE SECONDA - LA PROGRAMMAZIONE 61 Capitolo 2 - Linguaggi e programmi ......................................................................................................... 61 1 Modello del problema ............................................................................................................................ 62 2 Dati e azioni ........................................................................................................................................... 63 3 L’algoritmo ............................................................................................................................................. 66 4 Algoritmo ed esecutore ......................................................................................................................... 67 5 Acquisire e comunicare i dati ................................................................................................................. 69 6 Gli operatori ........................................................................................................................................... 70 7 Strumenti per la stesura di un algoritmo ............................................................................................... 71 La Macchina di Turing ......................................................................................................................... 75 8 Le strutture di controllo .......................................................................................................................... 79 9 La struttura di alternativa ........................................................................................................................ 82 La struttura di scelta multipla ............................................................................................................. 83 10 Logica iterativa ....................................................................................................................................... 85 11 Sviluppo top-down .................................................................................................................................. 88 12 Funzioni ................................................................................................................................................. 91 13 Logica ricorsiva ....................................................................................................................................... 92 14 Paradigmi di programmazione ................................................................................................................. 93 15 Linguaggi di programmazione ................................................................................................................. 95 16 La produzione del software .................................................................................................................... 98 L’astrazione ........................................................................................................................................ 99 AUTOVERIFICA ............................................................................................................................................. 102 DOMANDE ................................................................................................................................................... 102 PROBLEMI ................................................................................................................................................... 104 Focus notes: Computer programming ...................................................................................................... 106 SCHEDA DI AUTOVALUTAZIONE ................................................................................................................... 108 © Istituto Italiano Edizioni Atlas 5 Capitolo 3 - Le basi del linguaggio Java ................................................................................................... 109 1 Caratteristiche generali ........................................................................................................................... 110 2 L’ambiente di programmazione ............................................................................................................... 111 3 La struttura dei programmi .................................................................................................................... 113 4 Gli identificatori e le parole chiave .......................................................................................................... 115 5 Variabili e costanti .................................................................................................................................. 116 6 Tipi di dato ............................................................................................................................................. 117 7 Il casting per la conversione di tipo ........................................................................................................ 119 8 Operatori ............................................................................................................................................... 121 Notazione prefissa e postfissa .......................................................................................................... 122 9 Commenti e documentazione ................................................................................................................ 123 10 La gestione dell’input/output ................................................................................................................. 124 11 Le strutture di controllo: sequenza ......................................................................................................... 128 12 Le strutture di controllo: selezione ......................................................................................................... 129 13 Le strutture di controllo: ripetizione ....................................................................................................... 131 Cicli interrotti e cicli infiniti ................................................................................................................. 134 14 La struttura di dati array ......................................................................................................................... 135 15 Gli array multidimensionali ..................................................................................................................... 138 16 Le eccezioni ........................................................................................................................................... 140 AUTOVERIFICA ............................................................................................................................................. 142 DOMANDE ................................................................................................................................................... 142 PROBLEMI ................................................................................................................................................... 146 Focus notes: Java programming language ............................................................................................... 150 SCHEDA DI AUTOVALUTAZIONE .................................................................................................................. 152 Ambienti di sviluppo in Java 153 Eclipse ......................................................................................................................................................... 153 NetBeans ..................................................................................................................................................... 158 PARTE TERZA - PROGRAMMAZIONE AD OGGETTI 163 Capitolo 4 - Classi e oggetti ...................................................................................................................... 163 1 Orientamento agli oggetti ...................................................................................................................... 164 2 Gli oggetti e le classi .............................................................................................................................. 165 L’astrazione nella OOP ........................................................................................................................ 168 3 Dichiarazione e utilizzo di una classe ....................................................................................................... 169 4 Dichiarazione degli attributi ..................................................................................................................... 172 5 Dichiarazione dei metodi ........................................................................................................................ 173 6 Creazione degli oggetti ........................................................................................................................... 180 Riferimenti nulli ................................................................................................................................. 182 Uguaglianza tra oggetti ...................................................................................................................... 183 7 Utilizzo degli oggetti ............................................................................................................................... 184 Attributi e metodi static ..................................................................................................................... 188 8 Mascheramento dell’informazione nelle classi ........................................................................................ 189 9 Realizzazione di programmi object-oriented ............................................................................................ 195 10 Array di oggetti ....................................................................................................................................... 199 11 Ereditarietà ............................................................................................................................................. 204 12 Dichiarazione e utilizzo di una sottoclasse ............................................................................................... 207 13 La gerarchia delle classi .......................................................................................................................... 210 Le ultime classi della gerarchia ........................................................................................................... 211 14 Polimorfismo .......................................................................................................................................... 212 15 Le librerie ............................................................................................................................................... 217 16 Le stringhe ............................................................................................................................................ 220 AUTOVERIFICA ............................................................................................................................................. 225 DOMANDE ................................................................................................................................................... 225 PROBLEMI ................................................................................................................................................... 228 Focus notes: Object oriented programming, Declaring Classes, Creating Objects ................................ 232 SCHEDA DI AUTOVALUTAZIONE ................................................................................................................... 234 Capitolo 5 - Strutture di dati e file ............................................................................................................ 235 1 Strutture di dati dinamiche ...................................................................................................................... 236 2 Array dinamici ......................................................................................................................................... 236 Gestione automatica della memoria ................................................................................................... 245 6 © Istituto Italiano Edizioni Atlas 3 Pila ........................................................................................................................................................ 246 4 Coda ...................................................................................................................................................... 250 5 Lista concatenata ................................................................................................................................... 254 6 Albero .................................................................................................................................................... 261 7 I flussi di input/output ............................................................................................................................ 270 8 File strutturati ......................................................................................................................................... 272 9 File di testo ........................................................................................................................................... 277 La classe StringTokenizer ................................................................................................................... 282 AUTOVERIFICA ............................................................................................................................................. 287 DOMANDE ................................................................................................................................................... 287 PROBLEMI ................................................................................................................................................... 289 Focus notes: Dynamic data structures, File Management ....................................................................... 292 SCHEDA DI AUTOVALUTAZIONE .................................................................................................................. 294 Programmazione guidata dagli eventi e interfaccia grafica 295 1 L’interfaccia per l’utente ......................................................................................................................... 295 2 Gli elementi dell’interfaccia grafica .......................................................................................................... 296 Gli elementi grafici come oggetti della OOP ....................................................................................... 298 3 Programmazione guidata dagli eventi ...................................................................................................... 298 4 Le librerie grafiche AWT e Swing ............................................................................................................ 299 5 L’ambiente di programmazione .............................................................................................................. 304 6 Creazione di applicazioni in NetBeans ..................................................................................................... 306 7 Etichette e pulsanti ................................................................................................................................. 311 8 Caselle e aree di testo ........................................................................................................................... 312 9 Caselle combinate e caselle di controllo ................................................................................................. 315 Layout degli elementi grafici .............................................................................................................. 318 10 Gestione degli eventi .............................................................................................................................. 321 11 Finestre di dialogo .................................................................................................................................. 332 12 I menu ................................................................................................................................................... 340 AUTOVERIFICA ............................................................................................................................................. 347 PROBLEMI ................................................................................................................................................... 347 PARTE QUARTA - APPLICAZIONI WEB 349 Capitolo 6 - Applet ...................................................................................................................................... 349 1 Applicazioni e applet ............................................................................................................................... 350 2 La classe Applet ..................................................................................................................................... 351 3 I parametri ............................................................................................................................................. 356 Applet e browser ............................................................................................................................... 358 4 Interazione con il browser Web ............................................................................................................. 361 Restrizioni e problemi di sicurezza ..................................................................................................... 366 5 Gli eventi del mouse ............................................................................................................................... 366 6 Disegni .................................................................................................................................................. 368 7 Immagini nelle applet ............................................................................................................................. 375 8 Riproduzione di suoni ............................................................................................................................. 378 Conversione di applicazioni in applet .................................................................................................. 380 AUTOVERIFICA ............................................................................................................................................. 383 DOMANDE ................................................................................................................................................... 383 PROBLEMI ................................................................................................................................................... 385 Focus notes: The applet lifecycle, The applet tag .................................................................................... 388 SCHEDA DI AUTOVALUTAZIONE .................................................................................................................. 390 Capitolo 7 - Accesso ai database con JDBC .............................................................................................. 391 1 I driver per la connessione al database .................................................................................................. 392 2 La tecnologia JDBC ............................................................................................................................... 394 3 Manipolazione dei dati ............................................................................................................................ 396 4 Interrogazioni .......................................................................................................................................... 402 Metadati ............................................................................................................................................ 406 AUTOVERIFICA ............................................................................................................................................. 408 DOMANDE ................................................................................................................................................... 408 PROBLEMI ................................................................................................................................................... 409 PROBLEMI DI RIEPILOGO ............................................................................................................................ 409 Focus notes: Database, Relational Database, SQL, JDBC ........................................................................ 410 SCHEDA DI AUTOVALUTAZIONE .................................................................................................................. 412 © Istituto Italiano Edizioni Atlas 7 Capitolo 8 - Servlet e pagine JSP ............................................................................................................... 413 1 L’architettura Client/Server ...................................................................................................................... 414 Estensioni del server Web ................................................................................................................ 416 2 Le servlet .............................................................................................................................................. 418 L’ambiente di esecuzione delle servlet .............................................................................................. 422 3 Compilazione ed esecuzione della servlet .............................................................................................. 424 4 Interazione con il client .......................................................................................................................... 428 Accesso ai database in rete .............................................................................................................. 432 5 Le servlet per la connessione ai database .............................................................................................. 433 6 Le pagine JSP ........................................................................................................................................ 440 7 Attivazione di una pagina JSP ................................................................................................................. 442 8 Passaggio di parametri alla pagina JSP ................................................................................................... 444 Il passaggio di parametri tramite l’indirizzo URL ................................................................................ 447 9 Accesso ai database con JSP ................................................................................................................. 447 Operazioni di manipolazione sul database con JSP ............................................................................ 450 AUTOVERIFICA ............................................................................................................................................. 452 DOMANDE ................................................................................................................................................... 452 PROBLEMI ................................................................................................................................................... 454 PROBLEMI DI RIEPILOGO ........................................................................................................... 457 Focus notes: Web applications, Apache Tomcat ...................................................................................... 458 SCHEDA DI AUTOVALUTAZIONE .................................................................................................................. 460 Capitolo 9 - Applicazioni per l’informatica mobile ................................................................................... 461 1 L’informatica mobile ................................................................................................................................ 462 2 Il sistema operativo Android e le applicazioni ......................................................................................... 463 Elementi base dell’interfaccia Android ............................................................................................... 464 3 L’ambiente di sviluppo ............................................................................................................................ 466 Emulatori di dispositivi ...................................................................................................................... 466 4 Realizzare un’applicazione per Android ................................................................................................... 468 Le applicazioni di esempio in SDK ..................................................................................................... 476 5 Etichette, caselle di testo e pulsanti di comando .................................................................................... 478 Localizzazione del software ................................................................................................................ 486 6 Activity ................................................................................................................................................... 486 Avviare una telefonata ....................................................................................................................... 493 7 Distribuzione delle applicazioni ............................................................................................................... 494 AUTOVERIFICA ............................................................................................................................................. 496 DOMANDE ................................................................................................................................................... 496 PROBLEMI ................................................................................................................................................... 498 Focus notes: Android, The manifest file ................................................................................................... 500 SCHEDA DI AUTOVALUTAZIONE .................................................................................................................. 502 Sicurezza 503 1 La sicurezza dei sistemi informatici ........................................................................................................ 503 2 La sicurezza delle reti ............................................................................................................................. 507 3 La sicurezza nei luoghi di lavoro ............................................................................................................. 509 Requisiti minimi per il lavoro con le attrezzature informatiche ............................................................ 511 APPENDICE 515 Linguaggio Java ............................................................................................................................................. 515 Android ......................................................................................................................................................... 522 Linguaggio HTML .......................................................................................................................................... 523 Linguaggio SQL ............................................................................................................................................. 524 Glossario ....................................................................................................................................................... 526 Soluzioni ....................................................................................................................................................... 539 Indice analitico ............................................................................................................................................... 540 8 © Istituto Italiano Edizioni Atlas Indice dei Materiali on line libreriaweb.edatlas.it Capitolo 1 - Macchine e sistemi operativi 1. Codice Unicode 2. Tavole di verità e proprietà dell’algebra booleana 3. Operatori booleani in Excel 4. Calcolatrice di Windows 5. Definizione formale di automa 6. Collegamento delle periferiche 7. La sicurezza 8. Traccia riassuntiva su hardware e software 9. Lezioni multimediali su Windows Il Prompt dei comandi di Windows 1. Editor di testi 2. Attributi sui file 3. File batch Capitolo 2 - Linguaggi e programmi 1. Caratteristiche dell’algoritmo 2. Diagrammi a blocchi con Word 3. Esempi di Macchina di Turing 4. Teoria della complessità algoritmica 5. Approfondimento sul teorema di Böhm-Jacopini 6. Diagrammi a blocchi dei progetti 7. Osservazioni sulle strutture di alternativa e di ripetizione 8. Ripetizione precondizionale per il controllo di fine input 9. Algoritmi diversi per la soluzione dello stesso problema 10.Esempi di funzioni ricorsive 11. Paradigma logico e funzionale 12.Le fasi dello sviluppo del software 13.Il software open source Capitolo 3 - Le basi del linguaggio Java 1. Java Development Kit (JDK): installazione e modalità operative 2. Editing, compilazione ed esecuzione di un programma Java in Windows 3. Operatori logici per le operazioni sui dati bit a bit 4. Strumenti per la generazione automatica della documentazione dei programmi 5. Operatore di selezione ternario 6. L’array args[] per i valori passati da linea di comando 7. Valutazione di un polinomio di terzo grado 8. Programmi eseguibili e videate dei progetti del capitolo Capitolo 4 - Classi e oggetti 1. Strumenti per disegnare i diagrammi delle classi (UML) 2. I linguaggi orientati agli oggetti puri e ibridi 3. Dichiarazione e utilizzo di un metodo static 4. Singleton: le classi con una sola istanza 5. Le classi astratte 6. Casting tra le classi 7. Collegamento statico e collegamento dinamico 8. Documentazione delle librerie Java ©© IIssttiittuuttoo IIttaalliiaannoo EEddiizziioonnii AAttllaass 99

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.