以下內(nèi)容是對(duì)Google Android TV文檔的翻譯溜在,可能存在錯(cuò)誤缴守,請(qǐng)讀者以官方文檔為準(zhǔn)
官方地址
在文檔中Google對(duì)Android TV的提出了許多要求沾凄,如果你只是使用它的一些UI元素喜滨,你可以不用太注意這些要求焚廊。
大屏應(yīng)用冶匹,游戲,內(nèi)容咆瘟。
在首頁(yè)給用戶(hù)推薦豐富的內(nèi)容嚼隘,用戶(hù)可以通過(guò)語(yǔ)音搜索電影,通過(guò)流暢袒餐、身臨其境的游戲吸引用戶(hù)飞蛹。
創(chuàng)建Android應(yīng)用
創(chuàng)建應(yīng)用或者擴(kuò)展已經(jīng)存在的應(yīng)用在電視上運(yùn)行谤狡。使用Leanback Support library。
入門(mén)
官方地址 鏡像地址
TV應(yīng)用在手機(jī)和平板電腦上使用相同的項(xiàng)目結(jié)構(gòu)卧檐。這意味著你可以修改已經(jīng)存在的應(yīng)用使其在電視設(shè)備上運(yùn)行或者在你已知的Android知識(shí)上創(chuàng)建新的應(yīng)用墓懂。這部分內(nèi)容主要是準(zhǔn)備開(kāi)發(fā)環(huán)境和開(kāi)發(fā)TV應(yīng)用的一些最低要求。(開(kāi)發(fā)TV應(yīng)用和手機(jī)應(yīng)用本質(zhì)是一致的霉囚,下面的一些要求只是你要使用到一些Google的庫(kù)(Leanback support)或者要將應(yīng)用在GooglePlay上線(xiàn)捕仔,否則,要求不必遵守)
支持的媒體格式
Supported Media Formats
DRM
android.drm
ExoPlayer
android.media.MediaPlayer
創(chuàng)建TV項(xiàng)目
這一部分主要關(guān)于如何修改一個(gè)已存在的Android項(xiàng)目或者創(chuàng)建一個(gè)新的項(xiàng)目盈罐。
下面是讓app在電視設(shè)備上運(yùn)行的主要部分:
1.Activity for TV,在manifest中聲明一個(gè)activity榜跌。
2.TV Support Libraries
要求
1.SDK tools version 24.0.0 或者更高
2.SDK with android5.0 或者更高
3.創(chuàng)建或更新項(xiàng)目(如果你要修改已存在的Android項(xiàng)目應(yīng)該是該項(xiàng)目的target為5.0或者更高)
可以兼容到API17
聲明TV Activity
如果一個(gè)應(yīng)用打算運(yùn)行在電視設(shè)備上它必須在manifest文件中聲明一個(gè)TV activity。如下:
<application
android:banner="@drawable/banner" >
...
<activity
android:name="com.example.android.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.android.TvActivity"
android:label="@string/app_name"
android:theme="@style/Theme.Leanback">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
</intent-filter>
</activity>
</application>
聲明Leanback support
如果設(shè)置required屬性為true,你的APP在設(shè)備上將只運(yùn)行l(wèi)eanback ui暖呕。
<manifest>
<uses-feature android:name="android.software.leanback"
android:required="false" />
...
</manifest>
聲明不要求觸摸屏
運(yùn)行在TV設(shè)備上的應(yīng)用不需要通過(guò)觸摸屏幕來(lái)輸入。
<manifest>
<uses-feature android:name="android.hardware.touchscreen"
android:required="false" />
...
</manifest>
改變運(yùn)行顏色
<resources>
<style ... >
<item name="android:colorPrimary">@color/primary</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
</style>
</resources>
添加TV Supprot Libraries
v17 leanback library 為電視應(yīng)用程序提供用戶(hù)界面部件苞氮,特別是用于媒體播放的應(yīng)用程序湾揽。
v7 recyclerview library
v7 cardview library
創(chuàng)建電視應(yīng)用
在完成上述步驟之后,是時(shí)候開(kāi)始為大屏幕構(gòu)建應(yīng)用程序了笼吟!檢查這些額外的主題库物,以幫助您建立您的應(yīng)用程序的電視:
構(gòu)建電視播放應(yīng)用
幫助用戶(hù)搜索內(nèi)容
Building TV Games
Building TV Channels