转载自:   http://bbs.tvhuan.com/
 开发者做SMART TV应用开发适配,如何将现成的作品移植到智能电视平台,我们在日常和开发者的沟通中整理了开发者普遍提到的几类:《系统平台搭建SDK接口》、《UI交互适配》、《测试及上线》三方面和开发者就电视端Android项目移植开发展开交流!如果您在开发或适配中遇到任何问题,欢迎随时跟帖回复补充!以下问题回复可见,我们将不定期开展线下开发者沙龙活动,与各位开发者面对面交流;感谢欢网TV应用开发技术工程师王超、孙涛、张林对此次问题搜集整理的大力支持,欢迎开发者加入我们的开发者交流群:261722115,与我们专业的TV应用开发工程师线上交流;

系统开发平台搭建SDK接口
Q:智能电视能否支持GPS卫星定位系统?   
A:智能电视不是智能手机gps卫星定位模块已经去掉,不支持该功能。
Q:支付对接中欢网给出的key无法使用,如何解决?
A:如果key是由欢网提供那么说明我们给你的key是测试服务器的。而你用来测试的支付jar应该是从官网下载的正式服务器的,因此你无法使用。使用正式支付你需要使用欢网会员帐号自己申请的key也就是从我们的社区平台注册签约成功申请key后方可使用。而在正式包中的demo也需要你使用自己的正式key而不是直接用demo的key来运行。
Q:TCL如何获取root权限?
A:这恐怕是不可能的,root无法达到!
UI交互适配
Q:智能电视有无内置摄像头?能否支持外接摄像头的调用?支持什么型号的外接摄像头?
A:智能电视里面没有内置摄像头,支持外接摄像头,但是不同电视支持的摄像头型号不同,比如tcl支持罗科 c270,长虹测试需要摄像头支持USB-V4L2这种接口类型的。
Q:遥控器适配该适配哪些按键?部分键值为何无法实现跨终端匹配?
A:最低要适配遥控器的上下左右,返回,ok 菜单;比如ok键在tcl上它的适配键值是66;而在长虹上是23,在海信上是66;而其他google自带按键值是相同的。除了厂家自定义的按键外,在做这些键值适配过程中:比如flash的适配,获取的键值就不一样,并且ok键无法获取,这就和flash支持有关了。
Q:应用软件适配了某一电视品牌的一个机型后,是否就能够成功适配该品牌的其它机型?
A:NO,系统版本的不一致会直接影响适配到不同机型上的效果差异巨大;有些终端虽然分辨率一致,但由于版本的不一致,很多功能的实现上是不一样的,就拿tcl和长虹来举例,在长虹上做到完全适配的应用运行非常流畅,但是拿同样版本和分辨率的应用到tcl上,直接报各种无响应,orm,这就是不同品牌的差异。而即使同一品牌上,我在做tcl的预装应用时,就遇到很奇怪的问题,同一系列的901电视只是终端类型不同但是用同一应用竟然无法运行。可见适配是非常难的。想达到适配全部覆盖的愿望是不可能的。尤其是视频播放器适配就更为困难了。
Q:摄像头应用无法启动摄像头,不显示影像,该怎么办?
A:其实这个问题在问题1中你基本就能了解到答案了。应该就是摄像头硬件不兼容的问题了。如果是摄像头显示图像了就是图像不是正理的
Q:屏幕适配有什么要求?
A:考虑几点;屏幕的分辨率,主流的 1920*1080 1280*720 1366*768屏幕的密度,图片处理(orm经常报)
Q:目前电视都有哪些交互方式?
A:遥控器为主,空鼠,摄像头,语音等需要特殊外设;
Q:TV端文字的字体设置有没有标准尺度,如何设置效果最好?
A:这个问题已经超出了应用移植适配的技术范畴,应是产品UI设计的事了。我们只能说在TV大屏上让用户感觉舒服的效果和尺寸是最好的,需要前端不断修改测试;
Q:文字字号的大小,是根据系统的dpi以象素为单位设置的,TV端以像素(px)为单位的合适大小是多少?dpi是多少?
A:dip: device(装置) independent pixels(象素)(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。    
这里要特别注意dip与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正确,有可能导致dip不能正常显示。在屏幕密度为160的显示屏上,1dip=1px,有时候可能你的屏幕分辨率很大如480*800,但是屏幕密度没有正确设置比如说还是160,那么这个时候凡是使用dip的都会显示异常,基本都是显示过小。      
dip的换算:            
dip(value)=(int)(px(value)/1.5 + 0.5) .dp: 很简单,和dip是一样的。.px: pixels(像素),不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。 .  sp: scaled(衡量) pixels(放大像素). 主要用于字体显示best for textsize。 备注: 根据google的推荐,像素统一使用dip,字体统一使用sp   举个例子区别px和dip:px就是像素,如果用px,就会用实际像素画,比个如吧,用画一条长度为240px的横线,在480宽的模拟器上看就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。而dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。publicstatic int dip2px(Context(环境) context, float dipValue){                 final float scale(规模) =context.getResources().getDisplayMetrics().density(密度);                 return (int)(dipValue * scale +0.5f);         }             public static int px2dip(Context context,float pxValue){                 final float scale =context.getResources().getDisplayMetrics().density;                 return (int)(pxValue / scale +0.5f);         }

Q:TV端该如何进行排版布局?
A:这个问题不知道你是处于什么角度考虑,建议你去把androi的布局好好学习学习就可以了。这里我就不做解说了。
Q:TV端图片大小如何设置效果最好?
A:这个问题问的不知所错了。这个图片大小设置问的是什么?背景?还是?这个应该是你们UI设计好大小规定的!效果最好?这个也和你们美工提供的图片有关。我想做手机应用的,应该都懂这个。
Q:TCL、长虹等各品牌电视都有哪几种分辨率?
A:1920*10801280*720 1366*768
Q:TCL、长虹遥控器的键值分别是多少,怎么适配?
长虹遥控器按键定义
遥控按键漏印
键值定义
遥控器图片
红键、A
public  static final int KEYCODE_RED                           = 2011;
  
绿键、B
public  static final int KEYCODE_GREEN                         = 2012;
广播
音轨
声道
黄键、C
public  static final int KEYCODE_YELLOW                        = 2013;
A
B
C
D
蓝键、D
public  static final int KEYCODE_BLUE                           = 2014;
菜单
public  static final int KEYCODE_CHANGHONGIR_MENU              = 4104;
3D
信息
指南
帮助
返回
public  static final int KEYCODE_BACK                          = 4;
节目源
应用
静音
public  static final int KEYCODE_DPAD_UP                        = 19;
放大
主场景
缩小
public  static final int KEYCODE_DPAD_DOWN                     = 20;
public  static final int KEYCODE_DPAD_LEFT                     = 21;
菜单
返回
public  static final int KEYCODE_DPAD_RIGHT                    = 22;
确定
public  static final int KEYCODE_DPAD_CENTER                   = 23;
左滑
public  static final int KEYCODE_CHANGHONGIR_FLCK_SL           = 4113;
右滑
public  static final int KEYCODE_CHANGHONGIR_FLCK_SR           = 4114;
节目+
public  static final int KEYCODE_CHANNEL_UP                    = 2003;
节目-
public  static final int KEYCODE_CHANNEL_DOWN                  = 2004;
+
+
音量+
public  static final int KEYCODE_VOLUME_UP                     = 24;
节目
音量
音量-
public  static final int KEYCODE_VOLUME_DOWN                   = 25;
-
-
数字键0
public  static final int KEYCODE_0                             = 7;
数字键1
public  static final int KEYCODE_1                             = 8;
数字键2
public  static final int KEYCODE_2                             = 9;
1
2
3
数字键3
public  static final int  KEYCODE_3                             = 10;
4
5
6
数字键4
public  static final int KEYCODE_4                             = 11;
7
8
9
数字键5
public  static final int KEYCODE_5                             = 12;
输入法
0
删除
数字键6
public  static final int KEYCODE_6                             = 13;
数字键7
public  static final int KEYCODE_7                             = 14;
数字键8
public  static final int KEYCODE_8                             = 15;
数字键9
public  static final int KEYCODE_9                             = 16;
输入法
public  static final int KEYCODE_CHANGHONGIR_INPUT             = 4102;
删除
public  static final int KEYCODE_DEL                           = 67;
静音
public  static final int KEYCODE_MUTE                          = 91;
指南
public  static final int KEYCODE_CHANGHONGIR_EPG               = 4123;
3D
public  static final int KEYCODE_CHANGHONGIR_3D                = 4119;
备注:长虹的遥控器有些按键复用,如颜色键A与广播等,在应用开发中必须要注意,不能同时处理。同时后续有些变动,一些按键服用情况也有变化,推荐第三方应用只用方向键、确定、菜单、返回、音量加减、频道加减, 数字键,主场景,静音键。
Q:适配后的应用在商店上线后能否自动升级?
A:是可以升级的。但是每次需要升级版本需要提供给我们最新版本上传至我们的服务器。
Q:内置的全景浏览器内核是什么版本的,是否会影响到应用对网页的调用?
A:全景浏览器基于android原生chrome lite(清淡的)扩展,调用参考android标准浏览器即可
Q:智能电视是否支持flash应用?
A:支持但是不同机型可能版本不同,适配起来比较麻烦!
Q:Flash应用做遥控器适配时,键值是多少?
A:这个问题请参见问题2《遥控器适配该适配哪些按键?部分键值为何无法实现跨终端匹配?》
Q:应用调用悬浮层时,焦点移动如何设置比较合理?
A:这样的问题出现,很奇怪。如果说是不知道怎么获取焦点还好!知道怎么获取焦点那你应该根据你项目的实际情况来处理,这块我就不做解释了。
Q:是否可适配并上线游戏大厅类型应用?
A:非技术类型问题,请与公司相关负责部门联系,或者直接联系公司商务。
测试及上线
Q:TCL开发板连接显示器时,有时会出现屏幕偏移的问题,如何解决?
A:这就需要用遥控器对电视机进行屏调整了(就是系统设置)。
Q:有的联网应用在电视上测试时,会提示“检测不到网络”,这一问题如何解决?
A:估计这个做的应用都是手机端的。在检测网络时间按的是手机端的方式来做检测的,那就让你失望了,手机端一般就是检测3g和wifi。而智能电视不是手机所以你用检测手机网络的方式来检测智能电视是检测不到网络的。具体方式请参照此贴http://bbs.tvhuan.com/thread-556-1-1.html
Q:如何把apk安装到开发板上?
A:打开开发板,查看其网络连接,找到ip地址,使用adb命令操作。首先adbconnect ip,然后adb Install apk地址。就可以安装上了。
Q:tcl电视为什么搜不到无线网络?
A:WIFI模块功能是否启用,无线路由器是否正常工作,请注意无线网卡兼容性问题
  

电视端Android TV应用移植开发常见问题QA-Android TV 应用开发相关推荐

  1. android nfc驱动,移植NFC驱动到android系统

    1>>>进入kernel目录,替换driver层文件: kernel/drivers/nfc/pn544.c kernel/include/linux/nfc/pn544.h 更新n ...

  2. [Android开发常见问题-19] Android为什么比IOS和WP慢?

    拥有开放互联网精神的谷歌,在短短的4年时间,将Android打造成市场份额第一的手机操作系统;拥有用户体验至上精神的乔布斯,将iOS产品打造成全世界高端电子产品的风向标,一家独占移动市场75%的利润; ...

  3. [Android开发常见问题-12] Android开发中debug.keystore如何使用。

    有些团度在开发较大的项目的时候会用到debug.keystore这种debug签名,那么这个东西怎么用呢?之前在导出签名包的时候只需要android tools -> export signed ...

  4. 移动应用开发常见问题

    移动应用开发常见问题 文章目录 移动应用开发常见问题 移动端常见浏览器 移动基础 视口(viewport) meta 视口标签 二倍图 移动端开发选型 移动端特殊样式 移动端常见浏览器 •手机端浏览器 ...

  5. 【Android】【TP】TP开发常见问题分析

    TP开发常见问题&分析 1.TP重点关注范围以及checklist 先附录上TP的内部checklist,所有在列内容都为常见问题切比较严重问题,如下: 上下电时序 Operating Vol ...

  6. Android流媒体开发之路二:NDK C++开发Android端RTMP直播推流程序

    经过一番折腾,成功把RTMP直播推流代码,通过NDK交叉编译的方式,移植到了Android下,从而实现了Android端采集摄像头和麦克缝数据,然后进行h264视频编码和aac音频编码,并发送到RTM ...

  7. 【Android】【TP】TP开发常见问题分析产线检测CTP单体异常

    TP开发常见问题&分析 1.TP重点关注范围以及checklist 先附录上TP的内部checklist,所有在列内容都为常见问题切比较严重问题,如下: 上下电时序 Operating Vol ...

  8. 移动端H5网页开发常见问题汇总

    简介 这篇文章主要是总结下移动端开发常见问题,帮助大家一起避坑.如果已经看过这篇文章了的话也可以看看笔者写的 移动端H5网页开发必备知识 移动端开发必备知识-Hybrid App HTML方面 调用系 ...

  9. android音视频播放器开发百度云,Android 播放端 SDK

    1 概述 PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 Android ...

  10. Android studio 安卓开发常见问题(个人笔记系列)

    Android studio安卓开发常见问题 注:个人笔记就是没有大纲.没有目录.没有结构,纯属本人笔记用. 正文 1.建议为控件绑定监听器而不是用XML的onClick属性来实现一个方法. 2.匿名 ...

最新文章

  1. Python中读取ZIP文件
  2. 人工智能的核心是“算法”,医生才是主角!
  3. IDEA 15款神级良心插件强烈推荐收藏
  4. Kosaraju算法(发现强连通分图算法)
  5. 你知道char *s和char s[]的区别吗?
  6. 全球数十亿条用户记录被泄露,姓名住址全曝光,Oracle或已引发今年最大的数据安全事件...
  7. 20162303 实验二 树
  8. GenyMotion 配合 Android Studio 的安装
  9. linux下echo /dev/ttys* 到字符设备文件,Linux系统的终端特殊设备文件
  10. 详解Angular开发中的登陆与身份验证
  11. 三极管构成的流水灯电路分析
  12. Python中对列表中的字典元素进行排序
  13. 使用C语言构造一个简单计算器
  14. 坚果云和微云哪个好?谈谈我的使用感受
  15. 我的2020java社招岗面经,阿里巴巴社招面试经历(Java工程师方向)
  16. html句号图标,html标点符号相关符号
  17. 科技感十足的数码首图海报
  18. 【心灵鸡汤】浪子助你提高解决问题能力
  19. 中文词性标注的简单实现
  20. dns劫持 tplink_路由器dns被劫持有什么后果【图】

热门文章

  1. 用计算机计算勾股定理,勾股定理公式计算器(勾股定理计算工具)V2018.1.0 官方版...
  2. 这些藏在成都的 NB 互联网公司
  3. office未响应(2010、2013……)崩溃
  4. JAVA排课教务系统
  5. AHP(层次分析法)的全面讲解及python实现
  6. 微信小程序上传图片到阿里云
  7. AD15批量修改丝印的方法
  8. AD15怎么导入图片做丝印 或者做 LOGO
  9. 计算机实验室安全管理责任书,实验室安全管理责任书
  10. linux打包解压包(tar.gz )