Programmazione di App1
|
|
Title of test:
![]() Programmazione di App1 Description: Non rispondere alle domande aperte, inserite solo come spunto. |



| New Comment |
|---|
NO RECORDS |
|
Qual è il primo passo nel processo di sviluppo di un'app mobile?. Focalizzare lo scopo e sviluppare una strategia. Realizzazione del prototipo. Testing dell'app. Design dell'interfaccia utente. Come può l'accessibilità migliorare l'usabilità di un'app?. Riducendo il numero di funzionalità. Limitando l'accesso all'app solo agli utenti esperti. Garantendo che l'interfaccia sia leggibile e supporti tecnologie assistive. Utilizzando solo testo nelle interfacce. Quale fase del processo di sviluppo si concentra sulla definizione dell'architettura tecnica dell'app?. Progettazione dell'architettura. Testing e rilascio. Analisi di mercato. Sviluppo dell'app. Spiega perché la coerenza visiva e funzionale è cruciale nella progettazione di un'applicazione mobile. Come influisce questa coerenza sull'esperienza utente?. Quale esempio mostra l'uso efficace dello scarico delle attività?. Un'app di email che suggerisce automaticamente contatti basati su utilizzo precedente. Un'interfaccia che presenta tutte le funzionalità sulla schermata iniziale. Un'app che richiede di inserire manualmente ogni volta l'indirizzo di spedizione. Un'applicazione di prenotazione che non memorizza i dati dei passeggeri. Qual è il vantaggio dell'uso di progress bar o indicatori di avanzamento nelle applicazioni?. Aumenta il carico cognitivo degli utenti. Distrae gli utenti dal completare le loro attività. Fornisce un feedback visivo che aiuta a ridurre l'ansia e motiva gli utenti a completare i compiti. Rallenta l'interazione con l'applicazione. Come può un'applicazione anticipare i bisogni degli utenti utilizzando notifiche?. Inviando notifiche casuali senza relazione con le attività dell'utente. Fornendo avvisi contestuali come promemoria di esercizi in un'app di fitness basati sugli obiettivi dell'utente. Inviando solo notifiche promozionali senza considerare le preferenze degli utenti. Evitando qualsiasi forma di interazione automatica per non disturbare l'utente. Quale delle seguenti pratiche aiuta a mantenere la coerenza nel design delle applicazioni?. Evitare l'uso di documentazione e linee guida di stile. Usare componenti di design personalizzati per ogni schermata senza seguire linee guida. Implementare un design system con componenti riutilizzabili e regole chiare. Cambiare spesso i colori e i caratteri per mantenere l'app fresca. Descrivi l'importanza di anticipare i bisogni degli utenti e fornisci un esempio pratico di come ciò può essere implementato in un'applicazione. Perché è importante non mescolare modelli di navigazione in un'applicazione?. Per ridurre la coerenza e aumentare la creatività. Per rendere più complessa l'interazione e aumentare la sicurezza. Per evitare che l'applicazione sembri monotona. Per prevenire confusione e garantire un'esperienza utente prevedibile. Qual è una buona pratica nella progettazione di messaggi di errore?. Utilizzare lo stesso messaggio di errore per tutti i tipi di errore. Ignorare la causa dell'errore e chiedere semplicemente di riprovare. Utilizzare linguaggio tecnico complesso per impressionare l'utente. Fornire messaggi chiari che spiegano l'errore e suggeriscono un'azione correttiva. Quale opzione di accessibilità dovrebbe essere offerta per gli utenti sensibili alle animazioni?. Ignorare le preferenze di accessibilità e mantenere le animazioni attive. Disabilitare automaticamente tutte le animazioni senza opzione di riattivazione. Aggiungere più animazioni per migliorare l'esperienza visiva. Rispettare le impostazioni di riduzione del movimento del sistema operativo e offrire transizioni più semplici. Spiega l'importanza di utilizzare componenti di navigazione standard nelle applicazioni mobili e fornisci un esempio. Descrivi come l'inclusione di opzioni per disabilitare o ridurre le animazioni possa migliorare l'accessibilità di un'applicazione. Qual è l'importanza di avere un'app veloce e reattiva per l'esperienza utente?. Aumenta la probabilità che gli utenti continuino a utilizzare l'app senza frustrazione. Riduce il numero di utenti che scaricano l'app. Permette di ridurre i costi di sviluppo dell'applicazione. Aumenta la complessità dell'applicazione. Quale strategia è efficace per evitare barriere di accesso durante la prima esperienza utente?. Chiedere molte informazioni personali sin dall'inizio. Richiedere la registrazione obbligatoria immediatamente dopo l'apertura dell'app. Fornire un tutorial dettagliato prima di mostrare l'interfaccia principale. Permettere agli utenti di esplorare alcune funzionalità senza registrazione. Perché è importante evitare una fase di configurazione obbligatoria all'inizio dell'uso di un'app?. Per ridurre il carico di lavoro degli sviluppatori. Per garantire che tutti gli utenti utilizzino la stessa configurazione. Per raccogliere più informazioni personali possibili. Per evitare che gli utenti abbandonino l'app a causa di processi complessi. Quali sono i vantaggi dell'uso di skeleton screens durante il caricamento dei contenuti in un'applicazione?. In che modo il lazy loading può migliorare la performance di un'applicazione?. Caricando immagini e contenuti pesanti solo quando diventano visibili all'utente. Caricando i dati in ordine alfabetico. Caricando tutte le immagini contemporaneamente. Evitando completamente l'uso delle immagini. Come possono le dimensioni degli schermi dei dispositivi mobili influenzare la progettazione per il touch?. Maggiore è lo schermo, più è difficile toccare gli elementi. Maggiore è lo schermo, minore è la necessità di progettare per il touch. Le dimensioni dello schermo non influenzano la progettazione per il touch. Maggiore è lo schermo, più è importante posizionare elementi interattivi in aree facilmente accessibili. Qual è l'effetto di avere un'interlinea adeguata tra le righe di testo?. Facilita la lettura e riduce l'affaticamento visivo. Fa sembrare le pagine meno informative. Migliora la velocità di caricamento della pagina. Aumenta la densità del testo rendendolo più difficile da leggere. Quale strategia può umanizzare l'esperienza digitale?. Implementare immagini accattivanti e messaggi di testo amichevoli. Ridurre al minimo l'interazione utente-app. Utilizzare un linguaggio tecnico e impersonale nelle comunicazioni. Concentrarsi esclusivamente sulle funzionalità tecniche. Quali vantaggi offre il posizionamento di elementi interattivi nella "thumb zone" per gli utenti di smartphone?. Quale tecnologia migliora la sicurezza e la facilità d'uso di un'app grazie all'autenticazione biometrica?. Impronte digitali e riconoscimento facciale. Controllo vocale. Uso di password. Scansione dell'iride. Quale strategia può essere utilizzata per ottimizzare le app in condizioni di connettività Internet scarsa nei mercati emergenti?. Utilizzare la modalità offline. Aumentare la risoluzione dei video. Richiedere sempre una connessione Wi-Fi. Eliminare la funzionalità di caching. In che modo le preferenze estetiche locali possono influenzare il design di un'applicazione?. Adattando il design per riflettere i colori e i dettagli preferiti nella cultura locale. Usando solo colori neutri e un design minimalista. Utilizzando un design standard per tutti i mercati. Ignorando le tradizioni e le festività locali. In che modo la progettazione di un'app per mercati emergenti differisce dalla progettazione per mercati sviluppati?. Quali sono le principali differenze tra Dalvik Virtual Machine (DVM) e Android Run Time (ART), e come queste influenzano le prestazioni delle applicazioni Android?. Perché Kotlin è considerato sicuro rispetto alle null pointer exceptions?. Kotlin ha una gestione integrata dei null che riduce la probabilità di errori. Kotlin elimina completamente l'uso di variabili. Kotlin richiede l'uso esclusivo di variabili statiche. Kotlin non gestisce le null pointer exceptions. Quale dei seguenti vantaggi è specifico per l'uso di Kotlin/JVM rispetto a Kotlin/Native e Kotlin/JS?. Compilazione diretta in codice macchina nativo. Maggiore supporto per le API di basso livello. Interoperabilità esclusiva con librerie JavaScript. Possibilità di funzionare su qualsiasi piattaforma che supporti la JVM. Qual è uno dei principali vantaggi di utilizzare IntelliJ IDEA per lo sviluppo di applicazioni Kotlin?. È l'unico IDE che supporta Kotlin. Supporta solo la programmazione procedurale con Kotlin. Non richiede alcuna configurazione iniziale per i progetti Kotlin. Fornisce strumenti integrati per il debug, l'ispezione e la rifattorizzazione del codice. Come la scelta tra Kotlin/JVM, Kotlin/JS e Kotlin/Native influenza il tipo di applicazione che uno sviluppatore può creare? Fornisci esempi di scenari in cui ciascuna piattaforma sarebbe ideale. Cosa rappresenta l'acronimo REPL in Kotlin?. Read, Evaluate, Print, Loop. Remote Execution of Program Language. Real-time Execution and Program Launching. Rapid Execution and Processing Language. Cosa indica il messaggio “Process finished with exit code 0” nella console di IntelliJ IDEA?. Che la compilazione non è riuscita. Che il programma è stato eseguito con successo. Che il programma ha incontrato un errore critico. Che il programma è stato terminato manualmente dall'utente. Quale affermazione è vera riguardo alla funzione `main` in Kotlin?. È utilizzata esclusivamente per l'elaborazione di dati JSON. Può essere dichiarata solo all'interno di una classe. È opzionale e viene usata solo per applicazioni di testing. Definisce il punto di ingresso del programma ed è necessaria per l'esecuzione dell'applicazione. Quali sono le tre principali piattaforme su cui può essere compilato il codice Kotlin, secondo le opzioni di Project Template in IntelliJ IDEA?. Java, C++, Ruby. Android, iOS, Windows. JVM, Multiplatform, Kotlin/JS. JVM, .NET, Python. Quali sono i vantaggi di utilizzare il REPL di Kotlin durante lo sviluppo e l'apprendimento del linguaggio? Fornisci esempi concreti di situazioni in cui il REPL può essere utile. In quale situazione IntelliJ suggerirebbe di convertire una variabile `var` in `val`?. Quando la variabile è usata solo per stampare messaggi. Quando la variabile è utilizzata in un loop. Quando la variabile non viene mai riassegnata dopo la dichiarazione iniziale. Quando la variabile contiene solo valori numerici. Quale tipo di dato useresti per memorizzare un valore decimale come 3.14 in Kotlin?. `Int`. `String`. `Boolean`. `Double`. Cosa succede se tenti di assegnare una stringa a una variabile dichiarata come `Int` in Kotlin?. La variabile cambia automaticamente il suo tipo in `String`. Il programma si blocca durante l'esecuzione. Il programma esegue correttamente ma ignora l'assegnazione. Il compilatore Kotlin genera un errore di tipo. Spiega le differenze tra `val` e `var` in Kotlin. In quali situazioni useresti l'uno rispetto all'altro e perché?. Quali tipi di dati possono essere utilizzati per le costanti a tempo di compilazione in Kotlin?. Array, List, MutableMap. Class, Interface, Object. String, Int, Double, Float, Long, Short, Byte, Char, Boolean. Map, List, Set. Qual è la caratteristica principale di una costante a tempo di compilazione in Kotlin?. Deve avere un valore assegnato al momento della compilazione e non può mai cambiare. Può utilizzare qualsiasi tipo di dato, compresi quelli complessi. Deve essere dichiarata all'interno della funzione `main()`. Può essere modificata durante l'esecuzione del programma. Cosa indica il testo in grigio accanto alla definizione del tipo di una variabile in IntelliJ IDEA?. Che la variabile deve essere riassegnata. Che il tipo dichiarato è incorretto. Che la dichiarazione del tipo è ridondante e non necessaria. Che la variabile non è mai utilizzata nel codice. Spiega cosa sono e la differenza tra `val` e `const val` in Kotlin. In quali scenari useresti una rispetto all'altra?. Quale delle seguenti affermazioni è vera riguardo all'uso del blocco `else` in Kotlin?. Il blocco `else` viene eseguito solo se la condizione dell'`if` è vera. Il blocco `else` è obbligatorio per ogni istruzione `if`. Il blocco `else` viene eseguito solo se la condizione dell'`if` è falsa. Il blocco `else` deve sempre contenere un'altra istruzione `if`. Perché è importante l'ordine delle condizioni in una serie di istruzioni `if/else if`?. Per ottimizzare la velocità di esecuzione del programma. Per assicurarsi che le condizioni vengano valutate correttamente e che il flusso di esecuzione segua la logica prevista. L'ordine non è importante poiché tutte le condizioni vengono valutate contemporaneamente. Per garantire che tutte le condizioni siano sempre vere. Qual è l'ordine corretto per scrivere un'istruzione `if/else if` per verificare che il `playerLevel` sia 1 prima di controllare se è minore o uguale a 5?. `else if (playerLevel == 1)` seguito da `if (playerLevel <= 5)`. `else if (playerLevel <= 5)` seguito da `if (playerLevel == 1)`. `if (playerLevel == 1)` seguito da `else if (playerLevel <= 5)`. `if (playerLevel <= 5)` seguito da `else if (playerLevel == 1)`. Quale limitazione ha l'uso dello strumento di ispezione del bytecode in Kotlin?. Funziona solo con codice Kotlin che ha come target la JVM. Non è compatibile con progetti Kotlin più grandi di 1000 righe. Funziona solo con codice Kotlin scritto in modo esplicito con inferenza di tipo. Può essere utilizzato solo una volta per sessione di IntelliJ. Descrivi uno scenario in cui l'ordine delle condizioni in una serie di istruzioni `if/else if` potrebbe influenzare significativamente il comportamento del programma. Qual è il principale vantaggio dell'utilizzo di un'espressione `when` rispetto a una serie di istruzioni `if/else` in Kotlin?. Aumenta la velocità di esecuzione del programma. Riduce l'utilizzo della memoria durante l'esecuzione. Fornisce una sintassi più concisa e leggibile per gestire condizioni multiple. È l'unico modo per confrontare variabili in Kotlin. Come viene utilizzato l'operatore di intervallo `..` in Kotlin?. Per concatenare stringhe. Per convertire una variabile in un tipo diverso. Per verificare se un valore è compreso tra due numeri. Per dichiarare un nuovo oggetto. Qual è la funzione dell'operatore `!` in Kotlin?. Inverte il valore booleano di un'espressione. Assegna un nuovo valore a una variabile. Controlla l'uguaglianza strutturale. Aggiunge due numeri. Descrivi come un'espressione `when` senza argomenti può essere utilizzata per gestire condizioni complesse in Kotlin. Quali vantaggi offre rispetto ad altre strutture di controllo del flusso?. Quale convenzione di denominazione è utilizzata per i nomi delle funzioni in Kotlin?. PascalCase. UPPER_SNAKE_CASE. snake_case. camelCase. Quali sono le due parti principali di una funzione in Kotlin?. Nome e corpo. Intestazione e coda. Intestazione e corpo. Modificatore e tipo di ritorno. Quale dei seguenti modi descrive meglio come definire una funzione in Kotlin?. `fun nomeFunzione() -> String { // corpo della funzione }`. `fun nomeFunzione(parametri: Tipo): TipoRitorno { // corpo della funzione }`. `define nomeFunzione { // corpo della funzione }`. `private function nomeFunzione(parameters): Tipo { // corpo della funzione }`. Descrivi le cinque componenti principali di un'intestazione di funzione in Kotlin e spiega il ruolo di ciascuna di esse. In quali scenari è consigliabile includere il tipo di ritorno esplicito anche in una funzione a espressione singola?. Quando la funzione utilizza variabili globali. Quando la funzione non ha argomenti. Quando la funzione include un blocco di codice complesso che può confondere i lettori. Quando il tipo di ritorno potrebbe non essere ovvio. Cosa accade quando si chiama una funzione senza fornire un argomento per un parametro che ha un valore predefinito?. Il compilatore genera un errore. La funzione utilizza il valore predefinito. La funzione richiede esplicitamente un input dall'utente. La funzione non esegue nessuna azione. Cosa succede se tenti di utilizzare una variabile dichiarata all'interno di una funzione, al di fuori di quella funzione?. La variabile sarà accessibile senza problemi. Il compilatore genererà un errore. La variabile sarà inizializzata con un valore di default. Il programma continuerà senza errori, ma ignorerà il valore della variabile. Perché è importante specificare il tipo di ritorno in una funzione che restituisce un valore in Kotlin?. Per impedire al codice di essere compilato. Per rendere la funzione più veloce. Per migliorare la leggibilità del codice. Per obbligare la funzione a non avere parametri. Descrivi come si passa un argomento a una funzione in Kotlin e perché è importante rispettare i tipi di dati richiesti dai parametri della funzione. Quali problemi potrebbero verificarsi se si passa un argomento di tipo errato?. Quale simbolo viene utilizzato per introdurre un template di stringa in Kotlin?. `#`. `&`. `%`. `$`. Perché è preferibile utilizzare `Double` anziché `Float` per rappresentare valori decimali in Kotlin?. `Double` è più veloce da calcolare. `Double` occupa meno memoria. `Double` offre una precisione maggiore, riducendo gli errori di arrotondamento. `Double` può essere utilizzato solo con numeri interi. Cosa succede se dividi un numero intero per un altro numero intero in Kotlin, ad esempio `9 / 5`?. Restituisce un numero decimale. Genera un errore. Arrotonda automaticamente al numero intero più vicino. Restituisce un numero intero, tronca la parte decimale. Spiega la differenza tra `Float` e `Double` in termini di precisione e uso della memoria in Kotlin. In quali scenari preferiresti utilizzare un tipo di dati piuttosto che l'altro? Fornisci esempi. Qual è la funzione principale del metodo `replace` nelle stringhe Kotlin?. Modifica direttamente la stringa originale. Converte una stringa in un array di caratteri. Sostituisce parti di una stringa con un'altra, restituendo una nuova stringa modificata. Elimina automaticamente tutte le occorrenze del carattere specificato. uale funzione in Kotlin viene utilizzata per convertire una stringa in un numero intero?. `parseNumber()`. `parseInt()`. `toInt()`. `convertToInt()`. Qual è la principale differenza tra una stringa normale e una stringa grezza in Kotlin?. Le stringhe grezze consentono di inserire caratteri speciali senza bisogno di escapearli, mentre le stringhe normali richiedono l'uso di caratteri di escape. Le stringhe normali sono delimitate da tre virgolette, mentre le stringhe grezze utilizzano una sola virgoletta. Le stringhe grezze supportano l'uso di sequenze di escape, mentre le stringhe normali no. Le stringhe normali non possono contenere caratteri speciali, mentre le stringhe grezze possono. Descrivi la differenza tra uguaglianza strutturale e uguaglianza referenziale nelle stringhe Kotlin. Quale metodo può essere utilizzato per rimuovere una parola specifica da una stringa in Kotlin?. `delete("parola")`. `erase("parola")`. `replace("parola", "")`. `remove("parola")`. Quale delle seguenti dichiarazioni è corretta per dichiarare una variabile nullable di tipo `String` in Kotlin?. `var name = String?`. `var name: String?`. `var name: String`. `var name: String!`. Cosa accade quando una funzione nullable viene inserita in un template di stringa Kotlin senza verifica di null?. La stringa viene ignorata. Kotlin inserisce il testo `"null"` nel template di stringa se la variabile è null. Il compilatore genera un errore. Il programma si arresta immediatamente. Cosa indica il termine "smart casting" in Kotlin?. Il processo di cambiare automaticamente il tipo di una variabile senza casting esplicito. Il processo di trattare una variabile nullable come non-nullable dopo aver verificato che non è null. Il processo di convertire una stringa in un numero intero in sicurezza. Un'operazione che garantisce l'immutabilità delle variabili. Spiega cos'è l'operatore di chiamata sicura e quali sono i vantaggi del suo utilizzo in Kotlin. In quale scenario è più appropriato utilizzare l'operatore di coalescenza nulla (`?:`) rispetto all'operatore di chiamata sicura (`?.`)?. Quando si desidera fornire un valore alternativo se una variabile è null. Quando si lavora con variabili non-nullable. Quando si desidera eseguire un'azione su una variabile solo se non è null. Quando si desidera ignorare completamente le variabili nullable. Quale delle seguenti eccezioni è più appropriata per segnalare un input non valido passato a una funzione?. `NumberFormatException`. `NullPointerException`. `IOException`. `IllegalArgumentException`. Quando è consigliabile utilizzare la funzione `checkNotNull` rispetto a `requireNotNull`?. Quando si verificano le precondizioni generali di stato dell'applicazione. Quando si desidera verificare l'input di una funzione. Quando si lavora con stringhe vuote. Quando si vuole lanciare una `IllegalArgumentException` se il valore è null. Spiega come l'uso di funzioni di precondizione come `require`, `check`, e `checkNotNull` può migliorare la robustezza del codice in Kotlin. Perché non è necessaria la parola chiave `return` nelle espressioni lambda di Kotlin?. Perché tutte le espressioni lambda devono restituire un valore booleano. Perché le espressioni lambda non possono restituire valori. Perché Kotlin non supporta l'uso di `return` nelle lambda. Perché le espressioni lambda restituiscono implicitamente l'ultima riga della loro definizione. Qual è la principale differenza tra una funzione nominata e una funzione anonima in Kotlin?. Le funzioni anonime possono restituire solo numeri interi. Le funzioni anonime non possono essere chiamate direttamente. Le funzioni anonime non hanno un nome come parte della loro definizione. Le funzioni anonime devono essere dichiarate all'interno della funzione `main`. Come puoi modificare una lambda per accettare più argomenti in Kotlin?. Utilizzando parentesi attorno alla lambda. Specificando i nomi dei parametri separati da virgole nella definizione della lambda. Utilizzando la parola chiave `multiple` prima della lambda. Aggiungendo più identificatori `it`. Spiega i vantaggi e gli svantaggi dell'uso dell'identificatore `it` nelle lambdas di Kotlin. Come funziona la "trailing lambda syntax" in Kotlin?. Richiede di usare una variabile globale per dichiarare la lambda. Consente di dichiarare una lambda all'inizio di una funzione. Permette di omettere le parentesi attorno alla lambda quando è l'ultimo argomento di una funzione. Viene utilizzata solo con funzioni inline. Cosa succede se si tenta di aggiungere un numero a una `List` in Kotlin?. Il numero viene ignorato silenziosamente. Il compilatore genera un errore di tipo. Il numero viene ignorato silenziosamente. Il numero viene convertito automaticamente in una stringa. Quale funzione puoi usare per verificare se una lista contiene un elemento specifico?. `inList()`. `contains()`. `hasElement()`. `includes()`. Cosa accade se tenti di aggiungere un elemento a un indice inesistente in una `MutableList` usando `add(index, element)`?. L'elemento viene aggiunto alla fine della lista. L'elemento viene ignorato e la lista rimane invariata. Viene lanciata un'eccezione `IndexOutOfBoundsException`. La lista si ridimensiona automaticamente per accogliere l'elemento. Spiega come la conversione tra liste di sola lettura e `MutableList` può essere utile nella gestione dei dati in Kotlin e come realizzarla. Qual è la differenza tra l'utilizzo di un ciclo `for` e `forEach` su una lista?. `forEach` non consente l'accesso diretto agli indici degli elementi. `for` e `forEach` sono identici e non presentano differenze. `forEach` è meno leggibile rispetto al ciclo `for`. `forEach` è utilizzabile solo con liste di sola lettura. Quale importazione è necessaria in Kotlin per lavorare con file utilizzando l'API Java?. `import java.util.File`. `import java.file.File`. `import java.io.File`. `import kotlin.io.File`. Quale vantaggio offre l'utilizzo del costruttore `List` rispetto alla funzione `listOf` in Kotlin?. `List` supporta solo tipi di dati predefiniti. `listOf` può essere utilizzato solo con numeri interi. `List` consente di inizializzare la lista con una funzione che specifica il contenuto degli elementi. `List` è più efficiente in termini di memoria. Spiega quale potrebbe essere il vantaggio di utilizzare `forEachIndexed` rispetto a un ciclo `for` tradizionale e in quali scenari. Se un `MutableSet` contiene i nomi dei partecipanti all'evento e si utilizza `repeat(10) { participants += "${firstNames.random()} ${lastNames.random()}" }`, perché a volte ci sono meno di 10 partecipanti?. Perché i set limitano il numero massimo di elementi. Perché la funzione `random()` fallisce occasionalmente. Perché alcuni nomi possono essere generati più di una volta. Perché il metodo `repeat()` ha un bug. Quale metodo utilizzeresti per accedere a un elemento a un indice specifico in un `Set` in Kotlin?. `elementAt(2)`. `set[2]`. `access(2)`. `get(2)`. Qual è la principale differenza tra un `Set` e una `List` in Kotlin?. Le liste sono sempre di sola lettura, mentre i set possono essere mutabili. I set non mantengono l'ordine degli elementi, mentre le liste sì. I set sono limitati a contenere solo tipi di dati numerici. I set possono contenere valori duplicati mentre le liste no. Spiega il ciclo `while`. Quali sono i rischi associati ai cicli `while`? Fornisci un esempio. Qual è un vantaggio dell'utilizzo della funzione `distinct` su una lista in Kotlin?. `distinct` elimina i duplicati ma mantiene l'ordine originale degli elementi. `distinct` trasforma la lista in una stringa. `distinct` converte automaticamente la lista in un set. `distinct` aggiunge un contatore a ogni elemento duplicato. Quale metodo useresti per ottenere un valore dalla mappa senza lanciare un'eccezione se la chiave non esiste?. `[]` (operatore get/index). `getOrDefault()`. `getValue()`. `getOrNull()`. Se si utilizza `getOrPut` su una chiave che esiste già nella mappa, quale sarà il risultato?. La funzione aggiunge una nuova voce e sostituisce la vecchia. La funzione restituisce il valore esistente per la chiave. La funzione lancia un'eccezione. La mappa si svuota automaticamente. Quale funzione utilizzeresti per iterare su una mappa e formattare il risultato per visualizzare i punti dei partecipanti?. `printEach()`. `forEach()`. `displayMap()`. `forLoop()`. Descrivi a cosa servono i metodi `getOrDefault` e `getOrElse`. Qual è lo scopo principale della sintassi di destrutturazione nelle espressioni lambda di Kotlin?. Semplificare l'accesso ai componenti specifici di una collezione. Creare nuove collezioni a partire da singoli elementi. Unire più collezioni in una singola. Eliminare elementi duplicati in una lista. Qual è la differenza tra `map` e `associate` in Kotlin?. `map` può solo convertire stringhe, mentre `associate` può convertire qualsiasi tipo di dato. `map` modifica direttamente la collezione originale, mentre `associate` crea una nuova collezione. `associate` può essere usato solo con tipi di dati numerici. `map` restituisce una lista di coppie chiave-valore, mentre `associate` restituisce direttamente una mappa. Qual è lo scopo principale della funzione `filter` in Kotlin?. Modificare direttamente la collezione originale rimuovendo gli elementi non desiderati. Restituire una nuova collezione contenente solo gli elementi che soddisfano una condizione specifica. Ordinare automaticamente la collezione in ordine alfabetico. Unire due collezioni in una singola collezione. Spiega l'uso delle funzioni di filtraggio come `filter`, `take`, e `drop` in Kotlin. Fornisci un esempio pratico che utilizza `filter` su una lista di valori interi. Qual è lo scopo principale della funzione `zip` in Kotlin?. Rimuovere elementi duplicati da una collezione. Combinare due collezioni di uguali dimensioni in una nuova collezione di coppie ordinate. Unire due collezioni in una singola stringa separata da virgole. Filtrare gli elementi basati su una condizione. Quale vantaggio offre la programmazione funzionale rispetto alla programmazione imperativa in questo contesto?. La capacità di modificare gli elementi della collezione direttamente. La necessità di più codice per operazioni di base. L'uso di meno memoria per la gestione delle variabili temporanee. Un maggiore controllo sull'ordine di esecuzione. Cosa accade se si utilizza `filter` su una lista mutabile ma non si rimuovono gli elementi filtrati dalla lista originale?. Tutti gli elementi della lista originale vengono duplicati. Viene lanciata un'eccezione di runtime. Gli elementi vengono rimossi automaticamente dalla lista originale. La lista originale rimane invariata, e viene creata una nuova lista con gli elementi filtrati. Quale funzione di Kotlin viene utilizzata per creare una sequenza pigra?. `generateSequence()`. `lazySequence()`. `sequenceBuilder()`. `createSequence()`. Come puoi convertire una lista esistente in una sequenza in Kotlin?. `list.asSequence()`. `list.toLazyCollection()`. `list.convertToSequence()`. `list.toSequence()`. Spiega in che modo l'approccio delle collezioni pigre migliora le prestazioni del programma rispetto alle collezioni avide. Qual è una situazione tipica in cui `takeIf` può essere utilizzato in Kotlin?. Quando si vuole eseguire un ciclo su tutti gli elementi di una lista. Quando si desidera concatenare più stringhe. Quando si vuole creare un nuovo oggetto di un tipo specifico. Quando si desidera restituire il destinatario solo se una condizione predicativa è vera. In quale situazione è preferibile usare `let` rispetto a `apply`?. Quando si vuole configurare un oggetto in fase di creazione. Quando si ha bisogno di lavorare con un oggetto nullable ed evitare errori di null. Quando si vuole eseguire una serie di azioni senza modificare l'oggetto. Quando si vogliono concatenare diverse trasformazioni su una lista. Qual è il risultato dell'uso di `run` su una lista in Kotlin?. Esegue operazioni sulla lista e restituisce il risultato dell'espressione lambda, non la lista stessa. Aggiunge elementi alla lista e restituisce l'ultima versione aggiornata. Restituisce la lista modificata direttamente. Esegue una funzione predefinita sulla lista e restituisce un numero intero. Quale funzione di ambito useresti per evitare la creazione di una variabile intermedia quando vuoi usare il primo elemento di una lista, se presente, per un'azione?. `also`. `let`. `apply`. `with`. Come può `takeIf` essere utilizzato per filtrare i partecipanti in base a una condizione specifica?. Restituisce i partecipanti se la condizione è falsa. Restituisce i partecipanti solo se la condizione è vera. Aggiunge un valore predefinito se la condizione è vera. Elimina automaticamente i partecipanti dalla lista. Come si ottiene una lista di nomi completi in modo unico utilizzando `zip` su due liste di nomi e cognomi in Kotlin?. Combinando `firstNames.shuffled().zip(lastNames.shuffled()) { firstName, lastName -> "$firstName $lastName" }`. Combinando `firstNames.random().zip(lastNames.random()) { firstName, lastName -> "$firstName $lastName" }`. Utilizzando `flatMap` con un predicato. Utilizzando `map` seguito da `zip`. Descrivi almeno due funzioni di ambito e fornisci un esempio di utilizzo di almeno una delle due. In che modo l'uso della keyword `open` influisce sul comportamento di una classe in Kotlin e perché è necessaria per permettere l'ereditarietà?. Quali sono le principali componenti in un Android Package (APK) e come interagiscono tra di loro per creare un'esperienza utente interattiva?. Cosa accade nella fase di esecuzione di Gradle?. Gradle ottimizza il layout XML dell'app. Gradle imposta le dipendenze del progetto. Gradle esegue i task determinati nella fase di configurazione. Gradle crea il file AndroidManifest.xml. Qual è uno dei vantaggi principali di Android Studio?. L'integrazione con iOS. La possibilità di testare applicazioni su emulatore o dispositivo reale. La gestione delle risorse tramite GitHub. La capacità di compilare in più linguaggi contemporaneamente. Qual è il compito della fase di configurazione in Gradle?. Eseguire i test automatici. Installare le dipendenze di terze parti. Creare l'APK finale. Determinare i task da eseguire e il loro ordine. Che cos'è Android Studio?. Un linguaggio di programmazione. Un ambiente di sviluppo integrato (IDE) per Android. Un sistema operativo. Un emulatore di dispositivi mobili. Cosa rappresenta il parametro `minSdkVersion` in un progetto Android?. La versione delle librerie con cui l'app viene compilata. La versione di Android per cui l'app è stata ottimizzata. La versione più bassa di Android su cui l'app può essere eseguita. La versione di Android su cui l'app è stata testata. Spiega come funziona la suddivisione del processo di build in tre fasi principali con Gradle. Qual è il vantaggio di utilizzare i "density-independent pixels" (dp) nello sviluppo Android?. Standardizzare le dimensioni delle View su diversi dispositivi. Migliorare la compatibilità con versioni precedenti di Android. Ottimizzare la gestione delle risorse di rete. Aumentare la velocità di compilazione. Quale di queste fasi fa parte del ciclo di vita di un'Activity?. onStop. onRun. onCompile. onInstall. Qual è il ruolo del metodo `setContentView` in un'Activity?. Configura il layout visivo dell'Activity. Gestisce il ciclo di vita dell'Activity. Avvia una nuova Activity. Esegue la distruzione dell'Activity. Qual è il ruolo del metodo `setContentView` in un'Activity?. Salvare lo stato dell'app. Compilare il codice XML. Chiudere l'Activity corrente. Eseguire il layout inflation per mostrare l'interfaccia utente. Cos'è un'Activity in Android?. Un plugin di Android Studio. Un file di configurazione per le risorse. Un file XML che definisce il layout. Una singola schermata con un'interfaccia utente. Quali sono gli eventi principali che un'Activity attraversa nel suo ciclo di vita?. Che cosa rappresenta la gerarchia delle View in un layout Android?. Un algoritmo per gestire i pulsanti interattivi. Un metodo per ottimizzare il rendering delle immagini nelle View. La struttura organizzativa delle View all'interno di un layout. Un sistema di librerie per la gestione del codice. Che cos'è una `TextView` in Android?. Un elemento utilizzato per visualizzare testo. Un contenitore di View. Un pulsante interattivo. Un'immagine visualizzata sull'interfaccia. Qual è la caratteristica principale del `FrameLayout`?. Sovrapporre le View l'una sull'altra. Organizzare le View in una struttura ad albero. Disporre le View in una griglia. Disporre le View in una singola riga. Come Android gestisce la varietà di risoluzioni e densità dello schermo?. Suddividendo i dispositivi in bucket di densità dello schermo. Modificando i file manifest. Eseguendo il layout inflation in runtime. Utilizzando il file build.gradle come riferimento. Che cosa definiscono i "margini" in una View?. La dimensione dell'interfaccia utente. Lo spazio interno alla View tra i bordi e il contenuto. La distanza tra l'app e lo schermo. Lo spazio esterno tra una View e le altre View. Cosa rappresentano le proprietà `layout_width` e `layout_height` in un file di layout XML?. Il colore e lo stile della View. La posizione di una View nel layout. La larghezza e l'altezza di una View. Il comportamento della View all'interno del contenitore. Quali sono le principali differenze tra un `LinearLayout`, un `FrameLayout` e un `ConstraintLayout`?. Quale stile di Chain distribuisce equamente lo spazio tra tutte le View della Chain, creando un layout bilanciato?. Spread Chain. Packed Chain. Weighted Chain. Spread Inside Chain. Come possono i vincoli relativi essere utilizzati per migliorare la compatibilità con diverse dimensioni dello schermo?. Permettono alle View di essere posizionate in base alla dimensione dello schermo. Eliminano automaticamente le View non necessarie su schermi piccoli. Consentono solo la visualizzazione di testo sulle schermate più piccole. Vincolano tutte le View a dimensioni fisse indipendentemente dal dispositivo. Spiega cosa sono le Guidelines e quali sono i vantaggi del loro utilizzo nella gestione delle View in un layout complesso. Come si definisce una Guideline orizzontale in XML per posizionare una View a 16dp dalla parte superiore del layout?. Usando `padding="16dp"` direttamente nella View. Aggiungendo `layout_marginTop="16dp"` a tutte le View. Impostando `layout_constraintWidth="16dp"` sulla View. Utilizzando `layout_constraintGuide_begin="16dp"` con orientamento orizzontale. Come si assegna un Resource ID a una `TextView` in un file XML di layout?. Usando l'attributo `android:resource="@id/helloTextView"`. Specificando l'ID direttamente nel file `values.xml`. Scrivendo il codice Kotlin all'interno del file XML. Utilizzando l'attributo `android:id="@+id/helloTextView"`. Cosa succede se si modifica il valore di una variabile associata tramite data binding nel codice Kotlin?. Il valore visualizzato nella View non cambia. È necessario chiamare `invalidate()` sulle View. La View associata si aggiorna automaticamente. Viene generato un errore di runtime. Spiega a cosa serve l'interfaccia `View.OnClickListener`. Quale componente layout è ideale per visualizzare un lungo testo?. `FrameLayout`. `LinearLayout`. `ScrollView`. `ImageView`. Dove viene solitamente posizionato un FAB per massimizzare la sua visibilità e accessibilità?. Nell'angolo in alto a sinistra della schermata. Al centro della barra di navigazione. Sopra un elenco scorrevole. Nell'angolo in basso a destra della schermata. Come si può migliorare la comprensione dell'azione di un bottone da parte dell'utente?. Nascondendo il bottone fino a quando non viene premuto. Usando icone appropriate insieme al testo del bottone. Aumentando la dimensione del bottone quando viene premuto. Cambiando il colore del bottone a intervalli regolari. Spiega l'importanza dei Floating Action Buttons (FAB) nelle interfacce utente di Android. Quale controllo mostra un menù a tendina con una lista di opzioni selezionabili?. CheckBox. Spinner. RadioButton. EditText. Quale attributo può essere utilizzato per garantire che un controllo di input sia accessibile agli utenti con disabilità?. android:contentDescription. android:accessibility. android:visibility. android:focusable. Quale metodo può essere utilizzato per determinare quale elemento ha attualmente il focus in un ViewGroup?. checkFocus()`. `ViewGroup.focusedChild`. `findFocusedElement()`. `getFocusedView()`. Quale controllo permette di selezionare un valore all'interno di un intervallo tramite un cursore?. RadioButton. CheckBox. SeekBar. Spinner. Che differenza c'è tra una View cliccabile e una View focusable?. Le View cliccabili possono ricevere testo, mentre le View focusable no. Le View focusable possono essere cliccate ma non ricevere input a differenza delle View cliccabili. Le View cliccabili rispondono solo ai click, mentre le View focusable ricevono input diretto. Non esistono differenze tra clickable e focusable. Descrivi come funziona il concetto di focus in Android e come può essere gestito tra le diverse View. Quale azione viene utilizzata per aprire una pagina web tramite un `Intent` implicito?. Intent.ACTION_DIAL. Intent.ACTION_SEND. Intent.ACTION_EDIT. Intent.ACTION_VIEW. Cosa consente di fare un `Intent` con l'azione `ACTION_VIEW`?. Visualizzare un contenuto specifico. Eseguire un download in background. Avviare una nuova Activity. Modificare il contenuto di un file. Quale azione può eseguire un `Intent`?. Gestire il flusso di rete. Avviare un'applicazione. Avviare un processo di compilazione. Modificare la UI. Qual è il ruolo di un `Intent` in Android?. Comunicare tra diverse componenti dell'applicazione. Salvare i dati dell'utente. Gestire il layout dell'interfaccia utente. Avviare il sistema operativo. Cosa accade se non esiste un'app in grado di gestire un Intent implicito?. Il sistema operativo mostra un messaggio di errore. Il sistema ignora l'Intent. L'app può gestire la situazione evitando un crash. L'applicazione si chiude automaticamente. Descrivi come avviene lo scambio di dati tra due Activity in Android tramite `Intent` e `Extras`. Quale azione viene utilizzata per associare una View a un menu contestuale?. `activateContextMenu()`. `bindContextMenu()`. `attachContextMenu()`. `registerForContextMenu()`. Cosa succede quando l'utente fa una lunga pressione su una View registrata per un menu contestuale?. La View viene eliminata automaticamente. Si avvia una nuova Activity. Appare il `Floating Context Menu`. Viene disabilitata la View. Qual è il vantaggio di utilizzare `startActivityForResult()` rispetto a `startActivity()`?. Aumenta la velocità di avvio dell'Activity. Esegue l'Activity in background. Permette di ottenere dati dall'Activity avviata. Riduce l'uso di memoria. A partire da quale versione di Android tutte le attività utilizzano la `ActionBar`?. Android 4.4. Android 2.0. Android 5.0. Android 3.0. Dove vengono definiti gli elementi di un menu da aggiungere alla `Toolbar`?. Nel file `gradle.properties`. Nel file `res/layout`. Nel file `res/menu` in un file XML. All'interno di `AndroidManifest.xml`. Che cosa sono i menu contestuali in Android?. Menu che appaiono dopo una lunga pressione su una View. Menu che appaiono all'avvio dell'applicazione. Menu che permettono la gestione del layout. Menu che gestiscono solo le impostazioni dell'app. Qual è il ciclo di vita di un `Action Mode` e come viene gestito in un'app Android?. Dove viene solitamente salvato il file XML che definisce un popup menu?. Nella cartella `res/layout`. Nella cartella `res/drawable`. Nella cartella `res/menu`. Nella cartella `res/values`. Quale classe viene utilizzata per creare un `AlertDialog` in Android?. `ContextMenu.Builder`. `DialogManager`. `PopupMenu.Builder`. `AlertDialog.Builder`. In quale situazione si utilizzerebbe un `PopupMenu` rispetto a un `AlertDialog`?. Quando si desidera confermare un'azione importante. Quando si desidera offrire opzioni rapide legate a una specifica View. Quando si vuole mostrare un calendario. Quando si richiede l'inserimento di dati dall'utente. Qual è il vantaggio dell'approccio dinamico nell'aggiungere un Fragment a un'Activity?. Migliora le prestazioni dell'app. Aggiunge nuove librerie a runtime. Permette di cambiare i Fragments in base alle interazioni dell'utente. Disabilita la barra di navigazione. Cosa permette di fare un `Fragment` a runtime?. Modificare le impostazioni di sistema. Avviare nuove Activity. Aggiungere o rimuovere porzioni di UI dinamicamente. Modificare il ciclo di vita dell'app. Quali sono i vantaggi dell'utilizzo di Fragments in un'app Android rispetto all'utilizzo di sole Activity?. Quale classe viene generata automaticamente da Safe Args per facilitare il passaggio di dati?. `NavHost`. `NavController`. `FragmentArgs`. `Directions` class. Qual è l'interfaccia raccomandata per passare oggetti complessi tra destinazioni in Android?. Serializable. Parcelable. ArrayList. Enum. Qual è lo scopo delle animazioni nel `Navigation Graph`?. Migliorare le prestazioni dell'app. Definire un grafo degli effetti sonori durante la navigazione. Definire transizioni visive tra le destinazioni. Salvare le impostazioni utente. Cos'è il Navigation Component in Android?. Un framework per la gestione dei permessi. Un gestore di database locale. Un editor grafico per creare layout. Un insieme di librerie per gestire la navigazione tra schermate. Quale elemento esegue le azioni di navigazione definite nel Navigation Graph?. NavHost. Navigation Editor. Fragment Manager. Navigation Controller (NavController). Quali sono i vantaggi di utilizzare Safe Args rispetto a metodi tradizionali come `Bundle` o `Serializable` per passare dati tra destinazioni in un'app Android?. Qual è lo scopo di mantenere uno stato coerente tra i Fragments durante la navigazione?. Per sincronizzare i dati tra app diverse. Per ridurre l'uso della memoria. Per mantenere i dati anche quando l'utente torna a un Fragment precedente. Per disattivare il pulsante "Indietro". Qual è lo scopo del parametro `popUpTo` nel Navigation Graph?. Creare una nuova transizione animata. Rimuovere più destinazioni dal back stack fino a una specificata. Aggiungere una nuova Activity al back stack. Salvare lo stato dell'Activity attuale. Cos'è il back stack in Android?. Un database per salvare i dati temporanei. Un'area per gestire i permessi dell'app. Un layout per mostrare più schermate contemporaneamente. Una struttura a pila per gestire la navigazione tra schermate. Come si collega una `Toolbar` al `NavController`?. Utilizzando `NavigationUI.setupWithNavController()`. Tramite l'attributo `app:toolbarNav`. Utilizzando il metodo `connectToolbar()`. Utilizzando `NavController.setupToolbar()`. Qual è il ruolo del `FrameLayout` all'interno di un `DrawerLayout`?. Visualizzare le voci di menu. Contenere la barra delle notifiche. Contenere il contenuto principale, come i Fragments. Gestire le transizioni animate. Qual è il vantaggio principale di utilizzare Safe Args rispetto a un `Bundle`?. Migliore gestione della memoria. Garantisce che i dati passati siano del tipo corretto. Aumenta la velocità delle transizioni. Consente di modificare i permessi di sistema. Spiega come funziona il back stack in Android e come è possibile personalizzarlo per migliorare la navigazione dell'utente. Quando viene chiamato il metodo `onRestart()` in un'Activity?. `onRestart()`. Quando l'Activity riprende da uno stato fermo. Quando l'Activity è visibile, ma non interattiva. Quando l'Activity è completamente distrutta. Perché è importante comprendere il ciclo di vita delle Activity in Android?. Per gestire correttamente lo stato dell'app nei cambiamenti di configurazione. Per velocizzare il caricamento delle risorse. Per ottimizzare la memoria dell'Activity. Per migliorare la grafica dell'app. Cosa accade durante il metodo `onStart()` in un'Activity?. L'Activity diventa completamente interattiva. L'Activity è visibile, ma non ancora interattiva. L'Activity viene salvata in background. L'Activity è completamente distrutta. Qual è il metodo chiamato quando un'Activity diventa completamente interattiva con l'utente?. `onCreate()`. `onStart()`. `onPause()`. `onResume()`. In quale situazione viene richiamato il metodo `onRestart()` in un'Activity?. Quando l'Activity riprende da uno stato fermato. Quando l'Activity è distrutta. Quando l'Activity perde il focus. Quando l'Activity viene creata di nuovo. In che modo i metodi `onPause()`, `onStop()` e `onDestroy()` influenzano il ciclo di vita di un'Activity e come dovrebbero essere gestiti per evitare problemi di prestazioni e memory leaks?. Quando viene chiamato il metodo `onResume()` in un'Activity?. Quando l'Activity diventa completamente interattiva. Quando l'Activity è creata ma non ancora visibile. Quando l'Activity è distrutta. Quando l'Activity perde il focus. Cosa dovrebbe essere sospeso in `onPause()`?. Operazioni non necessarie. La visibilità dell'Activity. La gestione del ciclo di vita dell'Activity. La gestione dei permessi. Cosa accade se l'Activity viene distrutta dal sistema operativo senza eseguire `onDestroy()`?. L'Activity rilascia tutte le risorse automaticamente. L'Activity torna nello stato di ripresa. Le risorse dell'Activity rimangono allocate. L'Activity viene salvata automaticamente. Quale metodo viene chiamato per agganciare un Fragment all'Activity?. `onAttach()`. `onStart()`. `onCreate()`. `onResume()`. Quando viene chiamato il metodo `onDestroyView()` in un Fragment?. Quando la gerarchia delle Views del Fragment viene rimossa. Quando il Fragment riprende l'interazione con l'utente. Quando il Fragment viene completamente distrutto. Quando il Fragment diventa interattivo. Descrivi il ciclo di vita completo di un Fragment e spiega come i metodi di callback gestiscono la visibilità e l'interattività del Fragment. Qual è l'ultimo metodo chiamato nel ciclo di vita di un Fragment?. `onDestroyView()`. `onDetach()`. `onStop()`. `onResume()`. Quale metodo di un `Adapter` è responsabile della creazione delle view per gli elementi del `RecyclerView`?. `onDestroy()`. `onBindViewHolder()`. `onCreateViewHolder()`. `getItemCount()`. Dove viene generalmente impostato un `OnClickListener` per gli item di un `RecyclerView`?. Nel metodo `onCreateView()` dell'Activity. Nel metodo `onDestroy()` del Fragment. Nel file XML del layout. All'interno del metodo `onCreateViewHolder()` dell'Adapter. Descrivi come l'uso del `ListAdapter` e del `DiffUtil.ItemCallback` può migliorare l'efficienza e la reattività di un'applicazione Android. Cos'è la persistenza dei dati in un'app Android?. Il salvataggio dei dati temporanei. La sincronizzazione dei dati con il server. Il mantenimento dei dati anche dopo la chiusura dell'app. L'eliminazione automatica dei dati dopo l'uso. Quale metodo assicura che un file nello storage interno sia accessibile solo dall'app stessa?. `Context.MODE_SHARED`. `Context.MODE_READ_ONLY`. `Context.MODE_PRIVATE`. `Context.MODE_EXTERNAL`. Quale delle seguenti operazioni fa parte delle operazioni CRUD in un database?. Creazione, Ricerca, Uso, Distribuzione. Creazione, Lettura, Aggiornamento, Eliminazione. Cancellazione, Riscrittura, Unione, Distribuzione. Compilazione, Ripristino, Aggiornamento, Debug. Cosa fa l'istruzione SQL `DELETE` in una tabella?. Aggiorna un record esistente. Aggiunge una nuova colonna. Crea una nuova tabella. Elimina un record specifico. Qual è il metodo per creare o accedere a un file di preferenze in un'Activity?. `getCacheFile()`. `getSharedPreferences()`. `getInternalStorage()`. `getDatabase()`. Spiega le principali operazioni CRUD e fornisci un esempio di ciascuna con SQL per un database SQLite in Android. Qual è la funzione di `@Insert(onConflict = OnConflictStrategy.REPLACE)`?. Evita l'inserimento di dati duplicati. Inserisce dati e genera un'eccezione in caso di conflitto. Inserisce dati e sostituisce il record esistente in caso di conflitto. Inserisce dati solo se il record non esiste già. Qual è lo scopo del parametro `vararg` in un metodo DAO?. Limita il numero di record da restituire. Modifica il formato di ritorno della query. Converte i dati in un tipo diverso. Permette di passare un numero variabile di oggetti al metodo. Cos'è un DAO in Room?. Un sistema per creare interfacce utente dinamiche a partire dai dati. Un'interfaccia o classe astratta che gestisce l'accesso ai dati del database. Un componente per gestire le notifiche push. Una classe per gestire le risorse di rete. Quale vantaggio offrono le estensioni Kotlin (`room-ktx`) per Room?. Permettono di generare automaticamente interfacce utente. Aggiungono il supporto per le notifiche in background. Migliorano la compatibilità con Java. Rendono l'utilizzo di Room più idiomatico e semplificano l'uso delle coroutine. Quale annotazione è usata per definire una chiave primaria in una classe `Entity` in Room?. `@Dao`. `@PrimaryKey`. `@ColumnInfo`. `@Ignore`. Cos'è la libreria Room in Android?. Un framework per gestire permessi di accesso ai dati in lettura e scrittura. Un'API per gestire le animazioni. Un livello di astrazione per facilitare l'interazione con SQLite. Un database grafico per visualizzare dati. Descrivi come Room gestisce le operazioni CRUD e come le annotazioni nei DAO rendono questo processo più efficiente rispetto all'uso diretto di SQLite. Cosa rappresenta il "debito tecnico"?. Una metodologia di sviluppo rapida che consiste nella prioritizzazione delle azioni di risoluzione dei bug. Un bug nel codice. Il costo del lavoro futuro per risolvere codice scritto in modo affrettato. Una tecnica di riduzione dei costi di sviluppo. Quale componente del pattern MVC gestisce la logica di business?. Fragment. Controller. View. Model. Cosa permette la libreria `WorkManager` di Android Jetpack?. Migliorare la gestione della memoria. Creare database locali. Gestire il ciclo di vita delle Activity per massimizzare l'efficienza. Eseguire task asincroni e lavori in background. Qual è uno dei principali vantaggi del pattern MVVM rispetto a MVP?. Nessuna necessità di gestire manualmente lo stato della View. Indipendenza dal ciclo di vita delle View. Minor uso di librerie esterne. Maggiore semplicità di implementazione. Quale componente Jetpack viene utilizzato per mantenere lo stato della UI durante i cambi di configurazione come la rotazione dello schermo?. LiveData. Room. Navigation. ViewModel. Confronta i pattern MVP e MVVM, descrivendo i vantaggi e gli svantaggi di ciascuno nel contesto dello sviluppo Android. |




