O introducere în Android TV

Doriți să înțelegeți mai bine Android TV? Poate doriți să vă extindeți proiectele Android existente pentru a sprijini această nouă platformă sau poate aveți o idee pentru o aplicație Android TV pe care doriți să o dezvoltați.

Indiferent de motivarea dvs., acest articol vă va prezenta platforma Android TV, din ce Android TV este și caracteristicile unei aplicații TV eficiente, chiar prin crearea și testarea propriului dvs. proba Android TV.

1. Ce este Android TV?

Anunțat la Google IO 2014, Android TV este noua platformă TV inteligent de la Google. Utilizatorii pot achiziționa fie un televizor cu noua platformă încorporată, fie pot adăuga Android TV la televiziunea lor existentă prin achiziționarea unui set-top box autonom, cum ar fi Nexus Player.

În esență, Android TV aduce aplicațiile și funcționalitatea pe care le folosesc utilizatorii deja pe dispozitive Android mai mici pe ecranul mare. Utilizatorii pot descărca aplicații Android TV de la magazinul Google Play familiar, iar platforma acceptă Google Cast, astfel încât utilizatorii să poată distribui conținut de pe telefonul smartphone sau tabletă pe dispozitivul lor Android TV.

2. Proiectarea pentru Android TV

Dacă aveți experiență în curs de dezvoltare pentru smartphone-uri Android sau tablete, Android TV se va simți imediat familiar, dar există unele diferențe cruciale de care trebuie să fiți conștienți. Această secțiune acoperă cele mai bune practici care sunt unice pentru Android TV.

Oferiți o experiență efectivă de 10 picioare

Conform documentației oficiale Android TV, vizualizatorul mediu TV se află la aproximativ 10 picioare distanță de ecranul său, astfel încât tot conținutul de pe ecran trebuie să fie vizibil în mod clar de la 10 metri distanță.

Un truc pentru a oferi o experiență efectivă de 10 picioare este de a proiecta o interfață de utilizator care se redimensionează automat, în funcție de dimensiunea ecranului TV. Aceasta înseamnă utilizarea dimensiunii relative a dimensiunii, cum ar fi fill_parent, mai degrabă decât dimensionarea absolută și optarea pentru unitățile de pixeli independente de densitate, mai degrabă decât pentru unitățile de pixeli absolute.

De asemenea, trebuie să păstrați textul la minim, deoarece textul devine mai dificil de citit de la distanță. Pe cât posibil, trebuie să comunicați cu utilizatorii dvs. prin alte metode, cum ar fi voiceover, efecte sonore, video și imagini.

Dacă trebuie să includeți text, faceți mai ușor să citiți prin:

  • evitând fonturile ușoare
  • evitând fonturile care au curse foarte înguste sau foarte largi
  • folosind textul deschis pe fundaluri întunecate
  • ruperea textului în bucăți mici

Minimizați și simplificați interacțiunea

Gândiți-vă la modul în care interacționați cu televizorul. De obicei, efectuați câteva interacțiuni simple pentru a ajunge la conținutul dorit, indiferent dacă acesta modifică canalul, pornește DVD playerul sau lansează aplicația preferată de streaming a conținutului.

Tu nu face se așteaptă să fie nevoiți să efectueze interacțiuni complicate - și nici utilizatorii Android TV. Dacă doriți să țineți atenția utilizatorului, aplicația dvs. trebuie să aibă cel mai puține ecrane posibile între punctul de intrare al aplicației și imersiunea conținutului.

Chiar și odată ce utilizatorul este scufundat în aplicația dvs., ar trebui să păstrați interacțiunile la minimum și să evitați interacțiunile complicate, deoarece utilizatorul dvs. TV tipic dispune de controale limitate la dispoziție - de obicei, fie o telecomandă, un controler de joc sau o aplicație oficială Android TV instalat pe smartphone-ul sau tableta.

Navigare ușoară

Comenzile TV tind să fie restricționate la un pad direcțional și la un buton selectat, astfel încât provocarea dvs. este de a crea o schemă eficientă de navigare pentru aplicația dvs., utilizând aceste controale limitate.

Un truc este de a utiliza un grup de vizualizări (cum ar fi lista sau vizualizarea pe grilă) care aranjează automat elementele interfeței utilizator ale aplicației dvs. în liste sau rețele, ușor de navigat cu un pad direcțional și un buton de selectare.

De asemenea, utilizatorii dvs. ar trebui să poată să afișeze dintr-o privire ce obiect este selectat în prezent. Puteți evidenția obiectul selectat în prezent utilizând indicații vizuale, cum ar fi dimensiunea, umbra, luminozitatea, animația și opacitatea.

Simplu și neclut

Android TV vă poate oferi mai multe proprietăți pe ecran cu care să vă jucați, dar nu vă duceți departe și încercați să umpleți fiecare centimetru de spațiu. O interfață de utilizare simplă și fără deplasare nu este doar mai atrăgătoare pentru vizualizare, este și mai ușor de navigat - ceva care este deosebit de important având în vedere controalele limitate disponibile pentru utilizatorul dvs. tipic Android TV.

O interfață de utilizator care conține câteva elemente de interfață cu utilizatori mari și îndrăzneți va oferi, de asemenea, o experiență de "10 picioare" mai bună decât un ecran plin cu o mulțime de elemente de interfață utilizator mai mici.

Sprijină modul peisaj

Toate activitățile proiectului dvs. trebuie să respecte orientarea peisajului sau aplicația dvs. nu va apărea utilizatorilor de Android TV din magazinul Google Play.

Dacă dezvoltați o aplicație care poate funcționa și pe smartphone-uri și tablete, rețineți că, dacă proiectul dvs. conține Android: screenOrientation = "portret"  android.hardware.screen.portrait cerința este setată implicit Adevărat. Trebuie să specificați că, deși aplicația dvs. acceptă orientarea portretului acolo unde este disponibilă, poate funcționa pe dispozitive în care modul portret nu este acceptat (adică Android TV):

Permiteți overscan

Pentru a vă asigura că nu există niciodată spațiu liber în jurul marginilor ecranului, televizoarele pot bloca marginile conținutului într-un proces cunoscut sub numele de overscan. Deoarece nu doriți să pierdeți conținuturi importante pentru a depăși, ar trebui să lăsați o margine în jurul marginilor aplicației dvs., care nu conține elemente de interfață cu utilizatorul.

Biblioteca v17 Leanback aplică în mod automat margini sigure pentru overscan în aplicația dvs. În mod alternativ, puteți crea propriile margini sigure pentru overscan, lăsând 10% din spațiul gol în jurul marginilor aplicației. Acest lucru se traduce la o margine de 48dp în jurul marginilor din stânga și din dreapta (Android: layout_marginRight = "48dp") și 27dp de-a lungul părții de sus și de jos (Android: layout_marginBottom = "27dp").

Proiectați pentru limitările hardware pentru Android TV

Televizoarele Android nu dispun de multe dintre caracteristicile hardware disponibile de obicei pentru alte dispozitive Android. Când dezvoltați pentru platforma Android TV, nu puteți utiliza următoarele:

  • Near Field Communication (NFC)
  • GPS
  • aparat foto
  • Microfon
  • Ecran tactil
  • Telefonie

Dacă doriți ca aplicația dvs. să ruleze pe dispozitive non-TV, precum smartphone-uri și tablete, puteți specifica faptul că, deși aplicația dvs. nu necesită aceste caracteristici hardware, le va folosi acolo unde este disponibil, de exemplu:

De asemenea, rețineți că următoarele declarații de utilizare a declarațiilor de permisiune implică caracteristici hardware pe care Android TV nu le acceptă:

  • ÎNREGISTREAZĂ AUDIO
  • APARAT FOTO
  • ACCESS_COARSE_LOCATION
  • ACCESS_FINE_LOCATION

3. Crearea unui proiect de probă Android TV

În ultima parte a acestui tutorial, vom analiza prima oară un cod TV pregătit prin crearea și testarea unui proiect Android TV de bază.

Înainte de a putea dezvolta ceva pentru platforma Android TV, asigurați-vă că ați actualizat setul SDK la versiunea Android 5.0 (API 21) sau mai recentă, iar instrumentele SDK pentru versiunea 24.0.0 sau o versiune ulterioară.

Odată ce sunteți la curent, este timpul să vă creați aplicația:

  1. Lansați Android Studio.
  2. Selectați Porniți un nou proiect Android Studio.
  3. Oferiți-le un nume și unui domeniu proiectului. Clic Următor →.
  4. Selectați televizor, și apoi deselectați toate celelalte căsuțe de selectare. Deși puteți crea proiecte Android TV care au un smartphone, un tablet și / sau un modul Android Wear, pentru simplitate vom crea un proiect cu un singur modul. Clic Următor →.

5. Selectați Activitatea Android TV și faceți clic pe Următor →.

6. Țineți setările implicite și faceți clic pe finalizarea.

Android Studio va crea apoi proiectul.


4. Înlăturarea Manifestului

Acum, ați creat proiectele dvs. de eșantion, vom analiza manual linia de întâmpinare a Manifestului Android, deoarece acest fișier conține o mulțime de coduri TV specifice.

Rețineți că, deși majoritatea acestui cod este generat în mod automat atunci când creați un proiect Android TV, am făcut câteva adăugări minore și ajustări care sunt toate marcate clar în text.

 http://schemas.android.com/apk/res/android "package =" com.example.jessica.tvdemo ">  

După cum sa menționat deja, android.permission.RECORD_AUDIO permisiunea implică necesitatea aplicației dvs. android.hardware.microphone. Deci, această linie de cod împiedică efectiv instalarea aplicației dvs. pe dispozitive care nu au acces la un microfon. Dacă aplicația dvs. poate funcționa fără microfon, trebuie să adăugați următoarele:

Adăugarea codului de mai sus înseamnă că utilizatorii pot instala aplicația dvs. pe dispozitive care nu au acces la hardware-ul de microfon.

În timp ce suportul touchscreen se găsește pe multe dispozitive Android, acest lucru nu este valabil în cazul aplicației Android TV. Aplicația Android TV trebuie să declare că nu are necesita Suport pentru touchscreen.

 

Fragmentul de mai sus declară că aplicația dvs. utilizează interfața Leanback discutată mai devreme.

android: required = "true" />

Dacă doriți ca aplicația dvs. să ruleze pe dispozitive non-TV unde nu este acceptată versiunea Leanback, va trebui să schimbați linia de mai sus Android: necesare = "false".

Adăugarea de mai sus aplică tema Leanback în proiectul dvs..

android: banner = "@ trasabil / banner"> 

Bannerele aplicației reprezintă aplicația dvs. pe ecranul de pornire Android TV și sunt modul în care utilizatorul lansează aplicația. Bannerul aplicației trebuie să fie o imagine x 320 dpi x 320 pixeli și ar trebui să includă text.

Dacă doriți să utilizați același banner în toate activitățile dvs., trebuie să adăugați Android: banner atribuiți manifestului dvs. așa cum am făcut aici. Dacă doriți să furnizați un banner diferit pentru fiecare activitate, va trebui să adăugați un banner Android: banner atributul tuturor aplicațiilor dvs.  în schimb.

    

Acest fragment declară o activitate de lansare pentru TV.

       

5. Testarea aplicației de probă

Următorul pas este să testați modul în care funcționează aplicația dvs. din perspectiva utilizatorului. Chiar dacă aveți acces la un televizor Android Android fizic, veți dori să vă testați proiectul pe mai multe dispozitive, așa că trebuie să creați întotdeauna cel puțin un AVD Android TV.

Pentru a crea AVD:

  1. Lansați AVD Manager, fie făcând clic pe AVD Manager butonul din bara de instrumente sau prin selectarea Unelte > Android > AVD Manager.
  2. Clic Creați un nou dispozitiv virtual.
  3. Selectează televizor categorie.
  4. Alegeți unul dintre dispozitivele Android TV listate și dați clic pe Următor →.
  5. Selectați imaginea sistemului și faceți clic pe Următor →.
  6. Dă numele AVD și faceți clic pe acesta finalizarea.

Pentru a testa proiectul dvs. de probă, selectați Alerga > Rulați aplicația, urmat de TV AVD. După terminarea încărcării AVD, veți vedea interfața de utilizator Android TV cu banner-ul aplicației în colțul din stânga jos.


Pentru a lansa aplicația, faceți clic pe imaginea bannerului. După o scurtă întârziere, aplicația dvs. va apărea în fereastra AVD.


6. Mai mult pentru a explora

Acest articol v-a oferit o introducere pentru Android TV și v-a arătat cum să creați o aplicație de probă. Dacă doriți să explorați mai multe platforme Android TV, puteți continua să dezvoltați aplicația pentru eșantion, analizând următoarele domenii:

  • BrowseFragment. În aplicația probă, fiecare rând de conținut corespunde unei categorii. Această porțiune a interfeței de utilizator este creată cu BrowseFragment clasă. Puteți afla mai multe despre acest fragment în secțiunea Crearea unei secțiuni de browser de catalog a documentelor oficiale Android TV.
  • DetailsFragment. Faceți clic pe orice element de conținut pentru a vedea mai multe informații despre acel conținut. Pentru a extinde această funcție, aruncați o privire la DetailsFragment clasă în Construirea unei vizualizări detaliate.


  • SearchFragment. În ciuda pictogramei de căutare din colțul din stânga sus al aplicației, funcția de căutare nu funcționează în aplicația dvs. de probă. Pentru a obține o lucrare, trebuie să aruncați o privire la SearchFragment clasă, despre care puteți găsi mai multe informații în documentația Android TV.

Concluzie

Acum ar trebui să înțelegeți mai bine ce implică dezvoltarea pentru Android TV. Există câteva avertismente care trebuie urmărite, dar dezvoltarea pentru Android TV nu ar trebui să fie prea dificilă dacă aveți deja experiență în dezvoltare pentru Android.

Cod