写在前面

前几天看了LOL洲际赛。好久没赢的LPL赢了,嗯对,抗韩成功了,心血澎拜到想写篇大作。然而总感觉怪怪的,想想算了吧。当LetMe传送拆塔偷掉对方基地的时候,解说忍不住哭了。是的,LPL太需要一个冠军了。然而成功的那一刻,所有观众内心激动波澜壮阔的时候,给LetMe镜头的时候他如孩子一样淡定若无其事,让我觉得这小伙子太他么帅了。

所以,操作很重要,套路和心态亦是如此。

写在前面之后

这是篇技术博客,请无视开头的那些话=。=趁着现在项目还没来,想把android tv开发的积累总结出来,也算是和上一家公司做个平静的道别吧。

公司是做智能机顶盒产品的,DVB+OTT,(DVB其实就是和传统广电合作的,那种有电缆线的,播放直播的流是广电提供的,OTT则完全是联网的智能机顶盒,就像小米,天猫魔盒那种),公司业务比较杂,客户也比较多,公司有那种做底层固件的,主要是在Android底层去兼容公司的那种DVB业务,具体我也不懂,另外就是改改framework,比如开机LOGO,开机广告啥的。

然而,我做上层应用开发,毫无优越感。

机顶盒应用说白了是非基于源码的系统应用,其和手机普通app有很多区别,界面少,嵌套少,动画少,逻辑多,进程通信多,Bug千奇百怪,调试不方便。

哈哈,其实这才是开始

  • 技术层面

1.比较少的自定义view,多的是自定义组合ViewGroup较多。最近在看android谷歌源码,好多都是这种,其实就是java层面的封装。

2.焦点问题!焦点问题!焦点问题!重要的事情说三遍,很多电视端的BUG源于此。掌握requestFocus,isFocused等api,以及selector用法,nextFocusDown/nextFocusUp/nextFocusLeft/nextFocusRight等xml属性。

3.掌握ListView/GrideView子item焦点,嵌套scrollView按键冲突,掌握Activity/View的onkeyDown,onKeyUp回调方法

4.掌握Android多进程通信,ContentProvider/AIDL,各种应用间隐式(Action/Uri)传递,因为你可能不止维护一个应用,多个应用之间可能会相互跳转界面。

5.掌握广播,service,这种组件在系统应用中很常见,比如开机启动广播,系统升级!

  • 开发模式

1.MVP模式,很适合电视端这种小而业务多的app。

2.相对独立的功能模块独立成一个类,用单例模式。

3.工厂模式。对于客户多,业务相似的场景尽量用工厂,后期好扩展和维护。

4.观察者。用到不多,很简单实用,回调特别多,一定要掌握。

  • 调试

1.eclipse开发,嗯对我觉得过时了,囿于当时技术有限,维护app太多,没敢迁移到as上,怕有风险;

2.导出成未签名的apk,用系统签名,adb push/adb install -r;看日志adb logcat -s xxx

3.公司BUG各种各样,有界面上的BUG(比如焦点),有业务上的,(比如和底层的交互,和其他应用的交互)。

待续。。。

欢迎关注公众号,给你更多技术干货:

Android TV机顶盒开发总结相关推荐

  1. Android TV机顶盒开发简单介绍

    关于Andiroid 机顶盒开发,我简单的写一下,希望我的经验可以给各位带来一点经验.图片我就不上传的,很麻烦的! 首先是Android的apk如何安装到机顶盒上? 1. 将TV连接机顶盒,然后找到设 ...

  2. android电视盒子开发,Android TV机顶盒开发之初级接触

    最近接触了点Andiroid 机顶盒开发,简单的写一下,希望我的经验可以给各位带来一点经验.图片我就不上传的,很麻烦的! 首先是Android的apk如何安装到机顶盒上?将TV连接机顶盒,然后找到设置 ...

  3. android TV盒子开发心得(一)

    今天给大家介绍一下本人在开发android TV APP的时候所遇到的一些问题及心得体会,希望能帮助各位解决问题 首先,简单介绍一下TV开发和手机开发的不同之处: 1.我们在开发TV的时候,经常会遇到 ...

  4. android 开发tv盒子,一步一步学习Android TV/盒子开发(二)-Go语言中文社区

    TV.机顶盒开发调试不能像手机一样通过USB线连接调试,可通过ADB连接调试 连接电视 adb connect 10.74.84.199 连接后就可以开始开发调试了! 断开连接 // 断开某个设备 a ...

  5. [译]MediaSession MediaController – Android TV 应用开发教程九

    版权声明:本文为博主原创翻译文章,转载请注明出处. 推荐: 欢迎关注我创建的Android TV 简书专题,会定期给大家分享一些AndroidTv相关的内容: www.jianshu.com/c/37 ...

  6. Android TV UI开发常用知识

    导入依赖 Google官方为Android TV的UI开发提供了一系列的规范组件,在leanback的依赖库中,这里介绍一些常用的组件,使用前需要导入leanback库. implementation ...

  7. 一步一步学习Android TV/盒子开发(一)

    写在前面的话: 本人做了几年的机顶盒和Android电视上的应用开发,写这些文章只是为了让初次接触大屏开发的同学能够快速上手. TV端因为没有触控操作,只有遥控操作,所以焦点处理.控制以及按键监听是其 ...

  8. android Tv盒子开发 焦点

    不知不觉入坑做电视两年多了,终于有时间停下来写点什么,希望对大家用用. TV开发最大的特色是焦点和焦点动画. 由于电视机输入方式是按键,因此焦点很重要.焦点相当于选中效过果,只有被选中后,那个view ...

  9. android TV盒子开发遥控器按键的监听

    代码如下: public class MainActivity extends Activity {private String TAG="key";@Overrideprotec ...

最新文章

  1. 物联网改变生活——飞思卡尔技术论坛中国站侧记
  2. 生成中文词云图的制作:带有不同的背板
  3. 利用OpenCV的inpaint函数实现图像的污点修复
  4. Java-Runoob-高级教程-实例-数组:01. Java 实例 – 数组排序及元素查找
  5. python html模块调用_Python html 模块简介
  6. mybatis源码学习
  7. C语言 ,嵌入式 ,数据结构 面试题目(3)
  8. OpenShift 4 - Service Mesh环境和BookInfo应用安装脚本
  9. C语言学习笔记---结构体中的字符数组和字符指针
  10. 实验06 分析IP报文结构实验报告
  11. 机械键盘无冲测试软件,全键无冲 键盘测试 优缺点总结
  12. 计算机网络协议有时序,计算机网络协议.doc
  13. 18W快充长续航 魅族魅蓝Note5金色版19日开售
  14. 计算机如何连接网络扫描仪,如何添加局域网网络扫描仪
  15. 安装CPython解释器
  16. 【wechat】微信开发——自定义菜单
  17. HTTP协议(深入http请求)
  18. 传感器技术—霍尔传感器(学习笔记九 补充)
  19. 李乐园:iMetaLab Suite宏蛋白质组学数据分析与可视化(视频+PPT)
  20. 【FPGA】SCCB通信协议

热门文章

  1. 2022年湖南省安全员-C证考试练习题及在线模拟考试
  2. 测试用例怎么写——黑盒测试
  3. 创米数联创业板IPO被终止:曾拟募资6.44亿 小米是重要股东
  4. gen9 ws460c 惠普_Drivers Software - HPE Support Center.
  5. 从PK到现代数字城市底座 中国系统的生态进化之路
  6. 完全免费!!使用dot.tk和Sina SAE服务免费搭建自己的网站
  7. ECU软件UDS刷写概述
  8. 该怎么用iMindMap画思维导图
  9. java.net.UnknownHostException: hadoop102 at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Metho
  10. javaweb项目报错:org.apache.jasper.JasperException: 无法为JSP编译类