Vuoi avere una migliore comprensione di Android TV? Forse vuoi estendere i tuoi progetti Android esistenti per supportare questa nuova piattaforma, o forse hai un'idea per un'app Android TV che vuoi sviluppare.
Qualunque sia la tua motivazione, questo articolo ti introdurrà alla piattaforma Android TV, da ciò che Android TV è e le caratteristiche di un'app TV efficace, fino alla creazione e al test del tuo progetto campione Android TV.
Annunciato a Google IO 2014, Android TV è la nuova piattaforma smart TV di Google. Gli utenti possono acquistare una TV con la nuova piattaforma integrata oppure aggiungere Android TV al proprio televisore acquistando un set-top box indipendente, come il Nexus Player.
Essenzialmente, Android TV offre le app e le funzionalità che gli utenti già apprezzano su dispositivi Android più piccoli sul grande schermo. Gli utenti possono scaricare le app Android TV dal noto Google Play Store e la piattaforma supporta Google Cast, in modo che gli utenti possano trasmettere contenuti dal proprio smartphone o tablet sul proprio dispositivo Android TV.
Se hai esperienza nello sviluppo di smartphone o tablet Android, Android TV si sentirà immediatamente familiare, ma ci sono alcune differenze cruciali che devi conoscere. Questa sezione illustra le best practice specifiche di Android TV.
Secondo la documentazione ufficiale di Android TV, il visualizzatore TV medio si trova a circa 10 piedi di distanza dallo schermo, quindi tutti i contenuti sullo schermo devono essere chiaramente visibili da 10 piedi di distanza.
Un trucco per offrire un'esperienza efficace di "10 piedi" è progettare un'interfaccia utente che si ridimensiona automaticamente, a seconda delle dimensioni dello schermo TV. Ciò significa utilizzare il dimensionamento relativo al layout, come ad esempio fill_parent
, piuttosto che il dimensionamento assoluto e optando per unità pixel indipendenti dalla densità piuttosto che unità pixel assolute.
Si dovrebbe anche mantenere il testo al minimo in quanto il testo diventa più difficile da leggere a distanza. Per quanto possibile, dovresti comunicare con i tuoi utenti con altri metodi, come voiceover, effetti sonori, video e immagini.
Se è necessario includere del testo, renderlo più facile da leggere:
Pensa a come interagisci con la tua TV. Di solito, esegui alcune semplici interazioni per raggiungere il contenuto che desideri, che si tratti di cambiare canale, avviare il lettore DVD o avviare la tua app di streaming di contenuti preferita.
tu non si aspetta di dover eseguire interazioni complicate, e nemmeno gli utenti di Android TV. Se vuoi attirare l'attenzione dell'utente, la tua app deve avere il minor numero di schermate possibili tra il punto di ingresso dell'app e l'immersione del contenuto.
Anche una volta che l'utente è immerso nella tua app, è necessario mantenere le interazioni al minimo ed evitare qualsiasi interazione complicata, dato che il tipico utente TV dispone di controlli limitati a disposizione - di solito un telecomando, un controller di gioco o l'app ufficiale di Android TV installato sul proprio smartphone o tablet.
I controlli TV tendono ad essere limitati a un pad direzionale e a un pulsante di selezione, quindi la tua sfida è creare uno schema di navigazione efficace per la tua app, usando questi controlli limitati.
Un trucco consiste nell'utilizzare un gruppo di viste (come Vista elenco o Vista griglia) che organizza automaticamente gli elementi dell'interfaccia utente della tua app in elenchi o griglie, che sono facili da navigare con un riquadro direzionale e un pulsante di selezione.
I tuoi utenti dovrebbero anche essere in grado di dire a colpo d'occhio quale oggetto è attualmente selezionato. È possibile evidenziare l'oggetto attualmente selezionato utilizzando segnali visivi, quali dimensioni, ombra, luminosità, animazione e opacità.
Android TV può darti più spazio sullo schermo per giocare, ma non farti trasportare e cerca di riempire ogni centimetro di spazio. Un'interfaccia utente semplice e ordinata non è solo più visivamente accattivante, è anche più facile da navigare, qualcosa che è particolarmente importante considerando i controlli limitati disponibili per il tuo tipico utente di Android TV.
Un'interfaccia utente contenente alcuni elementi di interfaccia utente grandi e audaci offrirà anche un'esperienza di "10 piedi" migliore rispetto a uno schermo pieno di numerosi elementi di interfaccia utente più piccoli.
Tutte le attività del tuo progetto devono supportare l'orientamento orizzontale o la tua app non verrà visualizzata dagli utenti di Android TV nel Google Play Store.
Se stai sviluppando un'applicazione che può essere eseguita anche su smartphone e tablet, tieni presente che se il tuo progetto contiene Android: screenOrientation = "ritratto"
il android.hardware.screen.portrait
il requisito è implicitamente impostato su vero
. È necessario specificare che, sebbene l'app supporti l'orientamento verticale ove disponibile, può essere eseguita su dispositivi in cui la modalità verticale non è supportata (ad esempio, Android TV):
Per garantire che non vi siano mai spazi vuoti attorno ai bordi dello schermo, i televisori possono agganciare i bordi del contenuto in un processo noto come overscan. Poiché non vuoi perdere alcun contenuto importante su overscan, dovresti lasciare un margine attorno ai bordi della tua app che è libero da qualsiasi elemento dell'interfaccia utente.
La libreria v17 Leanback applica automaticamente margini di overscan alla tua app. In alternativa, puoi creare i tuoi margini di overscan sicuri lasciando il 10% di spazio vuoto attorno ai bordi della tua app. Questo si traduce in un margine di 48dp attorno ai bordi sinistro e destro (Android: layout_marginRight = "48DP"
) e 27dp lungo la parte superiore e inferiore (Android: layout_marginBottom = "27dp"
).
Le TV Android non dispongono di molte delle funzionalità hardware generalmente disponibili per altri dispositivi Android. Quando sviluppi per la piattaforma Android TV, non puoi utilizzare quanto segue:
Se desideri che la tua app venga eseguita su dispositivi non TV, come smartphone e tablet, puoi specificare che, sebbene la tua app non richieda queste funzionalità hardware, le utilizzerà laddove disponibili, ad esempio:
Tieni presente inoltre che le seguenti dichiarazioni di autorizzazione dei permessi di utilizzo implicano caratteristiche hardware che Android TV non supporta:
REGISTRA AUDIO
TELECAMERA
ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
Nella parte finale di questo tutorial, daremo un'occhiata di prima mano ad alcuni codici TV-ready creando e testando un progetto Android TV di base.
Prima di poter sviluppare qualsiasi cosa per la piattaforma Android TV, assicurati di aver aggiornato l'SDK su Android 5.0 (API 21) o versioni successive e gli strumenti dell'SDK alla versione 24.0.0 o successiva.
Una volta aggiornato, è il momento di creare la tua app:
5. Seleziona Attività TV Android e fare clic Il prossimo.
6. Attenersi alle impostazioni predefinite e fare clic finire.
Android Studio creerà quindi il tuo progetto.
Ora che hai creato il tuo progetto di esempio, daremo un'occhiata linea per linea al Manifest Android, in quanto questo file contiene un sacco di codice specifico per la TV.
Nota che, sebbene la maggior parte di questo codice venga generata automaticamente quando crei un progetto per Android TV, ho apportato alcune aggiunte e regolazioni minori che sono chiaramente indicate nel testo.
http://schemas.android.com/apk/res/android "package =" com.example.jessica.tvdemo ">
Come già accennato, il android.permission.RECORD_AUDIO
permesso implica che la tua app richiede android.hardware.microphone
. Quindi questa linea di codice impedisce efficacemente l'installazione della tua app su dispositivi che non hanno accesso a un microfono. Se la tua app può funzionare senza microfono, devi aggiungere quanto segue:
L'aggiunta del codice sopra indica che gli utenti possono installare la tua app su dispositivi che non hanno accesso all'hardware del microfono.
Mentre il supporto touchscreen è disponibile su molti dispositivi Android, questo non è il caso di Android TV. La tua app Android TV deve dichiarare che non è così richiedere supporto touchscreen.
Il frammento di cui sopra dichiara che la tua app utilizza l'interfaccia Leanback di cui abbiamo discusso in precedenza.
android: required = "true" />Se desideri che la tua app venga eseguita su dispositivi non TV in cui Leanback non è supportato, dovrai modificare la linea sopra in
Android: required = "false"
.L'aggiunta di cui sopra applica il tema Leanback al tuo progetto.
android: banner = "@ drawable / banner">I banner di app rappresentano la tua app sullo schermo di Android TV e rappresentano il modo in cui l'utente avvia la tua app. Il banner dell'app deve essere un'immagine 320 x 180 px xhdpi e deve includere testo.
Se si desidera utilizzare lo stesso banner in tutte le attività, è necessario aggiungere il
Android: Bandiera
attributo al tuo manifesttag come ho fatto qui. Se desideri fornire un banner diverso per ogni attività, dovrai aggiungere un
Android: Bandiera
attributo a tutte le tue applicazionitag invece.
Questo snippet dichiara un'attività di avvio per TV.
5. Testare l'app di esempio
Il prossimo passo è verificare come funziona la tua app dal punto di vista dell'utente. Anche se hai accesso a una TV Android fisica, ti consigliamo di testare il tuo progetto su più dispositivi, quindi dovresti sempre creare almeno un AVD per Android TV.
Per creare il tuo AVD:
- Avviare AVD Manager, facendo clic sul pulsante Manager AVD pulsante nella barra degli strumenti o selezionando Utensili > androide > Manager AVD.
- Clic Crea un nuovo dispositivo virtuale.
- Seleziona il tv categoria.
- Scegli uno dei dispositivi Android TV elencati e fai clic Il prossimo.
- Seleziona l'immagine del tuo sistema e fai clic Il prossimo.
- Dare un nome all'AVD e fare clic finire.
Per testare il tuo progetto di esempio, seleziona Correre > Esegui app, seguito dal tuo TV AVD. Una volta che l'AVD ha terminato il caricamento, vedrai l'interfaccia utente di Android TV con il banner della tua app nell'angolo in basso a sinistra.
Per avviare la tua app, fai clic sull'immagine del banner. Dopo un breve ritardo, la tua app apparirà nella finestra di AVD.
6. Altro da esplorare
Questo articolo ti ha fornito un'introduzione ad Android TV e ti ha mostrato come creare un'app di esempio. Se vuoi esplorare altre piattaforme Android TV, puoi continuare a sviluppare la tua app di esempio dando un'occhiata alle seguenti aree:
- BrowseFragment. Nell'app di esempio, ogni riga di contenuto corrisponde a una categoria. Questa parte dell'interfaccia utente viene creata con
BrowseFragment
classe. Puoi saperne di più su questo frammento nella sezione Creazione di un browser di catalogo dei documenti ufficiali di Android TV.- DetailsFragment. Fare clic su qualsiasi parte del contenuto per visualizzare ulteriori informazioni su tale contenuto. Per espandere questa funzionalità, dai un'occhiata a
DetailsFragment
classe nella costruzione di una vista dettagli.
- SearchFragment. Nonostante l'icona di ricerca nell'angolo in alto a sinistra dell'app, la funzione di ricerca non funziona nell'app di esempio. Per farlo funzionare devi dare un'occhiata al
SearchFragment
classe, che puoi trovare anche ulteriori informazioni nella documentazione di Android TV.Conclusione
Ora dovresti avere una migliore comprensione di ciò che lo sviluppo di Android TV comporta. Ci sono alcune avvertenze da tenere a mente, ma lo sviluppo per Android TV non dovrebbe essere troppo difficile se hai già esperienza nello sviluppo per Android.