FireTV用のアプリは大きく
- Androidアプリ
- Webアプリ
の2つある。
FireOS用と通常アプリの違い
- FireOSAndroidからフォークされたOS
(拡張範囲はLollipopおよびバックポートされたMarshmallowコードまで) -
Fire TVでは、AndroidのLeanback Support Libraryが一部サポートされている
CATEGORY_LEANBACK_LAUNCHER
がFire TVでは認識されない - Google Play Servicesが使用できない
詳しくはこちら
環境構築
通常のAndroidアプリの様にAndroidStudioを使う
ADB接続
- Amazon Fire TVでデバッグを有効にする
- Android Debug Bridgeを設定する
- 接続
sh
$ adb kill-server
$ adb start-server
$ adb connect <IPアドレス>
詳しくはこちら
実装
簡単なサンプル
AndroidTV
ベースはAndroidTVでいけるらしいので、
簡単なサンプルをAndroidTV用プロジェクトで作成してみる。
簡単なサンプルをAndroidTV用プロジェクトで作成してみる。
- 新規プロジェクトでTarget DeviceをTVにする
- 「Add No Activity」を選択
- 「MainActivity」を作成java
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
activity_main.xml
を作成xml<?xml version="1.0" encoding="utf-8"?> <fragment xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main_browse_fragment" android:name="com.slowhand.androidtvsample.MainFragment" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" tools:deviceIds="tv" tools:ignore="MergeRootFrame" />
MainFragment
を作成javapublic class MainFragment extends BrowseFragment { @Override public void onActivityCreated(@Nullable Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } }
BrowseFragment
HeaderFragment (ヘッダー) が右側、 RowsFragment (コンテンツ部分) が左側の構成を含むFragment
AndroidManifest.xml
Launcherとして表示させるには以下の様に修正
xml
<category android:name="android.intent.category.LEANBACK_LAUNCHER" />
0 件のコメント:
コメントを投稿