Corso di laurea in Informatica Mobile Prof. De Prisco Prova scritta del 07/04/2016 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
Quesito 1 A cosa serve il file Manifest.xml? 1
Quesito 2 Si scriva un file di layout per una scacchiera per il gioco degli scacchi. Ogni singola cella della scacchiera deve essere un Frame nel quale si sovrappongono sia un TextView che un ImageView. Il colore di background della cella è stabilito nel frame. Il colore del testo nel TextView deve essere l opposto di quello della cella. Sia l immagine che il testo possono essere presenti o meno (si assume che verranno gestiti programmaticamente) Per semplicità si usi una scacchiera 2x2, come mostrato nella figura. Si discuta di come ampliare, sempre in modo statico ma evitando di ripetere la singola cella per 64 volte, il layout al caso 8x8. A2 B2 2
Quesito 3 Il seguente frammento di codice serve a gestire un listview con gli elementi dell array nomi. Completare il codice dell onitemclicklistener (riquadro vuoto) in modo tale che quando l utente clicca un elemento visualizzato nel listview venga mostrato un Toast con il nome cliccato (es. è stato selezionato Pasquale ). @Override! protected void oncreate(bundle savedinstancestate) {! super.oncreate(savedinstancestate);! setcontentview(r.layout.activity_main);!! String [] nomi = {"Pasquale","Maria","Michele","Antonella", "Vincenzo",! "Teresa", "Roberto", "Rossella", "Antonio", "Luca", "Liliana", "Stefania",! "Francesca", "Andrea", "Marco", "Elisa", "Anna", "Lorenzo"};!! listview = (ListView)findViewById(R.id.mylistview);!! ArrayAdapter<String> arrayadapter =! new ArrayAdapter<String>(this, R.layout.list_element, R.id.textViewList, array);! listview.setadapter(arrayadapter);!! listview.setonitemclicklistener(new OnItemClickListener() {! @Override! public void onitemclick(adapterview<?> parent, View view, int position, long id) {! }! });!! } 3
Quesito 4 Si spieghi come un app possa eseguire la seguente sequenza di metodi 1. oncreate() 2. onstart() 3. onresume() 4. onpause() 5. onstop() 6. onrestart() 7. onstart() 8. onresume() 9. onpause() 10. onresume() 4
Quesito 5 Mostrare un frammento di codice che permette ad un activity di un app di lanciare un altra activity. Mostrare un altro frammento di codice in cui si lancia un altra activity con l intenzione di recuperare un valore di ritorno (nota: è richiesto solo il codice per lanciare l activity, non quello per recuperare il risultato). 5
Quesito 6 Si parli della classe AsyncTask facendo un esempio di come potrebbe essere utilizzata per trasferire dei dati tramite una connessione Internet. 6
Quesito 7 Come si può animare un oggetto grafico in Android? Si faccia un esempio scegliendo una specifica animazione. 7
Quesito 8 Quali sono i metodi per memorizzare informazioni permanenti in Android? Fornire una breve descrizione per ognuno dei metodi conosciuti. 8
Quesito 9 Che cosa sono i frammenti? Discutere della loro utilità nella progettazione di un app. 9
Quesito 10 Si spieghi come Android gestisce i tocchi multipli sullo schermo tramite l oggetto MotionEvent. Che cosa è un pointer ID? Per convenienza si riporta l elenco dei codici usati per rappresentare i tocchi sullo schermo: MotionEvent.ACTION_DOWN MotionEvent.ACTION_POINTER_DOWN MotionEvent.ACTION_MOVE MotionEvent.ACTION_POINTER_UP MotionEvent.ACTION_UP 10