Android TV 开发汇总

作者: CaiBird | 来源:发表于2017-02-19 01:38 被阅读12620次

    前言

    最近在做 Android 机顶盒相关应用的开发,在开发过程中遇到大大小小许多坑(仍然有无数坑要去踩),在此跟大家分享下。

    大纲

    (希望下面内容都能写完。。。懒癌发作,可能就半途而废了。。。)

    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 电视机(机顶盒)初次开发的一些经验分享

    相关文章

      网友评论

      • DonnieHe:大佬,你好。我现在在做盒子launcher,系统是root的,这个launcher会是盒子最终的默认launcher(出厂就设置好的),但是一期,盒子界面很简单,比如就一个logo,但是二期,盒子界面会有很大变化。需求是盒子检测到有新版本(launcher有新版本)的时候,自动下载安装并且重启。我现在没有啥头绪,不知道launcher是否能实现这样的功能,望指教
        请叫我大苏:只要你的launcher有root权限就可以做了,应该。直接就执行各种命令,类似于你开发期间通过adb执行的那些命令。
        81974c02e956:需要一个升级机制。挂一个单独的服务作为升级用的是必须的。盒子的启动逻辑要改一下,先进入的应该是向导,然后再触发Launcher。如果是大版本的更新,相当于整个Launcher都换了,是直接下载新版本。重启之后,向导进入的是新Launcher,然后把旧版的删除。
        CaiBird:大佬不敢当(只做过一款盒子应用,并没有做过Launcher)
        并不清楚Launcher是如何被启动的,不过根据我了解到的,可以从下面两方面考虑:
        1、如果能找到启动Laucnher的地方,在启动Launcher之前进行判断是否下载安装新版本;
        2、Launcher说白了也是一个应用,可以做两个Launcher。
        (1)把机顶盒启动后打开的Launcher(就是默认launcher)做成类似splash页面,在这个页面进行是检测新版本和自动更新的操作。
        (2)如果,发现没有新版,跳转到(打开)第二个Launcher(你目前开发的一期或二期Launcher)。
      • yao猛:我们做的项目是类似机顶盒的东西,目前关于遥控器的上下左右移动有点迷茫,有什么可以指教的嘛,我们的遥控器是类似鼠标一样的效果。
      • 普通一般社会人:大神,公司要做tv launcher,想在普通安卓机上运行,这个可以实现吗?
        CaiBird:在普通安卓机上可以运行,不过,看你的UI适配是怎么做的了,在手机上界面可能会显示不全
      • e33ed3368e62:老板昨天突然叫我搞机顶盒(好像也叫OTT),从来没接触过,现在不知道怎样下手,可以帮我下吗?
        CaiBird:OTT的话,不知道你是定制机顶盒ROM,还是开发TV Launcher,而我入坑开发的是适用于某些机顶盒的app应用,还是有点差别的。你可以看下上文中TV Lancher相关开源库,其中Android-tv-widget感觉TV相关控件多些。

      本文标题:Android TV 开发汇总

      本文链接:https://www.haomeiwen.com/subject/mbbdwttx.html