Documento di Università sul mobile computing (sviluppo Android). Il Pdf, utile per lo studio universitario di Informatica, esplora l'architettura del sistema Android, la gestione dei MotionEvent, i sensori e l'utilizzo del MediaPlayer, con diagrammi esplicativi.
Mostra di più39 pagine


Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Mobile computing (sviluppo Android) D'Angelo Carmine E Vitale EmanueleIntroduzione ad Android Architettura sistema Android Si basa su un kernel linux:
System Apps Dialer Email Calendar Camera
Managers Content Providers Activity Location Package Notification View System Resource Telephony Window
Android Runtime Webkit OpenMAX AL Libc Android Runtime (ART) Media Framework OpenGL ES . . . Core Libraries
Audio Bluetooth Camera Sensors
Drivers Audio Binder (IPC) Display Keypad Bluetooth Camera Shared Memory USB WIFI Power Management
1. Applicazioni: sono le applicazioni già presenti nel cellulare, e quelle che saranno installate nel futuro.
Le app in Android sono scritte in Java, la libreria fornisce molte classi pronte all'uso: · classi di base: java .* , javax .* · classiper le app: android .* · Internet/web services: org .* · Unit testing: junit *.
Le app sono: · Scritte in Java · Compilate in file Java Bytecode · Un tool, DX, trasforma i file bytecode in un singolo file Dex Bytecode (classes.dex) · Il file classes.dex contiene anche tutti i file di dati necessari e viene istallato sul target device . ART Virtual Machine esegue il file Dex
1. Manifesto: informazioni generali sull'app (permessi, attività, icona 2. Java: file sorgenti 3. res, risorse: · Drawable: contiene tutto ciò che è disegnabile ( immagini, file uml per specifiche grafiche). · Layout: descrizione dell'interfaccia grafiche dell'app. · Values: contiene dei valori numerici ( conviene metteri i valori numerici in un file xml inserito in questa directory, per potervi accedere dalle classi java, così se un valore è presente in più classi basta cambiarlo una volta solo). · Menù: per i menù pop up · Mipmap: serve a gestire immagini di varie dimensioni, cioè stesse immagini ma a diverse risoluzioni. 1. Gradle: contiene files che tengono traccia delle dipendenze per generare l'apk. 2. Informazioni: dipendenze da altro codice
Le app includono risorse che possono essere specifiche per una particolare cultura. Ad esempio, un'app può includere stringhe specifiche per la lingua che vengono tradotte nella lingua delle impostazioni internazionali correnti. È una buona pratica mantenere separate le risorse specifiche della lingua dal resto della tua app. Android risolve le risorse specifiche per lingua in base alle impostazioni locali del sistema. È possibile fornire supporto per diverse impostazioni locali utilizzando la directory delle risorse nel progetto Android. È possibile fornire qualsiasi tipo di risorsa appropriata per la lingua dei propri utenti. Per aggiungere supporto per più lingue , bisogna creare directory aggiuntive all'interno di res/. Il nome di ogni directory dovrebbe rispettare il seguente formato:
<res> values-b + <codice lingua>, es: res/values-b+it/strings.xml • per le icone personalizzati invece: · < res> values-b + <codice lingua> [+<codice paese>], es: res/mipmap-b+it+IT/country_flag.png Android carica le risorse appropriate in base alle impostazioni locali del dispositivo in fase di runtime.
In java basta scrivere il seguente codice: // Get a string resource from your app's Resources String hello = getResources().getString(R.string.hello_world); // Or supply a string resource to a method that requires a string Text View textView = new TextView(this); textView.setText(R.string.hello_world);
Ogni widgets dell' SDK Android è instanza della classe view o una sua sottoclasse. Listeners: sono metodi degli oggettti della classe view, sono sempre in "ascolto" per entrare in azione quando si verifica un evento specifico, ad esempio un pulsante ha il metodo onClick che viene eseguito quando l'utente preme il pulsante.
Ogni progetto android deve avere un file AndroidManifest.xml (con esattamente questo nome) nella radice del set di origine del progetto. Il file manifest descrive le informazioni essenziali sulla tua app per gli strumenti di sviluppo Android, il sistema operativo Android e Google Play.
Tra le altre cose, è richiesto il file manifest per dichiarare quanto segue: · Il nome del pacchetto dell'app, che di solito corrisponde allo spazio dei nomi del tuo codice. Gli strumenti di build di Android lo utilizzano per determinare la posizione delle classi di durante la creazione del progetto. · I componenti dell'app, che comprendono tutte le attività, i servizi, i ricevitori di trasmissione e i fornitori di contenuti. Ogni componente deve definire proprietà di base come il nome della sua classe Kotlin o Java. Può anche dichiarare funzionalità quali le configurazioni dei dispositivi che può gestire e filtri di intent che descrivono come il componente può essere avviato.· Le autorizzazioni di cui l'app ha bisogno per accedere a parti protette del sistema o altre app. Dichiara inoltre qualsiasi autorizzazione che devono avere altre app se vogliono accedere ai contenuti da questa app. · Le funzionalità hardware e software richieste dall'app che incidono su quali dispositivi possono installare l'app da Google Play.
Un AVD contiene un profilo hardware, un'immagine di sistema, un'area di memoria, skin e altre proprietà. Si consiglia di creare un AVD per ogni immagine di sistema che l'app potrebbe potenzialmente supportare in base all'impostazione <uses-sdk> nel manifest.
• Storage area: L'AVD ha un'area di archiviazione dedicata sulla macchina di sviluppo. Memorizza i dati dell'utente del dispositivo, come app e impostazioni installate, nonché una scheda SD emulata. Se necessario, è possibile utilizzare AVD Manager per cancellare i dati dell'utente, in modo che il dispositivo abbia gli stessi dati come se fosse nuovo. · Skin: Una skin dell'emulatore specifica l'aspetto di un dispositivo. Il gestore AVD fornisce alcune skin predefinite. Puoi anche definire la tua o usare skin fornite da terze parti. · AVD e caratteristiche dell'app: Assicurati che la tua definizione di AVD includa le funzioni del dispositivo da cui dipende la tua app, come navigatore, fotocamera, memoria Ram, screen size, screen resolution, ecc ..