Mobile Programming. Prova scritta del 11/01/2018. Prof. De Prisco. Corso di laurea in Informatica

Documenti analoghi
Mobile Programming. Prova scritta del 22/01/2016. Prof. De Prisco. Corso di laurea in Informatica

Mobile Programming. Prova scritta del 28/01/2015. Prof. De Prisco. Corso di laurea in Informatica

Lezione 6 Gestione degli eventi dei widget

La geolocalizzazione

Sviluppare Applicazioni per Android

Lezione 9 Liste, tabelle, caselle di scelta e gallerie di immagini

Applicazione con due attività

Android. Android03: Ciclo di vita di una Activity.

Lezione 11 Accesso al file system

Realizzazione di una semplice applicazione HelloWorld con una introduzione delle API di base del SDK Android.

Programmazione Android. Luca Morettoni

Lezione 8 Notifiche e finestre di dialogo

Ciclo di vita delle aevità Android Mobile Programming Prof. R. De Prisco

Lo sbarco di Google nel pianeta Mobile Internet: primo impatto ed esempi pratici.

Android by Example v4.2 JellyBean

La tua prima app su Android

Android. Adapter e ListView. diegozabot@yahoo.it

Grafica Android Mobile Programming Prof. R. De Prisco

Esercizi lezione 7. Esercizio A Progettate un'applicazione Android che consenta di fare una telefonata. Pag. 1/9

ANDROID Introduzione alla programmazione per applicativi Android Dott. Ing. Ivan Ferrazzi V1.1 del 05/08/2013

MOBILE WEB DESIGN TUTORIAL ANDROID METAIO AUGMENTED REALITY

Programmazione Android. Giovanni Perbellini Università di Verona EDALab S.r.l.

CREARE APP PER ANDROID

Android. Implementare una interfaccia utente

Gestione delle eccezioni in Java

SIMPLY JOB. Progetto per il corso di Programmazione III e Laboratorio A.A Realizzato da: Massimo Buonocore

Programmare per Android: User Interface v0.1beta

Android world. Sviluppare app per Android. Un insieme di software per dispositivi mobili (smartphone, tablet, portatili...)

Scaletta. Strumenti di sviluppo Prima applicazione Aspetti peculiari di Android. Conclusioni. Activity e Intent. MoBe s.r.l.

Lo sviluppo sarà diviso in passi incrementali. I file coinvolti ad ogni passo saranno indicati insieme alla descrizione del procedimento.

Lezione 13 Content Provider

Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica. Anno accademico 2012/2013

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a giugno 2013

Corso di Laurea Magistrale in Ingegneria Informatica. Android. Ingegneria del Software 2 - Android 1

Android Introduzione all architettura, alla programmazione e alla sicurezza. Alessandro Tanasi alessandro@tanasi.

Algoritmi di Ricerca. Esempi di programmi Java

Programmazione Android A cura di Carlo Pelliccia. Lezione 7 Menù

Esercizi della lezione 5 di Java

Programmazione. Android

MagiCum S.r.l. Progetto Inno-School

SAPIENZA Università di Roma, Facoltà di Ingegneria

Indice generale. Capitolo 1 Introduzione ad Android... 1

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Compito di Fondamenti di Informatica

Fondamenti di sviluppo mobile su Android

Sviluppo di App per sistema operativo Android

Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica. Anno accademico 2014/2015

XML e Windows Phone. Semplice tutorial per l'utilizzo di documenti e dati XML in un'app per Windows Phone.

ANDROID ANDROID & JAVA. DALVIK o ART? STRUMENTI SVILUPPARE CON ECLIPSE. Java e la piattaforma Android. Corso di Laurea in Ingegneria Informatica

Sistemi Mobili e Wireless Android Activity

Programmazione in ambiente

Design e implementazione di un applicazione Android per il riconoscimento e la localizzazione delle specie marine delle Maldive

Lezione 3 Le attività

Android Introduzione all architettura, alla programmazione e alla sicurezza. Alessandro Tanasi alessandro@tanasi.

Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a luglio 2013

Programmazione ad Oggetti Modulo A (Esame del 11/9/2015)

Programmazione Android

Realizzazione di un servizio per la rilevazione di malfunzionamenti in ambiente Android

Gestione di files Motivazioni

Corso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast

Progettazione e sviluppo di un applicazione smartphone per acquisti usando l nfc

Lezione 3 Le attività

Corso Base. ActionSMS. Maurizio Cozzetto, Francesco Sarasini

SimpleFeedReader App

Java. Linguaggi di Programmazione Linguaggi Speciali & Tecnologie dei Linguaggi di Programmazione: Scritto del 30 Giugno 2006

Laboratorio di Ingegneria del Software A.A 2009/2010 Programmazione su Android A cura di Carlo Pelliccia. Lezione 7 Menù

INSEGNAMENTO ANNO ACCADEMICO CORSO DI LAUREA IN DOCENTE

External Storage File pubblici

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2011

Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A Esercitazione. Programmazione Object Oriented in Java

Modulo 4: Ereditarietà, interfacce e clonazione

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Android. Android. Sviluppo di applicazioni. Dalvik 19/03/2011. A. Ferrari

Programmazione Orientata agli Oggetti in Linguaggio Java

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

[AD.AGIO] ANDROID SDK

Programmazione ad Oggetti: JAVA. Esercitazione

Problem solving elementare su dati vettoriali

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a I scritto Febbraio 11 Febbraio 2011

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

UNIRADIO CESENA: PROGETTAZIONE E IMPLEMENTAZIONE DI UNA MOBILE APP PER WEB RADIO

2a descrivere i materiali

1 JSPDynPage, componenti portale e Java Server Pages

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Luglio Soluzione degli Esercizi

CORSO DI LAUREA IN SCIENZE DELLA FORMAZIONE PRIMARIA

CORSO DI LAUREA IN SCIENZE DELLA FORMAZIONE PRIMARIA

Laboratorio di Sistemi Distribuiti Leonardo Mariani

2 Android Market e la commercializzazione delle applicazioni 35

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

IL COMPUTER NEL TASCHINO, IL NUOVO MONDO DELLE APP

Unità Didattica 3 Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Primo scritto 11 Gennaio 2008

/** * VETTORE DINAMICO elementi */ private Vector elementi; /** * METODO COSTRUTTORE */ public coda() { elementi=new Vector(); }

DATI IDENTIFICATIVI DEL PROGETTO

Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 Outline

Permessi Android Mobile Programming Prof. R. De Prisco

Introduzione ai Google Play services

Parcheggio.rtf 1/8 6 gennaio Prova di programmazione: parcheggio a pagamento

Grafico della parabola

Transcript:

Corso di laurea in Informatica Mobile Prof. De Prisco Prova scritta del NOME: COGNOME: MATRICOLA: Domande Punti 1 /10 2 /10 3 /10 4 /10 5 /10 6 /10 7 /10 8 /10 9 /10 10 /10 TOTALE /100

1 Disegnare nell apposito spazio sulla destra (che corrisponde al RelativeLayout esterno) i widgets specificati dal seguente codice XML. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:layout_centervertical="true" android:orientation="horizontal"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" /> <LinearLayout android:layout_centerhorizontal="true" android:layout_centervertical="true" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" /> </LinearLayout> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="button" /> </LinearLayout> </RelativeLayout> 1

2 Il seguente codice incompleto è un CustomAdapter per una lista customizzata di oggetti Object. Ogni oggetto Object possiede i getter getstring() e getint(). Il file di layout list_element contiene 2 TextView con i seguenti identificativi: stringa e intero. Completare il CustomAdapter per creare la view di ogni singolo elemento. public class CustomAdapter extends ArrayAdapter<Object> { private int resource; private LayoutInflater inflater; public CustomAdapter(Context context, int resourceid, List<Objects> objects) { super(context, resourceid, objects); resource = resourceid; inflater = LayoutInflater.from(context); } @Override public View getview(int position, View v, ViewGroup parent) { if (v == null) { v = inflater.inflate(r.layout.list_element, null); } } } return v; 2

3 Si spieghi il meccanismo del backstack. In relazione a tale meccanismo che differenza c è fra una activity e un frammento? 3

4 Si completi il disegno sottostante che rappresenta il ciclo di vita di una activity. Si descriva un operazione che è solitamente effettuata in onstart(), con la corrispondente operazione effettuata in onstop(), e un operazione solitamente effettuata in onresume(), con la corrispondente operazione effettuata in on Pause(). Lancio activity oncreate() Running Attività terminata 4

5 Si forniscano degli spezzoni di codice per il lancio di una nuova activity con un Intent esplicito e con un Intent implicito. Si spieghi cosa è necessario per lanciare l Intent implicito. 5

6 Descrivere i tipi utilizzati per i parametri nella classe AsyncTask<Type1,Type2,Type3> Quale è il ruolo di Type1,Type2,Type3? Fornire un esempio per rendere chiara la risposta 6

7 In che modo (o modi) varie activity che fanno parte della stessa app possono condividere dati? Si discuta dei vantaggi e svantaggi di ciascuno dei modi descritti. 7

8 Il seguente frammento di codice mostra un OnTouchListener per un MotionEvent. Si completi il codice facendo in modo che la variabile counter (si assuma che tale variabile sia accessibile globalmente) contenga sempre il numero di dita che stanno toccando lo schermo. int counter; public boolean ontouch(view v, MotionEvent event) { switch(event.getactionmasked()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_POINTER_DOWN: break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_POINTER_UP: break; case MotionEvent.ACTION_UP: } } return true; 8

9 Si spieghi come avviene la misurazione e il posizionamento delle view di un layout. Perché in alcuni casi i metodi v.getwidth e v.getheight, dove v è una view del layout, usati in oncreate() restituiscono 0? 9

10 Che cosa è un Toast customizzato? Si spieghi come implementare un Toast customizzato. 10

Pagina aggiuntiva 11 11

Pagina aggiuntiva 12 12

Pagina aggiuntiva 13 13