W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
編寫:awong1900 - 原文:http://developer.android.com/training/tv/start/start.html
TV應(yīng)用使用與手機(jī)和平板同樣的架構(gòu)。這種相似性意味著我們可以修改現(xiàn)有的應(yīng)用到TV設(shè)備或者用以前安卓應(yīng)用的經(jīng)驗(yàn)開發(fā)TV應(yīng)用。
Important: 想把Android TV應(yīng)用放在Google Play中應(yīng)滿足一些特定要求。更多信息, 參考TV App Quality中的要求列表。
本課程介紹如何準(zhǔn)備TV應(yīng)用開發(fā)環(huán)境,和使應(yīng)用能夠運(yùn)行在TV設(shè)備上的最低要求。
查看以下文檔信息,包括代碼,協(xié)議和Android TV支持的格式。
查看一下文檔關(guān)于代碼,協(xié)議和Android TV支持的格式。
本節(jié)討論如何修改已有的應(yīng)用或者新建一個(gè)應(yīng)用使之能夠運(yùn)行在電視設(shè)備上。在TV設(shè)備上運(yùn)行的應(yīng)用必須使用這些主要組件:
在創(chuàng)建TV應(yīng)用前, 必須做以下事情:
更新SDK tools到版本24.0.0或更高 更新的SDK工具能確保編譯和測(cè)試TV應(yīng)用
更新SDK為Android 5.0 (API 21)或更高 更新的平臺(tái)版本為TV應(yīng)用提供更新的API
創(chuàng)建或更新應(yīng)用工程 為了支持TV新API, 我們必須創(chuàng)建一個(gè)新工程或者修改原工程的目標(biāo)平臺(tái)為Android 5.0 (API版本21)或者更高。
一個(gè)應(yīng)用想要運(yùn)行在TV設(shè)備中,必須在它的manifest中定義一個(gè)啟動(dòng)activity,用intent filter包含CATEGORY_LEANBACK_LAUNCHER。這個(gè)filter表明你的應(yīng)用是在TV上可用,并且為Google Play上發(fā)布TV應(yīng)用所必須。定義這個(gè)intent也意味著點(diǎn)擊主屏幕的應(yīng)用圖標(biāo)時(shí),就是打開的這個(gè)activity。
接下來(lái)的代碼片段顯示如何在manifest中包含這個(gè)intent filter:
<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>
例子中第二個(gè)activity manifest定義的activity是TV設(shè)備中的一個(gè)啟動(dòng)入口。
Caution:如果在你的應(yīng)用中不包含CATEGORY_LEANBACK_LAUNCHER intent filter,它不會(huì)出現(xiàn)在TV設(shè)備的Google Play商店中。并且,即使你把不包含此filter的應(yīng)用用開發(fā)工具裝載到TV設(shè)備中,應(yīng)用仍然不會(huì)出現(xiàn)在TV用戶界面上。
如果你正在為TV設(shè)備修改現(xiàn)有的應(yīng)用,就不應(yīng)該與手機(jī)和平板用同樣的activity布局。TV的用戶界面(或者現(xiàn)有應(yīng)用的TV部分)應(yīng)該提供一個(gè)更簡(jiǎn)單的界面,更容易坐在沙發(fā)上用遙控器操作。TV應(yīng)用設(shè)計(jì)指南,參考TV Design指導(dǎo)。查看TV界面布局的最低要求,參考:Building TV Layouts。
Android TV需要你的應(yīng)用使用Leanback用戶界面。如果你正在開發(fā)一個(gè)運(yùn)行在移動(dòng)設(shè)備(手機(jī),可穿戴,平板等等)也包括TV的應(yīng)用,設(shè)置required
屬性為false
。因?yàn)槿绻O(shè)置為true
,你的應(yīng)用將僅能運(yùn)行在用Leanback UI的設(shè)備上。
<manifest>
<uses-feature android:name="android.software.leanback"
android:required="false" />
...
</manifest>
運(yùn)行在TV設(shè)備上的應(yīng)用不依靠觸屏去輸入。為了清楚表明這一點(diǎn),TV應(yīng)用的manifest必須聲明android.hardware.touchscreen
為不需要。這個(gè)設(shè)置表明應(yīng)用能夠工作在TV設(shè)備上,并且也是Google Play認(rèn)定你的應(yīng)用為TV應(yīng)用的要求。接下來(lái)的示例代碼展示這個(gè)manifest聲明:
<manifest>
<uses-feature android:name="android.hardware.touchscreen"
android:required="false" />
...
</manifest>
Caution:必須在manifest中聲明觸屏是不需要的,否則應(yīng)用不會(huì)出現(xiàn)在TV設(shè)備的Google Play商店中。
如果應(yīng)用包含一個(gè)Leanback的intent filter,它必須提供每個(gè)語(yǔ)言的主屏幕橫幅。橫幅是出現(xiàn)在應(yīng)用和游戲欄的主屏的啟動(dòng)點(diǎn)。在manifest中這樣描述橫幅:
<application
...
android:banner="@drawable/banner" >
...
</application>
在application
中添加android:banner
屬性為所有的應(yīng)用activity提供默認(rèn)的橫幅,或者在特定activity的activity
中添加橫幅。
在UI模式和TV設(shè)計(jì)指導(dǎo)中查看Banners。
Android SDK包含用于TV應(yīng)用的支持庫(kù)。這些庫(kù)為TV設(shè)備提供API和用戶界面控件。這些庫(kù)位于<sdk>/extras/android/support/
目錄。以下是這些庫(kù)的列表和它們的作用介紹:
Note:TV應(yīng)用中可以不用這些庫(kù)。但是,我們強(qiáng)烈推薦使用它們,特別是為應(yīng)用提供媒體目錄瀏覽界面時(shí)。
如果我們決定用v17 leanback library
,我們應(yīng)該注意它依賴于v4 support library。這意味著要用leanback支持庫(kù)必須包含以下所有的支持庫(kù):
v17 leanback library
包含資源文件,需要你在應(yīng)用中采取特定的步驟去包含它。插入帶資源文件的支持庫(kù)的說(shuō)明,查看Support Library Setup。
在完成上面的步驟之后,到了給大屏幕創(chuàng)建應(yīng)用的時(shí)候了!檢查一下這些額外的專題可以幫助我們創(chuàng)建TV應(yīng)用:
運(yùn)行應(yīng)用是在開發(fā)過(guò)程中的一個(gè)重要的部分。在安卓SDK中的AVD管理器提供了創(chuàng)建虛擬TV設(shè)備的功能,可以讓應(yīng)用在虛擬設(shè)備中運(yùn)行和測(cè)試。
創(chuàng)建一個(gè)虛擬TV設(shè)備
Note:獲得TV模擬器設(shè)備的最佳性能,打開Use Host GPU option,支持虛擬設(shè)備加速。更多模擬器硬件加速信息,參考Using the Emulator。
在虛擬設(shè)備中測(cè)試應(yīng)用
更多模擬器信息:Using the Emulator。 用Android Studio部署應(yīng)用到模擬器,查看Debugging with Android Studio。用帶ADT插件的Eclipse部署應(yīng)用到模擬器,查看Building and Running from Eclipse with ADT 。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: