Glossario della piattaforma Android

Consulta l'elenco seguente per apprendere la terminologia di base dell'Android Open Source Project (AOSP). Ecco altre fonti per le definizioni dei termini chiave:

Vedere Coding with Respect per esempi di terminologia da utilizzare ed evitare per un ecosistema più inclusivo.

App

file .apk
File del pacchetto dell'applicazione Android. Ogni applicazione Android viene compilata e impacchettata in un unico file che include tutto il codice dell'applicazione (file .dex), le risorse, le risorse e il file manifest. Il file del pacchetto dell'applicazione può avere qualsiasi nome ma deve utilizzare l'estensione .apk . Ad esempio: myExampleAppname.apk . Per comodità, un file del pacchetto dell'applicazione viene spesso chiamato ".apk".

Correlati: Applicazione .

Azione
Una descrizione di qualcosa che un mittente dell'intento desidera venga eseguito. Un'azione è un valore stringa assegnato a un Intento. Le stringhe di azione possono essere definite da Android o da uno sviluppatore di terze parti. Ad esempio, android.intent.action.VIEW per un URL Web o com.example.rumbler.SHAKE_PHONE per un'applicazione personalizzata per far vibrare il telefono.

Correlati: Intento .

Attività
Una singola schermata in un'applicazione, con codice Java di supporto, derivata dalla classe Activity . Nella maggior parte dei casi, un'attività è rappresentata in modo visibile da una finestra a schermo intero in grado di ricevere e gestire eventi dell'interfaccia utente ed eseguire attività complesse, grazie alla finestra utilizzata per il rendering della finestra. Sebbene un'attività sia in genere a schermo intero, può anche essere mobile o trasparente.
Applicazione
Dal punto di vista dei componenti, un'applicazione Android è costituita da una o più attività, servizi, ascoltatori e ricevitori di intenti. Dal punto di vista del file di origine, un'applicazione Android è composta da codice, risorse, risorse e un singolo manifest. Durante la compilazione, questi file vengono inseriti in un unico file denominato file del pacchetto dell'applicazione (.apk).

Correlati: .apk , Attività

Ricevitore di trasmissione
Una classe dell'applicazione che ascolta gli intenti trasmessi, anziché essere inviati a una singola applicazione/attività di destinazione. Il sistema fornisce un intento di trasmissione a tutti i ricevitori di trasmissione interessati, che gestiscono l'intento in sequenza.

Correlati: intento , filtro intento .

Fornitore di contenuti
Un livello di estrazione dati che puoi usare per esporre in sicurezza i dati della tua applicazione ad altre applicazioni. Un provider di contenuto è basato sulla classe ContentProvider , che gestisce le stringhe di query del contenuto di un formato specifico per restituire dati in un formato specifico. Per ulteriori informazioni, vedere l'argomento Fornitori di contenuti .

Correlati: utilizzo dell'URI in Android

Dialogo
Una finestra mobile che funge da forma leggera. Una finestra di dialogo può avere solo controlli dei pulsanti ed è destinata a eseguire un'azione semplice (come la scelta di un pulsante) e magari restituire un valore. Una finestra di dialogo non è destinata a persistere nello stack della cronologia, a contenere layout complessi o a eseguire azioni complesse. Android fornisce una semplice finestra di dialogo predefinita per te con pulsanti opzionali, sebbene tu possa definire il layout della tua finestra di dialogo. La classe base per le finestre di dialogo è Dialog .

Correlati: attività .

Intento
Un oggetto messaggio che puoi usare per avviare o comunicare con altre applicazioni/attività in modo asincrono. Un oggetto Intent è un'istanza di Intent . Include diversi campi di criteri che puoi fornire, per determinare quale applicazione/attività riceve l'intento e cosa fa il destinatario quando gestisce l'intento. I criteri disponibili includono l'azione desiderata, una categoria, una stringa di dati, il tipo MIME dei dati, una classe di gestione e altri. Un'applicazione invia un Intento al sistema Android, anziché inviarlo direttamente a un'altra applicazione/attività. L'applicazione può inviare l'intento a una singola applicazione di destinazione oppure può inviarlo come trasmissione, che a sua volta può essere gestita da più applicazioni in sequenza. Il sistema Android è responsabile della risoluzione del miglior ricevitore disponibile per ciascun Intento, in base ai criteri forniti nell'Intento e ai Filtri Intento definiti da altre applicazioni. Per ulteriori informazioni, vedere intenti e filtri di intenti.

Correlati: Filtro di intenti , Ricevitore di trasmissione .

Filtro intento
Un oggetto filtro che un'applicazione dichiara nel suo file manifest, per indicare al sistema quali tipi di intenti ciascuno dei suoi componenti è disposto ad accettare e con quali criteri. Attraverso un filtro intento, un'applicazione può esprimere interesse per tipi di dati specifici, azioni intento, formati URI e così via. Quando si risolve un Intento, il sistema valuta tutti i filtri di Intento disponibili in tutte le applicazioni e passa l'Intento all'applicazione/attività che meglio corrisponde all'Intento e ai criteri. Per ulteriori informazioni, vedere intenti e filtri di intenti.

Correlati: Intento , Ricevitore di trasmissione .

Risorse
Componenti dell'applicazione non programmatici esterni al codice dell'applicazione compilata, ma che possono essere caricati dal codice dell'applicazione utilizzando un formato di riferimento noto. Android supporta una varietà di tipi di risorse, ma le risorse di un'applicazione tipica sarebbero costituite da stringhe dell'interfaccia utente, componenti del layout dell'interfaccia utente, grafica o altri file multimediali e così via. Un'applicazione utilizza le risorse per supportare in modo efficiente la localizzazione e vari profili e stati del dispositivo. Ad esempio, un'applicazione includerebbe un insieme separato di risorse per ogni tipo di dispositivo o locale supportato e potrebbe includere risorse di layout specifiche per l'orientamento dello schermo corrente (orizzontale o verticale). Per ulteriori informazioni sulle risorse, vedere Risorse e risorse . Le risorse di un'applicazione sono sempre archiviate nelle sottocartelle res/* del progetto.
Servizio
Un oggetto di classe Service che viene eseguito in background (senza alcuna presenza dell'interfaccia utente) per eseguire varie azioni persistenti, come riprodurre musica o monitorare l'attività di rete.

Correlati: attività

URI in Android
Android utilizza stringhe URI (uniform Resource Identifier) ​​come base per la richiesta di dati in un provider di contenuti (ad esempio per recuperare un elenco di contatti) e per richiedere azioni in un intento (come l'apertura di una pagina Web in un browser). Lo schema e il formato URI sono specializzati in base al tipo di utilizzo e un'applicazione può gestire schemi e stringhe URI specifici in qualsiasi modo desideri. Alcuni schemi URI sono riservati dai componenti di sistema. Ad esempio, le richieste di dati da un provider di contenuti devono utilizzare content:// . In un Intento, un URI che utilizza uno schema http:// verrà gestito dal browser.

Costruire

adb
Android Debug Bridge, un'applicazione di debug della riga di comando inclusa nell'SDK. Fornisce strumenti per esplorare il dispositivo, copiare strumenti sul dispositivo e inoltrare le porte per il debug. Se stai sviluppando in Android Studio, adb è integrato nel tuo ambiente di sviluppo. Per ulteriori informazioni, vedere Android Debug Bridge .
Progetto Android
Un repository Git su un host Android Gerrit. Vedere Strumenti di controllo del codice sorgente > Gerrit per ulteriori informazioni.
Costruisci impronta digitale
L'impronta digitale della build è una stringa univoca, leggibile dall'uomo, contenente le informazioni sul produttore emesse per ciascuna build. Per ulteriori informazioni, vedere Comprensione delle impronte digitali di build .
Idiota
Lo strumento di controllo del codice sorgente utilizzato da Android che storicamente operava su un unico repository Git. Usato insieme a Repo per più repository Git. Vedi Strumenti di controllo del codice sorgente > Git per ulteriori informazioni.
ramo Git - canonico
Versioni distinte per ogni repository Git, ad esempio android-11.0.0_r1 , disponibile su cs.android.com/android/platform/superproject/+/android-11.0.0_r1 . Vedere Git Branching - Branches in breve per ulteriori informazioni.
Git branch - locale
Un ramo temporaneo nel client Repo corrente per apportare modifiche al codice, iniziato con il repo start branch-name . comando. una linea attiva di sviluppo. Il commit più recente su un ramo viene indicato come punta di quel ramo.
Repository Git
A volte indicato come progetto, questa è una parte della codebase che rappresenta un particolare componente o tipo di dispositivo, come frameworks/base o platform/packages/apps/Car/Media .
File manifesto
Un file XML che descrive un raggruppamento di repository Git per ramo, le revisioni Git in cui controllare tali repository e il loro layout su un filesystem. Questo file XML, in genere denominato default.xml , è associato a un ramo Repo e descrive i repository Git e i rami Git estratti durante l'inizializzazione e la sincronizzazione del ramo Repo. Questo file definisce i vari repository Git che lo strumento Repo dovrebbe recuperare in un checkout del client Repo per creare un prodotto (come il sistema operativo Android Automotive). Vedi tutti i manifest su android.googlesource.com/platform/manifest/+refs . Consulta il manifest predefinito incluso nei file AndroidManifest per estrarre i file della piattaforma Android (AOSP) su android.googlesource.com/platform/manifest/+/refs/heads/master/default.xml . Vedere il file AndroidManifest.xml per informazioni sull'app e il formato manifest repository per lo sviluppo della piattaforma.
Aggiornamento via etere (OTA).
I dispositivi Android sul campo possono ricevere e installare aggiornamenti over-the-air (OTA) per il sistema, il software applicativo e le regole del fuso orario. Vedere Aggiornamenti OTA per ulteriori informazioni.
Repo
Un wrapper attorno a Git per consentire operazioni più semplici su più repository Git. Aggrega e gestisce i numerosi repository Git come un singolo checkout o codebase. Vedi Strumenti di controllo del codice sorgente > Repo per ulteriori informazioni.
Ramo di pronti contro termine
Una raccolta di repository Git acquisiti in un file AndroidManifest che rappresenta una versione (build) della codebase Android, come android11-gsi o aosp-android-games-sdk , scaricata tramite repo init e comandi di repo sync . Consulta la descrizione del file manifest per i collegamenti a tutti i file manifest e utilizza https://cs.android.com/ per cercare le loro build.
soprav
In generale, uprev aggiorna un sottoprogetto costituente di un progetto più grande a una versione più recente. Un uprev cambia un livello di revisione alla versione incrementata successiva o all'ultima versione disponibile. Nel caso di un pacchetto HIDL, per mantenere l' estensibilità retrocompatibile a livello di pacchetto , una versione secondaria uprev aggiorna il nuovo pacchetto a una versione secondaria superiore mantenendo lo stesso nome e la versione principale del vecchio pacchetto. Nel caso della configurazione Bootloader , un uprev aggiorna il supporto della versione dell'intestazione di avvio all'ultima versione.

Grafica

Tela
Una superficie di disegno che gestisce la composizione dei bit effettivi rispetto a una bitmap o a un oggetto Surface . Dispone di metodi per il disegno computerizzato standard di bitmap, linee, cerchi, rettangoli, testo e così via ed è associato a una bitmap oa una superficie. Canvas è il modo più semplice e facile per disegnare oggetti 2D sullo schermo. La classe base è Canvas .

Correlati: Disegnabile , OpenGL ES , Surface .

Disegnabile
Una risorsa visiva compilata che può essere utilizzata come sfondo, titolo o altra parte dello schermo. Un drawable viene in genere caricato in un altro elemento dell'interfaccia utente, ad esempio come immagine di sfondo. Un drawable non è in grado di ricevere eventi, ma assegna varie altre proprietà come "stato" e pianificazione, per abilitare sottoclassi come oggetti di animazione o librerie di immagini. Molti oggetti disegnabili vengono caricati da file di risorse disegnabili, file xml o bitmap che descrivono l'immagine. Le risorse disegnabili vengono compilate in sottoclassi di android.graphics.drawable . Per ulteriori informazioni sui drawable e altre risorse, vedere Risorse .

Correlati: Risorse , Tela

Risorsa di layout
Un file XML che descrive il layout di una schermata Attività.

Correlati: Risorse

Immagine a nove patch / 9 patch / nove patch
Una risorsa bitmap ridimensionabile che può essere utilizzata per sfondi o altre immagini sul dispositivo. Per ulteriori informazioni, vedere Immagine estensibile con nove patch .

Correlati: Risorse .

OpenGL ES
Android fornisce librerie OpenGL ES per il rendering 3D con accelerazione hardware. Per il rendering 2D, Canvas è l'opzione più semplice." OpenGL ES è disponibile in Android Native Development Kit (NDK) per facilità d'uso. I pacchetti android.opengl e javax.microedition.khronos.opengles espongono la funzionalità OpenGL ES.

Correlati: tela , superficie

Superficie
Un oggetto di tipo Surface che rappresenta un blocco di memoria che viene composto sullo schermo. Una superficie contiene un oggetto Canvas per il disegno e fornisce vari metodi di supporto per disegnare livelli e ridimensionare la superficie. Non dovresti usare questa classe direttamente; utilizzare invece SurfaceView .

Correlati: tela

SurfaceView
Oggetto View che esegue il wrapping di una superficie per il disegno ed espone metodi per specificarne le dimensioni e il formato in modo dinamico. SurfaceView offre un modo per disegnare indipendentemente dal thread dell'interfaccia utente per operazioni che richiedono un uso intensivo di risorse (come giochi o anteprime della fotocamera), ma di conseguenza utilizza memoria aggiuntiva. SurfaceView supporta sia la grafica Canvas che OpenGL ES. La classe base è SurfaceView .

Correlati: superficie

Tema
Un insieme di proprietà (dimensione del testo, colore di sfondo e così via) raggruppate per definire varie impostazioni di visualizzazione predefinite. Android fornisce alcuni temi standard, elencati in R.style (che iniziano con "Tema_").
Visualizzazione
Un oggetto che disegna su un'area rettangolare sullo schermo e gestisce clic, sequenze di tasti e altri eventi di interazione. Una vista è una classe base per la maggior parte dei componenti di layout di una schermata Attività o Finestra di dialogo (caselle di testo, finestre e così via). Riceve chiamate dal suo oggetto genitore (vedi ViewGroup ) per disegnare se stesso e informa il suo oggetto genitore su dove e quanto grande vorrebbe essere (che può o non può essere rispettato dal genitore). Per ulteriori informazioni, vedere View .

Correlati: Visualizza gerarchia , ViewGroup , Widget

Visualizza gerarchia
Una disposizione di oggetti View e ViewGroup che definisce l'interfaccia utente per ogni componente di un'app. La gerarchia è costituita da gruppi di viste che contengono una o più viste figlio o gruppi di viste. Puoi ottenere una rappresentazione visiva di una gerarchia di viste per il debug e l'ottimizzazione usando il visualizzatore gerarchia fornito con l'SDK Android.

Correlati: Visualizza , VisualizzaGruppo

VisualizzaGruppo
Un oggetto contenitore che raggruppa un set di viste figlio. Il gruppo di visualizzazione è responsabile di decidere dove sono posizionate le visualizzazioni figlio e quanto possono essere grandi, nonché di invitare ciascuna a disegnare se stessa quando appropriato. Alcuni gruppi di viste sono invisibili e sono solo per il layout, mentre altri hanno un'interfaccia utente intrinseca (ad esempio, una casella di riepilogo a scorrimento). I gruppi di visualizzazione sono tutti nel pacchetto del widget , ma estendono ViewGroup .

Correlati: Visualizza , Visualizza gerarchia

Aggeggio
Una di una serie di sottoclassi View completamente implementate che eseguono il rendering di elementi del modulo e altri componenti dell'interfaccia utente, ad esempio una casella di testo o un menu a comparsa. Poiché un widget è completamente implementato, gestisce la misurazione e il disegno stesso e risponde agli eventi sullo schermo. I widget sono tutti nel pacchetto android.widget .
Finestra
In un'applicazione Android, un oggetto derivato dalla classe astratta Window che specifica gli elementi di una finestra generica, come l'aspetto grafico (testo della barra del titolo, posizione e contenuto dei menu e così via). Dialog e Activity utilizzano un'implementazione di questa classe per eseguire il rendering di una finestra. Non è necessario implementare questa classe o utilizzare Windows nell'applicazione.

piattaforma

Android Runtime (ART) e Dalvik
Il runtime di Android (ART) è il runtime gestito utilizzato dalle applicazioni e da alcuni servizi di sistema su Android. Il runtime di Android (ART) è il runtime predefinito per i dispositivi con Android 5.0 (livello API 21) e versioni successive. ART e il suo predecessore Dalvik sono stati originariamente creati appositamente per il progetto Android Open Source. ART come runtime esegue il formato eseguibile Dalvik e la specifica del bytecode Dex. ART e Dalvik sono runtime compatibili che eseguono Dex bytecode, quindi le app sviluppate per Dalvik dovrebbero funzionare durante l'esecuzione con ART.
Codeline
Una codeline contiene il rilascio di un prodotto software. È costituito da uno o più rami di uno o più repository, che spesso sono tutti in fase di sviluppo attivo contemporaneamente. La codeline è il punto di aggregazione e la destinazione per il rilascio. Per ulteriori informazioni sulle codeline, consulta Gestione del software Android .
file .dex
File di codice dell'applicazione Android compilato.

I programmi Android vengono compilati in file .dex (Dalvik Executable), che a loro volta vengono compressi in un unico file .apk sul dispositivo. I file .dex possono essere creati traducendo automaticamente le applicazioni compilate scritte nel linguaggio di programmazione Java.

Test

Manufatti
Gli artefatti sono registri relativi alla compilazione che consentono la risoluzione dei problemi locale. Questi registri sono accessibili direttamente da Gerrit durante la visualizzazione dell'elenco delle modifiche. Scorri verso il basso fino a Stato preinvio e fai clic sul collegamento Build rosso per visualizzare o scaricare il file build_error.log associato. Puoi anche ottenere questi artefatti dal server di integrazione continua Android centrale su ci.android.com/ facendo clic sull'icona Download (freccia giù) per la destinazione e la build. Per ulteriori informazioni su come trovare gli artefatti, vedere Integrazione continua Android .
CDD
L'Android Compatibility Definition Document (CDD) enumera i requisiti che devono essere soddisfatti affinché i tuoi dispositivi siano compatibili con l'ultima versione di Android. Per essere considerate compatibili con Android, le implementazioni dei dispositivi DEVONO soddisfare i requisiti presentati in questa Definizione di compatibilità, inclusi tutti i documenti incorporati per riferimento. Per ulteriori informazioni sul CDD, vedere Documento sulla definizione della compatibilità Android .
CTS
La Compatibility Test Suite (CTS) è la suite di test per garantire la correttezza delle API e le specifiche stabilite nel CDD. È disponibile come sorgente all'interno di AOSP e per il download come binario. Per ulteriori informazioni, vedere Suite di test di compatibilità .
Verificatore CTS
Il Compatibility Test Suite Verifier (CTS Verifier) ​​è un supplemento al CTS. CTS Verifier fornisce test per API e funzioni che non possono essere testate su un dispositivo fisso senza input manuale (ad es. qualità audio, accelerometro, ecc.). Per ulteriori informazioni, vedere Utilizzo di CTS Verifier .
Debug
Il debug richiede la ricerca e la correzione di errori nel codice della piattaforma Android, nelle funzionalità o nei relativi test. Per ulteriori informazioni, consulta Debug del codice della piattaforma Android nativo
GoogleTest (GTest)
GTest è il framework di test e derisione C++ di Google. I binari di GTest in genere accedono a livelli di astrazione di livello inferiore o eseguono IPC non elaborati su vari servizi di sistema. Per questo motivo, l'approccio di test per Gtest è solitamente strettamente correlato al servizio in fase di test. Trova il codice su github.com/google/googletest e la documentazione su google.github.io/googletest .
Prova strumentazione
Un test di strumentazione fornisce uno speciale ambiente di esecuzione del test avviato dal comando am instrument , in cui il processo dell'applicazione di destinazione viene riavviato e inizializzato con il contesto dell'applicazione di base e un thread di strumentazione viene avviato all'interno della macchina virtuale del processo dell'applicazione. Per ulteriori informazioni, vedere Test di strumentazione .
Logcat
Logcat è uno strumento da riga di comando che esegue il dump di un registro dei messaggi di sistema, incluse le tracce dello stack quando il dispositivo genera un errore e i messaggi che hai scritto dalla tua app con la classe Log . Per ulteriori informazioni, vedere Strumento da riga di comando Logcat .
Registrazione
L'accesso ad Android è complesso a causa del mix di standard utilizzati combinati in logcat . Per i dettagli sui principali standard utilizzati, vedere Informazioni sulla registrazione .
Unisci conflitto
Un conflitto di unione si verifica quando due o più versioni dello stesso file non possono più essere unite automaticamente dal server di build Android. Questi di solito richiedono la modifica manuale del file per risolvere tutti gli aggiornamenti in conflitto.
Test pre-invio e post-invio
I test di preinvio vengono utilizzati per impedire l'introduzione di errori nei kernel comuni. I risultati non sono disponibili pubblicamente in questo momento.

I test di postinvio di Android vengono eseguiti quando una nuova patch viene impegnata in un ramo del kernel comune. Inserendo aosp_kernel come nome di un ramo parziale, puoi vedere un elenco di rami del kernel con i risultati disponibili. Ad esempio, i risultati per `android-mainline` possono essere trovati qui .
Commerciato
Il test harness della Trade Federation (Tradefed o TF in breve) è un framework di test continuo progettato per l'esecuzione di test su dispositivi Android. Ad esempio, Tradefed viene utilizzato per eseguire CTS e VTS. Per ulteriori informazioni, vedere Panoramica di Trade Federation .
VTS
Android Vendor Test Suite (VTS) offre funzionalità complete per i test Android, promuove un processo di sviluppo basato sui test e automatizza i test del kernel HAL e del sistema operativo. Per ulteriori informazioni, vedere Vendor Test Suite (VTS) e Infrastructure .