そこで、Android TV のドキュメントに従って、サンプル アプリを次の場所からダウンロードしました。
https://github.com/googlesamples/androidtv-Leanback
実際の nexus デバイスで実行しましたが、ほとんどのアプリは正常に動作します。私が最も興味を持っている部分は、私にとってはうまくいきません。
ホーム画面で Google 検索を使用して何かを検索しようとすると、Leanback サンプル アプリからの検索結果がまったく得られず、サンプル アプリからの logcat に次のエラーが表示されます。
1822-1838/com.example.android.leanback E/JavaBinder﹕ *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
at android.database.AbstractCursor.checkPosition(AbstractCursor.java:426)
at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
at android.database.AbstractWindowedCursor.getType(AbstractWindowedCursor.java:130)
at com.example.android.leanback.PaginatedCursor.<init>(PaginatedCursor.java:65)
at com.example.android.leanback.VideoDatabase.query(VideoDatabase.java:170)
at com.example.android.leanback.VideoDatabase.getWordMatch(VideoDatabase.java:150)
at com.example.android.leanback.VideoContentProvider.getSuggestions(VideoContentProvider.java:112)
at com.example.android.leanback.VideoContentProvider.query(VideoContentProvider.java:85)
at android.content.ContentProvider.query(ContentProvider.java:950)
at android.content.ContentProvider$Transport.query(ContentProvider.java:210)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112)
at android.os.Binder.execTransact(Binder.java:446)
私は自分のアプリでこの例に従いましたが、すべてを正しい方法で配線していないと確信しているため、同様のエラーに加えて他のエラーが発生します。誰かがアプリのコンテンツを検索可能にした場合、正しく機能させるための情報をいただければ幸いです。
編集:
デバッグを行った後、paginatedCursor に配置されるカーソルが常に空であることがわかります。おそらく、クエリのフォーマット方法に問題があります。私は今クエリの構築で遊んでいます。うまくいったら、ポストバックします。