Android TV机顶盒开发总结
来源:互联网 发布:mac上卸载软件 编辑:程序博客网 时间:2024/05/08 16:20
写在前面
前几天看了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机顶盒开发总结
- Android TV机顶盒开发简单介绍
- Android TV开发总结(一)
- Android TV 开发总结概览
- android 机顶盒Launcher开发
- android 机顶盒开发-----GridView
- Android TV开发总结(二)构建一个TV Metro界面(仿泰捷视频TV版)
- Android TV开发总结(五)TV上屏幕适配总结
- Android TV开发总结(五)TV上屏幕适配总结
- Android TV开发总结(五)TV上屏幕适配总结
- Android TV开发总结(五)TV上屏幕适配总结
- Android TV开发经验总结---初识TV开发
- Android TV开发经验总结---初识TV开发
- Android Tv 焦点总结
- android机顶盒开发问题集
- 初识Android 网络机顶盒开发
- Android机顶盒开发工具小结
- Android TV开发总结(四)通过RecycleView构建一个TV app列表页(仿腾讯视频TV版)
- 使用BeanUtils工具类操作JavaBean
- JS传入日期(XXXX-XX-XX格式)与当前日期比较
- “盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛:I. 丢史蒂芬妮
- 个人总结之H5调用本地app
- jQuery之异步Ajax请求使用
- Android TV机顶盒开发总结
- 创建一个对象,构建器(构造器)的调用顺序是如何的?
- Linux下计算程序运行效率
- FileInputStream与FileOutputStream
- spring自定义注解实现AOP日志管理
- 工作流学习——重要概念扫盲篇一步曲
- C语言(七):运算符表达式与语句
- java-jdk、tomcat、redis 的安装配置
- 玉溪农业职业技术学院公寓维修改造项目竞争性谈判公告