Android TV开发经验总结---初识TV开发

Android Studio TV开发教程(一)处理电视硬件 处理电视硬件电视硬件与其他Android设备有很大不同。 电视不包括其他Android设备上的某些硬件功能,例如触摸屏,相机和GPS接收器。 电视也完全依赖辅助硬件设备。 为了让用户与电视应用程序交互,他们必须使用遥控器或游戏手柄。 当您构建电视应用程序时,您必须仔细考虑在硬件上运行的硬件限制和要求。本课程介绍如何检查您的应用是否在电视上运行,以及如何处理不支持的硬件功能。 要了解各种输入方法,请... 阅读详情

        之前一直从事手机APP应用开发,由于工作的需要转入TV电视端的开发,初次接触确实有点懵逼,在TV开发过程中的处理思路跟手机还是有很大区别的,接下来将讲述下TV开发过程的经验,与大家一起分享共同学习。

       刚接触TV开发,需要我们转变下思路,在TV开发中没有以前我们手机端的什么 dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent 事件来分发,而需要使用dispatchKeyEvent、onKeyDown、onKeyLisenter 等事件来分发处理焦点问题,而且TV端焦点没有什么好办法可以全局控制,需要我们自己来想办法规定焦点走向,可能一个没处理好,就一脸懵逼了,焦点为啥跑的不见了,焦点为啥跑那里去了等等问题。 接下来我们就说说在TV端开发的基础知识

   Android TV app开发与一般Android开发最大的区别在于焦点控制 , 用户在使用Android TV设备主要是通过遥控器操作app。机顶盒应用不同于手机应用,因为多数是没有触摸屏的,只能靠遥控器,所以要保持一个焦点的位置,让用户知道当前操作作用的对象. 然而一些app,依据系统对focus的判断,会出现的状况: 上下导航时,不是想要的结果. 边缘移动时,会出现焦点丢失的状况. 有时想直接定位到某个位置上. 

        android提供了一些焦点相关的属性,在现有的框架层下通过设置View的属性来获得焦点

        android:focusable:设置一个控件能否获得焦点
        android:background:设置在作为背景的drawable
        android:nextFocusDown:定义下一个获得焦点的控件当按下键时
        android:nextFocusUp:定义下一个获得焦点的控件当按上键时
        android:nextFocusLeft:定义下一个获得焦点的控件当按左键时
        android:nextFocusRight:定义下一个获得焦点的控件当按右键时
        <requestFocus/>:强制设置一个焦点到指定的view或它的一个子类,前提是android:focusable为true能够获得焦点

         下面列出两种方法处理焦点问题

   第一种方法:

   采用Android自带的直接控制焦点上下左右的方法。这种方法的前提是必须知道每个view的id,因此在进行布局时有必须要通过view.setId(…)指定view的特定ID,然后通过view.setNextLeftView(…)等四个方法控制该view的上下左右移动后所到达的view。然而这种方法只适用于前提就设置好ID的场景,不适合动态布局的场景

   第二种方法:

在一些比较复杂的Layout中,特别是涉及到在View的焦点变化的过程中还要控制view的背景以及字体颜色变化等。必须对每个ImageButton 设置焦点捕获实际(setOnFocusChangeListener),在该监听事件中处理

ImageButton.setOnFocusChangeListener(){ 
          public void onFocus(boolean Focus){ 
                   if( Focus ){
                    // ImageButton 2.1 获焦时, ImageButton 2.1 改变获取焦点背景, ImageButton 1.1也改变失去焦点背景 
                    } else{
                     //  ImageButton 2.1 获焦时,  ImageButton 2.1 改变失去焦点背景 ,  ImageButton 3.1也改变获取焦点背景  
                    }
  然后使用Key事件分发来确定焦点移动方向,一般可以使用onKeyDown事件进行处理

public void OnKeyDown(int keyCode, KeyEvent event){
                    if( event.KEYCODE_DROP_UP== keyCode ){  //如果按下的是上键
                            mImgBtnArray1[ThirdIndx ].requestFocus;
                     }
                    if( event.KEYCODE_DROP_DOWN == keyCode ){  //如果按下的是下键
                              mImgBtnArray3[ ThirdIndx ].requestFocus;
                     }
                    if( event.KEYCODE_DROP_LEFT == keyCode ){  //如果按下的是左键
                              mImgBtnArray1[ ThirdIndx-1 ].requestFocus;
                     }
                    if( event.KEYCODE_DROP_RIGHT == keyCode ){  //如果按下的是右键
                              mImgBtnArray1[ ThirdIndx+1 ].requestFocus; 
                     }
       }
    接下来讲讲TV开发中需要了解的KeyCode 可以参考下 Android常用的物理按键及其触发事件此博客讲解的按钮事件

 常用的按键Code有 

  KEYCODE_MENU 菜单键

  1. * 方向键  
  2.  * KEYCODE_DPAD_CENTER 
  3.  * KEYCODE_DPAD_UP  
  4.  * KEYCODE_DPAD_DOWN  
  5.  * KEYCODE_DPAD_LEFT  
  6.  * KEYCODE_DPAD_RIGHT 

      在按键过程中 按下和松开的Action主要是ACTION_DOWN、ACTION_UP  事件分发和处理是在 ACTION_DOWN 中处理

此处需要特别说明的是    View.setFocusable(true);   改变控件是否可以获得焦点,然而同时会触发 setOnFocusChangeListener事件 

   接下来将会讲解在TV开发中所涉及到的控件使用技巧

             

AndroidTV开发教程(1) 直接开始我们的第一个程序 创建一个AndroidTV应用程序 1.打开AndroidStudio New Project 因为是第一个项目,我们选择Add No Activity,然后点击Next进入下一步。 在这里输入自己的项目名称,还有选择API level,然后点击finish。 好了,现在我们的第一个项目已经建立好了,继续丰富内容。 2.添加一个Activity New→Activity→Android TV activity,勾择... 阅读详情

相关推荐

安卓TV开发(前言)— AndroidTV模拟器初识与搭建

目前市场已经有很多巨头企业涉足物联网和智能家居领域,包括小米,乐视,华为等已经相继进军,并以开发出相应的产品。乐视智能电视,小米手环,手表,电视盒子,华为智能路由器,这些设备是怎么运行是其原理,也就是安卓+嵌入式+网络通讯,接下来介绍下模拟器搭建。

Tamic (大白) 2万+

2022年Android TV应用项目开发实战

课程简介:本套教程是以一个TV应用的项目开发实战,教大家如何使用EBoxUI库(关于什么是EBoxUI库请看下面)。开发一个完整用于机顶盒也就是TV上的安卓应用,课程大约有100节左右.项目名称叫香茶TV。是一个影视播放类型的应用。总体分为5大页面。分别是:首页、列表页、记录页、搜索页、详情页。每个页面又以不同的功能功分出更多的子页面。 EBoxUI库:EBoxUI是本人在做TV应用开发的这四五年时间里自已编写的一套用于TV应用上的高效UI库,这套UI库已经用在好几个线上项目中,并且运行良好。最低支持系统版本是Android4.4 使用技术栈:Java1.8、RxJava2、OkHttp、Retrofit、Glide、Butterknife、IJKplayer、MVP架构 开发工具:AndroidStudio 2022.2.1 项目截图:              

安卓TV开发(三) 移动智能设备之实现主流TV电视盒子焦点可控UI

前言:移动智能设备的发展,推动了安卓另一个领域,包括智能电视和智能家居,以及可穿戴设备的大量使用,但是这些设备上的开发并不是和传统手机开发一样,特别是焦点控制和用户操作TV上有很大的区别,本系列博文主要用TV播放器的实现去了解下在智能设备上的开发的相关技术。本次实现主流的九宫格UI,并由遥控器方向键控制view焦点移动,到达边缘进行翻页效果。

Tamic (大白) 9360

Android Studio开发Android TV

在“Add an Activity to Mobile”(在移动设备上添加一个Activity)页面上,选择“TV”选项卡,然后选择你要创建的Activity类型,比如“Leanback Activity”(Leanback活动)或“Fullscreen Activity”(全屏活动)。你可以通过打开Java文件和XML布局文件来编辑你的代码,并通过点击绿色的“Run”按钮来运行和测试你的应用程序。在弹出的对话框中,填写你的应用程序的名称、包名和所需的最低Android API级别。

牛肉胡辣汤 3756

安卓电视机(此处用小米电视机)远程连接电脑

本文章关于远程这块!简单实用教程,自己写的不喜勿喷!(并不一定适用所有的朋友哦,我这是公司局域网使用的) 前提:你的电脑已经做好的可以远程的设置!!! 首先我的先在电脑上下载一款软件,叫做“Remote Desktop”,它长啥样呢!当当当当~,就是它啦→,这是已经安装好的图标啦!我们源文件应该是一个apk后缀的安装包。准备好上面说的安装包后,下面开始说如何运用起来: 1,将安装包拷入U盘 2,U盘插到我们的小米电视机上(就是可以安装安卓应用的电视机啦),找到安装包,这是我下载的安装包文件名字:,直

lh0324的博客 9037

基于Android电视机的ZigBee智能家居系统设计

智能家居是利用先进的计算机技术,嵌入式系统和网络通信技术,将家庭中的各种设备(如照明系统、环境监控、安防系统、网络家电)通过家庭网络连接到一起的,自从美国在1984年真正的智能建筑出现以后,国外已经有将近30年的研究历史,而国内在这方面的研究就相对较晚,从2003年才逐步的应用于高端市场,而且标准不一。由于智能家居的系统具有安全、方便、高效、快捷、智能化等诸多的优点,从而使智能家居的开发建设成为2

liqingkk的专栏 1855

android TV 开发规范

Android TV开发规范 一.Android TV概述 Android TV应用使用与手机和平板电脑相同的架构,这就意味着我们可以根据已经了解的有关构建Android应用的方法去构建新的电视应用程序,或者将现有的应用程序拓展到电视设备上去运行。 二.创建电视应用 Android提供了丰富的用户体验,针对大屏幕的设备(如Android TV)上运行的应用进行了优化。TV的用交互与平板和手机设备有...

android 系统定制开发那些事 1万+

Android Studio TV开发教程:处理电视硬件

您可以在Android Studio中创建一个电视应用程序项目,并使用上述代码示例来处理遥控器输入、管理焦点和导航,并调整布局和用户界面以适应电视设备。您还可以使用Android的相关API来处理电视硬件功能,如音量控制、频道切换和外部设备连接。首先,我们需要在Android Studio中创建一个电视应用程序项目。完成后,Android Studio将为您创建一个电视应用程序的基本结构。在本教程中,我们将探讨如何在Android Studio中开发针对电视设备的应用程序,并处理与电视硬件相关的问题。

ByteWhiz的博客 956

安卓TV开发《1》TV入门

前言 近期换了一份工作,入职那天一看整个办公室好大气,好多智能电视,估计有50寸,顿时心里明白了我一个安卓开发肯定是要干TV开发了。还好无论TV开发、安卓wear、安卓车载都是和安卓手机开发差不多。于是乎看看官方给的TV开发文档,瞅瞅差异,搞起来。所以,以下有关TV的文档就按照官方文档搞一遍。顺带着自己的一点理解整理下。 一、官方文档地址 传送门 二、安卓TV概览 如果您有 Androi...

dev晴天的博客 5681

基于强化学习的工业SCR脱硝系统控制算法设计与实现

本文提出了一种基于强化学习的工业SCR脱硝系统智能控制方法。针对SCR系统存在的非线性、大滞后和多变量耦合等控制难点,研究采用混合建模方法构建了精度在5%以内的系统模型,并设计了专门的强化学习环境。该方法通过定义合理的动作空间和状态空间,结合物理约束设计损失函数,利用深度强化学习算法优化氨喷射控制策略。相比传统PID控制,该智能控制器能更好地适应烟气参数波动,实现NOx排放的稳定控制,为工业环保设施提供了更优的自动化解决方案。

huanghm88的专栏 1456

超详细!DeepSeek本地搭建部署、搭建知识库及智能体教程

通过以上详细的步骤,我们完成了DeepSeek的本地搭建部署、知识库的搭建以及智能体的创建。这一过程不仅让我们深入了解了大模型的应用,还为我们开发个性化的智能应用奠定了基础。在实际应用中,可以根据具体需求进一步优化模型、知识库和智能体的性能和功能。希望本文能帮助大家快速上手DeepSeek相关技术,开启属于自己的人工智能创新之旅。

Ljugg的博客 8184

安卓系统的电视机_再送出一款智能电视、电视盒子、安卓手机通用TV直播软件...

正文共:1637字22图预估阅读时间:5分钟写在前面:★ 这里全部都是破解后的免费白漂版本;★ 小编平常自己收集到不错的分享出来;★ 大家需要什么软件请直接在下面留言;★ 看免费电视电影点文末的“阅读原文”。分享缘起之前分享过好几款TV盒子电视台直播软件。今天再分享一款~软件安装包软件安装包的源文件存放在后台了。已破解永久免费,放心使用。按文章末尾的“提取编码”,回复...

weixin_39633807的博客 3104

Arduino--土壤湿度传感器使用(电阻式)

最近买了一个土壤湿度检测传感器,实物图是这样的: 我买这个模块是想要得到土壤湿度的模拟量。但我买的时候忘了买左边的蓝色模块,我开始以为这个模块是有运放功能的,但实际它是一个电压比较器和一个分压电路。 其模块的接线如图: 该模块的四线是带模拟量输出的,三线的只输出一个到达阈值的标志量。该模块的原理图如下: 该模块的测试原理为:把土壤当成一个可变电阻,随着土壤含水量的增加,土壤电阻减小。而该传感器其实就是两个电极,用来接土壤这个可变电阻。一般湿度的土壤电阻大概在几百K左右,其串连的分压电阻应该在这个数量级。

weixin_41866783的博客 1万+

【TV】智能电视机四大操作系统介绍

智能电视机四大操作系统介绍 近年来智能电视机四大操作系统介绍随着电视机技术的发展,电视机智能化的趋势愈加明显,步伐也越来越快,智能电视机不仅在外形、画质等方面拥有独特的优势,而且能为用户提供丰富的功能。因为采用了智能化操作系统,那么目前市场有哪些主流的智能电视操作系统呢?谁更适合普通用户使用呢?接着往下看。   主流智能电视操作系统一:安卓操作系统(主流)   目前,Andr

产业互联网&消费类电子 1万+

Claude Code + 自定义模型体验

AI 编程工具的发展突飞猛进:Cursor 横空出世,推出了“Agent 模式”;新竞争者如 Windsurf 也纷纷加入战局。几乎所有产品都开始转向“代理式(agentic)”开发模式——不再依赖单次 LLM 响应进行补全,而是让大模型在一个循环中调用各种工具,来完成更复杂的任务:分析代码库上下文、读取网页与文档、编译程序、运行测试、修复失败构建或测试、不断迭代等。

西京刀客 5792

交通银行金融科技后端开发实习生面试经验

笔试之路的第一个脚印。不足的地方:基本功不扎实,得补。先补sql(先整理出一篇sql语句做题的文章,争取下次笔试拿下这一块),编程题中的SQL写不出来感觉很丢人。然后补八股文,结合一些网上项目教程,来理解常用的一些八股文(比如各种锁)。

T__TSZ的博客 1724

【Android TV 开发】安卓电视调试 ( 开启网络远程调试 )

一、硬件环境准备、 二、开启开发者模式、 二、查询 Android 电视局域网 IP 地址、 四、开启远程连接、

让 学习 成为一种 习惯 ( 韩曙亮 の 技术博客 ) 2万+

使用freesurfer和3Dslicer进行脑区分割和电极定点(详细版)

1、安装好matlab和freesurfer2、在目标位置创建文件夹3、开放权限4、将需要计算的nii文件放入文件夹。

zQIANYUN的博客 5628

智能电视机安装App

每年的12月18日是世界电视机日,电视机诞生于1925年,最初是电子机械式电视机;到了1933年,诞生CRT电视(黑白电视),它只有黑色或白色,看任何物品都是黑色或者白色。又过了20年,1953年彩色电视机也问世了,看蓝天不是灰色而是蓝色,颜色更多,其射线管的寿命比较长约为15年,体验更好。到了1981年,液晶电视机横空出世,它色彩艳丽,缺点是其发光灯泡的寿命比较短约5年左右。到了2009年,电视行业开始使用Android系统,电视机步入智能化时代。高清、大屏幕、轻薄、娱乐化、互动性等特征,成了智能化的标配

sanqima的专栏 1万+

一个服务如何被找到、被调用、被看见:注册中心、发布注册、发现调用与服务监控的治理闭环

服务数量一多,“对方在哪儿”就成了时刻变化的变量。本文沿发布、注册、发现、调用、监控的治理闭环展开:注册中心的数据模型、健康检查与AP/CP取舍,自我保护、推空保护与本地快照三道自保机制;服务发布的启动器、动态代理、发布管理器、协议服务器与登记顺序;消费端的服务目录、请求ID配对、六种集群容错与三种发现模式;日志、指标、链路三支柱与熔断舱壁。配套五个Java演示程序实测:默认参数下宕机实例平均240秒才被摘除,优雅下线可降至45秒,统计窗口长于租约会让自我保护失效,尾部采样可捕获全部慢请求。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 169万+

BioEmu 扩散模型加速传统分子动力学(MD)模拟

BioEmu 是一种创新的生成式深度学习系统,通过高效采样和准确预测蛋白质的动态机制,为蛋白质科学和药物设计提供了新的工具。它在多构象采样、MD 模拟拟合和蛋白质稳定性预测方面表现出色,同时显著降低了计算成本。BioEmu 的开发为未来蛋白质动态研究和应用奠定了坚实基础。

weixin_42357472的博客 320

【亲测免费】 TV-Bro浏览器:专为电视遥控器优化的安卓浏览器指南

**TV-Bro** 是一款专为安卓智能电视设计的简易网页浏览器,它特别适配于使用电视遥控器进行操作。这款浏览器具备一系列用户友好的特性,包括对电视遥控器的良好支持、标签页浏览、书签管理、语音搜索、用户代理切换以及内置下载管理器等。它利用Android自带的Web渲染引擎(基于WebKit/Blink),确保了良好的兼容性和性能。项目可在[Google Play商店](https://play.g...

gitblog_00490的博客 3948

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

android电视系统升级,如何对安卓电视机进行固件(软件)升级?

如果电视机已连接到网络,将电视机的“自动检查更新”或“自动软件下载”功能打开,则当有适用的新软件升级推送时,电视机会自动下载。对于2018至2020年发布的如下安卓电视机:• 2020 机型:X8000H, X8500H, X90xxH_X91H, X9500H , Z8H, A8H 系列• 2019 机型:A9G, Z9G, X9500G, X85xxG_U8G系列• 2018 机型:...

weixin_33318722的博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

TV-Bro电视浏览器:安卓智能电视网页浏览终极指南

TV-Bro是一款专为安卓智能电视设计的简易网页浏览器,特别针对电视遥控器操作进行了深度优化。这款浏览器让您能够在大屏幕上享受流畅的网页浏览体验,无需鼠标和键盘,仅凭电视遥控器即可轻松操作。 ## 核心功能特性 TV-Bro电视浏览器具备一系列实用功能,让您的电视上网体验更加便捷: - 完美适配电视遥控器操作,支持方向键和确认键导航 - 标签页浏览功能,支持同时打开多个网页 - 书签管理系统,

gitblog_00226的博客 2559

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

my-tv:装到安卓电视上、开屏就能看的电视直播软件

my-tv 是一款免费的安卓电视直播软件:APK 装好、打开就能看,不用注册账号,也没有会员费。当前版本 v2.1.0,全程遥控器操作、数字键直达选台、支持开机自启,适合安卓智能电视和电视盒子。📺 客厅的机顶盒会员一过期,开机先放三十秒广告,想看的直播反倒打不开。与其续费,不如把 my-tv 拷进电视——装完即播,日常操作全靠遥控器上那几个常用键。 ## 遥控器上到底按哪个键换台 不用研究

gitblog_01048的博客 812
上一篇: Android 嵌套ViewPager实现连贯双滑动
下一篇: Android TV开发经验总结---控件Gridview使用
Derbe
博客等级 码龄15年 27粉丝 6原创
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值