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

Documenti analoghi
Android. Android03: Ciclo di vita di una Activity.

La geolocalizzazione

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

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

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

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

Programmazione Android. Luca Morettoni

Lezione 3 Le attività

Android. Ciclo di vita di Activity, Service e Processi

Sistemi Mobili e Wireless Android Activity

Mobile Programming. Prova scritta del 07/04/2016. Prof. De Prisco. Corso di laurea in Informatica

Corso di programmazione di sistemi mobile 1. Android. Activity, View e Layout

Lezione 3 Le attività

Mobile Programming. Prova scritta del 10/02/2017. Prof. De Prisco. Corso di laurea in Informatica

SimpleFeedReader App

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

ProgettAzione tecnologie in movimento - V anno Unità 4 - Applicazioni per i sistemi mobili

Lezione 3 su Android: I button in Android

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

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

Sistemi Mobili e Wireless Android Primi passi

@ ITT M. BUONARROTI, TRENTO ANDROID DEVELOPMENT ELEMENTI BASE. RAMAN KAZHAMIAKIN OSCAR GIOVANNI DE

Mobile Programming. Prova scritta del 05/02/2016. Prof. De Prisco. Corso di laurea in Informatica

Matematica - SMID : Programmazione Febbraio 2009 FOGLIO RISPOSTE

Studente: SANTORO MC. Matricola : 528

MagiCum S.r.l. Progetto Inno-School

Applicazione con due attività

Lezione 11 Accesso al file system

14/10/2015 ALESSANDRAZULLO SVILUPPO DI APPLICAZIONI ANDROID- VERSIONE 1. Alessandra Zullo

Android. Intent e intent-filter. diegozabot@yahoo.it

L ambiente di sviluppo Android Studio

Guida all installazione dell app FitStadium Mobile

Programmazione. Android

Fondamenti di sviluppo mobile su Android

Guida informatica per l associazione #IDEA

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

Pag. 1/8. Esercizi lezione 4. Esercizio A

Programmazione I / Informatica generale Prova scritta 11 Giugno 2008

Android. Implementare una interfaccia utente

Product Shipping Cost Guida d'installazione ed Utilizzo

Esercizi di JavaScript

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

Android. Anatomia di una applicazione

Guida rapida Vodafone Internet Box

Corso di programmazione di sistemi mobile 1. Android Laboratorio. Activity, ListView e Adapter

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

Algoritmi di Ricerca. Esempi di programmi Java

Sistema operativo: Gestione della memoria

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

CAMBIO DI GESTIONE DEGLI ESEMPLARI RICHIESTI DALLE BIBLIOTECHE

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

Lezione 6 Gestione degli eventi dei widget

Lezione 13 Content Provider

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO XI.2015

DURC Client 4 - Guida configurazione Firma Digitale. DURC Client 4.1.7

Permessi Android Mobile Programming Prof. R. De Prisco

Eclipse - Nozioni Base

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

Prova Finale di Livello Base Compito n.21

Per cosa posso utilizzarlo?

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

Funzioni in C. Violetta Lonati

Analisi di scenario File Nr. 10

Configurazione della ricerca desktop di Nepomuk. Sebastian Trüg Anne-Marie Mahfouf Traduzione della documentazione in italiano: Federico Zenith

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Gui Gu d i a d ra r p a i p d i a V d o a d f a one Int fone In e t r e net rnet Box Key Mini

Visual basic base Lezione 01. L'ambiente di sviluppo

Gestione delle Cartelle dei Messaggi di Posta Elettronica

Laboratorio di Alfabetizzazione Informatica - Esame 8 luglio Turno 1.

COGNOME E NOME (IN STAMPATELLO) MATRICOLA

LOG FILE CREATI DA VIDA 1 INTRODUZIONE

PROVA FINALE V. AULETTA G. PERSIANO ALGORITMI II - -MAGIS INFO

Figura 1 Le Icone dei file di Excel con e senza macro.

Esercizio 1: trading on-line

PER VISUALIZZARE I CONTENUTI DI ARGO SCUOLA NEXT E NECESSARIO UTILIZZARE MOZILLA FIREFOX COME BROWSER DI NAVIGAZIONE.

GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER MANUALE DI INSTALLAZIONE GUARINI PATRIMONIO CULTURALE VERSIONE MSDE/SQL SERVER

Appunti di Informatica 1

Grafica Android Mobile Programming Prof. R. De Prisco

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 7 Febbraio 2005, ore 15.00

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

Il Web-Service SDMX dell ISTAT

Scrivere uno script php che, dato un array associativo PERSONE le cui chiavi sono i

Esercizio 1. Esercizi 5. Esercizio 3. Esercizio 2 CICLI

Manuale Utente MyFastPage

Laboratorio di Alfabetizzazione Informatica - Esame 20 settembre 2013.

Istruzioni per l'uso. Informazioni su questo manuale. Informazioni sulla funzione Gateway videoconferenza

La selezione binaria

Come utilizzare il nuovo HelpDesk Maggioli Informatica

Software standard Alpi Label Ver

Modulo 4: Ereditarietà, interfacce e clonazione

Corrispondenza tra AOO di Ateneo Modalità operative. Corrispondenza fra uffici appartenenti ad AOO diverse della stessa amministrazione

Innanzitutto andiamo sul sito ed eseguiamo il download del programma cliccando su Download Dropbox.

MANUALE EDICOLA 04.05

MOCA. Modulo Candidatura. [Manuale versione 1.0 marzo 2013]

Corso di programmazione di sistemi mobile 1. Android. Google Cloud Messaging

Strumenti per il testing di applicazioni in ambiente Android

Guida di Brother Image Viewer per Android

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Transcript:

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

Quesito 1 A cosa serve il file AndroidManifest.xml? Quali sono le principali informazioni contenute in questo file? 1

Quesito 2 Durante lo sviluppo di un app è fondamentale individuare gli errori di programmazione che inevitabilmente si commettono. Descrivere almeno uno strumento che ci permetta di effettuare il debug di un app. 2

Quesito 3 Fornire il codice xml per il layout della figura sulla destra. L immagine è memorizzata nel flle drawable/android. Il colore di sfondo dell ImageView è #EFDCBA, mentre quello del LinearLayout che contiene il TextView e l EditText è #ABCDEF. Il layout radice è un RelativeLayout. 3

Quesito 4 Dire se le seguenti successioni di chiamate ai metodi del ciclo di vita delle attività sono possibili e se lo sono in quali casi si sono potute verificare. Successione A 1. oncreate() 2. onstart() 3. onresume() Successione B 1. oncreate() 2. onstart() 3. onresume() 4. onstop() 5. onpause() 6. oncreate() Successione C 1. oncreate() 2. onstart() 3. onresume() 4. onpause() 5. onstop() 6. ondestroy 7. oncreate() 8. onstart() 9. onresume() Successione C 1. oncreate() 2. onstart() 3. onresume() 4. onpause() 5. onstop() 6. onstart() 7. onresume() 4

Quesito 5 L attività ActivityA utilizza il seguente snippet di codice per lanciare l attività ActivityB: Intent i = new Intent(); i.setclass(getapplicationcontext(), ActivityB.class); startactivity(i); L attività ActivityB riceve l intent nel metodo oncreate: protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); Intent i = getintent(); Supponendo che l ActivityA debba inviare un intero memorizzato nella variabile counter, cosa (e dove) si dovrebbe inserire negli snippet di codice riportati sopra? E se l ActivityA ha bisogno di ottenere un risultato dall ActivityB? Cosa bisogna fare? 5

Quesito 6 Completare il seguente codice per far in modo che l utente veda nel widget percentualetextview la parcentuale di completamento dell AsyncTask (si assuma di conoscere la grandezza del task e quindi di poter fornire informazioni sulla percentuale di completamento) e che alla fine del task l utenta veda il risultato nel widget risultatotextview: public class ThreadAsyncTaskActivity extends Activity { TextView percentualetextview; TextView risultatotextview; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_layout); percentualetextview = (TextView)findViewById(R.id.percentualeTextView); risultatotextview = (TextView)findViewById(R.id.risultatoTextView);. class LoadIconTask extends AsyncTask<Integer, Integer, String> { protected void onpreexecute() { protected String doinbackground(integer... values) { String str; //str è la Stringa risultato, il valore non ci interessa return str; protected void onprogressupdate(integer... values) { protected void onpostexecute(string str) { 6

Quesito 7 Si consideri il seguente layout: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" <ImageView android:id="@+id/myimage android:layout_centerinparent="true" android:layout_width="200dp" android:layout_height="200dp" android:src="@drawable/picture" /> </RelativeLayout> e il seguente codice: public class MainActivity extends Activity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); ImageView img = (ImageView) findviewbyid(r.id.myimage); Log.d("DEBUG","largezza immagine: "+img.getwidth()); Log.d("DEBUG"," altezza immagine: "+img.getheight()); che semplicemente stampa due messaggi di debug con la larghezza e l altezza dell immagine. Nonostatnte il widget espliciti 200dp sia come larghezza che come altezza, lanciando l app si ottengono i seguenti messaggi di debug: DEBUG larghezza immagine: 0 DEBUG altezza immagine: 0 Sapete spiegare perché e come fare per ottenere la larghezza e l altezza delle immagine usando img.getwidth() e img.getheight()? 7

Quesito 8 Pasquale il Programmatore è alle prese con lo sviluppo di un app per la quale utilizza il metodo onsaveinstancestate() per salvare lo stato dell app e successivamente ripristinarlo nel metodo oncreate(savedinstancebundle) quando l oggetto savedinstancebundle contiene dati precedentemente salvati. Questo lo mette al riparo dalla perdita dello stato dovuta alle rotazioni del dispositivo che forzano l esecuzione di ondestroy e di oncreate (e degli altri metodi del ciclo di vita delle activity). Pasquale è soddisfatto perché è riuscito a gestire le rotazioni. Tuttavia si è accorto che quando l utente esce dell app e poi successivamente la rilancia, l app riparte dallo stato iniziale. Pasquale vorrebbe che quando l utente rientra nell app venga ripristinato l ultimo stato in cui si trovava l app prima che l utente uscisse dell app. Suggerire a Pasquale un approccio alternativo che gli permetta di risolvere contemporaneamente i due problemi (perdita dello stato dovuto alla rotazione, perdita dello stato dovuto all uscita dall applicazione). 8

Quesito 9 Si parli dei BroadcastReceiver in Android. 9

Quesito 10 Che cosa descrive il seguente file XML? <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareinterpolator="false" > <rotate android:startoffset="0" android:duration="4000" android:fromdegrees="0" android:todegrees="1440" android:interpolator="@android:anim/accelerate_interpolator" android:pivotx="25%" android:pivoty="25%" /> <rotate android:startoffset="4000" android:duration="4000" android:fromdegrees="1440" android:todegrees="0" android:interpolator="@android:anim/decelerate_interpolator" android:pivotx="75%" android:pivoty="75%" /> </set> 10