前言
最近在做 Android 机顶盒相关应用的开发,在开发过程中遇到大大小小许多坑(仍然有无数坑要去踩),在此跟大家分享下。
大纲
(希望下面内容都能写完。。。懒癌发作,可能就半途而废了。。。)
- Android TV 开发之连接机顶盒及常用 adb 命令
- Android TV 开发之屏幕适配
-
AndroidTV 开发之 Leanback 库简介
- AndroidTV 开发之 BrowseFragment 的使用 (待完成)
- AndroidTV 开发之 RowsFragment 的使用 (待完成)
GitHub 开源库
谷歌 Leanback 库的官方使用例子。
针对 Android TV Launcher 页的 RecyclerView。
Android TV 开发框架(键盘、菜单、Recycleview等控件),适合开发 TV Launcher 页面。
两个 TV Launcher 页面例子:
1、仿泰捷视频最新TV版 Metro UI。
2.仿腾讯视频 TV 版(云视听·极光) 列表页(用 RecycleView + GridLayoutManager 实现)。
这是一个 TV 桌面,包含了一个 Leanback 桌面(最低版本是17)和一个普通桌面(最低版本是15),Leanback 桌面是基于Leanback 库开发符合 Android TV 官方交互规范。
小米官方开源的 TV Metro 页面框架,不过是2年前的东西,比较老了。
对 Leanback 库的BrowseFragment 进行自定义,让一个 Header对应一个页面。
不过最新 Leanback 库已经支持该功能。
包含:
FocusRecyclerView:选中放大Recycleview
MarqueeText:只有焦点在textView上的时候TextView自带的Marquee才会起作用
TV 开发相关经验
Android TV 开发总结(五) TV 上屏幕适配总结
智能电视 TV 分辨率处理方案--第1问
智能电视 TV 盒子开发选择--第2问
Android 电视机(机顶盒)初次开发的一些经验分享
网友评论
并不清楚Launcher是如何被启动的,不过根据我了解到的,可以从下面两方面考虑:
1、如果能找到启动Laucnher的地方,在启动Launcher之前进行判断是否下载安装新版本;
2、Launcher说白了也是一个应用,可以做两个Launcher。
(1)把机顶盒启动后打开的Launcher(就是默认launcher)做成类似splash页面,在这个页面进行是检测新版本和自动更新的操作。
(2)如果,发现没有新版,跳转到(打开)第二个Launcher(你目前开发的一期或二期Launcher)。