Android TV Study 1-1

VRChat Booth成品世界导入全攻略:从搜索到上线的完整指南 在虚拟社交平台VRChat中,Unity引擎是构建沉浸式3D世界的核心技术基础。其原理在于通过场景、模型、脚本和SDK的整合,创建可交互的虚拟环境。这项技术的核心价值在于大幅降低了高质量3D内容的生产门槛,使得非专业开发者也能参与创作。在应用场景上,它广泛应用于个性化社交空间、游戏厅、艺术画廊和主题场景的快速搭建。本文聚焦于如何利用Booth.pm这一日本同人创作平台,高效获取并部署优质的成品Unity世界项目。通过详解环境配置、依赖管理和上传流程,并结合**赛博朋克都市**、**可视化音乐播放器**等热门 阅读详情
总体和手机端和pad 端的开发是一样的,但是交互的方式是有本质的区别的.


TV apps use the same structure as those for phones and tablets. This approach means you can create new TV apps based on what you already 


know about building apps for Android, or extend your existing apps to also run on TV devices. However, the user interaction model for TV 


is substantially different from phone and tablet devices. In order to make your app successful on TV devices, you must design new 


layouts that can be easily understood from 10 feet away, and provide navigation that works with just a directional pad and a select 


button.




adb connect 192.168.1.102   (192.168.199.102是电视的IP地址)
adb install C:\apk\tv.apk




user experience  用户体验


TV端的开发和手机端的开发很类似,我们可以修改现成的app 让它可以在TV设备上面运行或者重新创建一个app


TV端支持的媒体格式:
See the following documentation for information about the codecs, protocols, and formats supported by Android TV.


Supported Media Formats
DRM
android.drm
ExoPlayer
android.media.MediaPlayer


创建TV 项目:
这里要讲的就是怎么修改现成的项目成TV项目,或者信件一个新的app项目
首先 必须要有一个TV的activity,这个时要运行在tv端的
然后需要TV的支持包.这个是可选的,


前提条件:
电视端的开发有特殊的要求:
Before you begin building apps for TV, you must:


Update your SDK tools to version 24.0.0 or higher 
The updated SDK tools enable you to build and test apps for TV.
Update your SDK with Android 5.0 (API 21) or higher 
The updated platform version provides new APIs for TV apps.
Create or update your app project 
In order to access new APIs for TV devices, you must create a project or modify an existing project that targets Android 5.0 (API level 


21) or higher.


1: SDK Tools 必须要更新到24.0.0或者更高(这样更新后的SDK Tools 可是 使我们在TV上创建和测试app)
2:更新 SDK 到 Android 5.0 也就是API21 或者更高(更新后的 平台版本 提供了新的APIs和TV应用)
3:创建或者更新你的app项目(为了可以在TV设备上面访问新的API,我们必须创建或者修改现成的项目的目标Android 版本为5.0 就是API 21或者更高)


声明一个TV的Activity
一个应用如果想要运行在TV端,必须要声明一个专门给TV的launcher activity,在清单文件中使用CATEGORY_LEANBACK_LAUNCHER 的intent 过滤。
这个过滤表明了你的应用已经可以应用于TV了,同时,也被要求i的应用将会在G哦oglePlay 上面被看作是一个TV应用。
声明这个intent 同时也会表示当用户选择了在TV主界面的图标的时候会运行哪一个activity
<intent-filter>
      <action android:name="android.intent.action.MAIN" />
      <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
    </intent-filter>


注意:如果你没有将CATEGORY_LEANBACK_LAUNCHER intent filter 包含在你的应用中,那么这个应用将不会出现在TV 设备的Google Play 商店中。
同时如果你没有包含这个过滤器filter当你使用开发工具将这个加载到TV设备的时候,这个app 不会出现在TV的用户界面上面。


如果你正在修改一个存在的app让它运行在TV上面,你的app不应该使用和手机端和平板端相同的activity。用户TV应用的界面应该提供一个简单的界面,这


个界面可以通过遥控器(couch)来进行远程的控制。对于开发TV端的app 请查看TV Desing guide。**************,
注意这里有一个TV Design Guide*******。跟多的关于实现TV的界面布局要求请查看Building TV Layouts


声明Leanback 支持
Android TV 需要声明我们的应用使用Leanback 用户界面。
如果你正在开发一个应用,运行在手机端,可穿戴,平板上面,同时也运行在TV上面,那么设置required 属性为false。
如果设置required 属性为true,你的应用将会只运行在使用Leanback UI的设备上面。
<manifest>
    <uses-feature android:name="android.software.leanback"
        android:required="false" />
    ...
</manifest>


声明 touchscreen 不需要not required
需要运行在TV设备上面的应用程序不需要依靠触摸屏幕来进行输入。为了让这个更明确,在清单文件中必须要声明一个 特征feature就是
android.hardware.touchscreen,要声明android.hardware.touchscreen 是not required。这个设置指出了你的应用将要在TV设备上面运行,
同时也是你的应用在Google Play 上面被看作是TV应用的。(也就是说Google Play)会检测应用里面有没有这个属性,如果有这个属性就是TV的应用。
<manifest>
    <uses-feature android:name="android.hardware.touchscreen"
              android:required="false" />
    ...
</manifest>


注意:必须要声明这个属性,不然在Google Play 上面不会显示在TV 应用里面的。


提供一个主界面条幅(banner)
如果一个应用包含了Leanback launcher intent filter 那么这个应用程序必须提供一个主界面条幅给每一个地方。
这个条幅是应用的启动点,这个启动点就是该应用出现在主界面的位置,应用程序和游戏的行列面。
<application
    ...
    android:banner="@drawable/banner" >


    ...
</application>


可以在《application》里面使用android:banner 属性标签来支持一个默认的条幅给应用程序的所有activities,或者在<activity> 标签里面设置一个特


定的activity的属性。
可以在TV design 里面看到这个Banner 相关的内容


改变启动的颜色:
当一个TV 应用启动了,系统会展示一个动画,这个动画里面组装了扩展的圆形,就是我们平时加载的那个吧。
为了自定义这个颜色,可以设置TV 应用的或者activity的android:colorPrimary 属性来指定一个特定的颜色
你也需要设置两个附加的转化重叠属性为true,
<resources>
    <style ... >
      <item name="android:colorPrimary">@color/primary</item>
      <item name="android:windowAllowReturnTransitionOverlap">true</item>
      <item name="android:windowAllowEnterTransitionOverlap">true</item>
    </style>
</resources>




添加TV 支持库
Android SDK 已经包含使用TV 应用的支持库,这些支持库提供了API和用户界面小工具,这些库如下:
v17 leanback library。提供TV应用的用户界面小工具,特别的是那些需要用到媒体playback的应用
v7 recyclerview library。提供了可以管理展示长列表的类 以一个内存高效的方式。同时v17库里面的一些也是需要用到这个库里面的内容的。
v7 cardview library。提供了用户界面小工具来展示消息卡片,例如媒体项的图片和描述。
注意:可以不使用上面的库,但是我们强烈建议使用。


如果你决定使用v17 leanback 库到你的应用中,那么你应该注意这个是依赖v4支持库的。
也就是说应用程序如果使用leanback 支持库 就应该包含
v4 supprt libray
v7 recyclerview support library
v17 leanback support library




v17 leanback 库包含资源,这个资源需要我们进行一些特殊的步骤来弄


创建TV Apps
当你完成了上面描述的步骤偶,现在就可以给TV创建应用了。
Building TV Playback Apps
Helping Users Find Your Content on TV
Building TV Games
Building Live TV Apps


Building TV Playback Apps  TV电视是就是为了娱乐,所以Andoir 提供了一个用户界面工具和小工具集合给创建TV 应用,同时可以播放视频和音乐,让


用户浏览他们想要看的内容
Helping Users Find Your Content on TV  用户的指尖操作的所有键,帮助他们找到他们甘心去的
Building TV Games
Building Live TV Apps













































































































































































Grad-CAM原理解析与医疗图像可解释性实战 Grad-CAM(梯度加权类激活映射)是一种面向卷积神经网络的模型可解释性技术,其核心原理是利用目标类别对最后一层卷积特征图的梯度均值作为权重,加权聚合特征图生成空间定位热力图。相比LIME、SHAP等方法,它无需扰动输入或依赖背景分布,计算高效、语义清晰,特别适用于图像分类任务中的决策依据可视化。在AI医疗、工业质检等高可信场景中,Grad-CAM能直观揭示模型关注区域,辅助验证数据质量、调试特征学习效果,并支撑临床决策信任建立。本文聚焦Grad-CAM的技术本质、PyTorch手写实现、多架构适配(Re 阅读详情

相关推荐

【信息科学与工程学】计算机科学与自动化——第一百五十五篇 缓存系统设计06

字段详细内容编号​B1类型​PaaS + MaaS(基于微服务 + 事件溯源 + CQRS + 国产化组件:鲲鹏CPU + 昇腾GPU + TiDB + Ceph国产版 + Kafka国产版 + 东方通中间件 + 华为云CDN + WebSocket + QUIC)问题​微服务 + 事件溯源 + 鲲鹏920 + 昇腾910 + TiDB + Ceph(XSKY)+ 国产Kafka + WebSocket + QUIC 电-热-力耦合:如何支持单个超大客户(10亿注册用户,5亿日活),每秒1亿条消息 + 10

weixin_49199313的博客 843

Android hardware按键触感功能实现

Android hardware按键触感功能实现 笔者在最近一个项目中遇到一个问题就是客户要求硬件的几个key需要在触感功能打开的情况下使用有触感,android对于key是不做触感的,就是没有震动的。 办法还是有的,感觉好别扭,把key转化成虚拟按键的坐标报上去就可以了。    现在ctp上大多都有几个触摸键,可是客户选择的ctp为了降低成本统一结构,没有这几个键,而是用另外一个

Edsam--活到老学到老,掌握核心技术,做好产品服务! 3961

DESeq2差异分析结果不会看?用这个R脚本5分钟生成发表级火山图和热图

本文详细介绍了如何使用R语言快速可视化DESeq2差异分析结果,5分钟内生成可直接用于论文发表的火山图和热图。通过解析DESeq2数据结构、展示ggplot2和EnhancedVolcano包的绘图技巧,以及pheatmap包的热图定制方法,帮助研究者高效呈现差异表达基因分析结果。

weixin_30326515的博客 340

Android 的一些功能开关配置

一些常用的开关 Config.xml 路径指向位置为framework/base/core/res/res/valuse/configs.xml 最近因为要移除通话相关的模块。除了改改字符串这些的,有些东西用一些value配置了 。所以如果需要移除通话,短信这块的UI显示还有功能相关的。找了找几个简单的做了一个汇总 <string-array translatable="false" name="networkAttributes"> <item>"wi...

成功不必在我,而功力必不唐捐! 1311

夸克缓存视频合并小工具

原理 使用windows的命令行的copy命令来合并 copy /b 0+1+2+3 new.ts 分析缓存目录结构,发现都是一个m3u8文件带一个同名文件夹 所以分析m3u8并把原来的路径换成这个缓存文件夹路径并按顺序合并即可。 其中碰到的难点是Qprocess在windows不好使,索性直接存成.bat批处理文件再执行 还有就是中文问题,具体在代码里都说了。 代码 (环境Qt5.7.0) 这是mainwindow.h #ifndef MAINWINDOW_H #defin.

natural_Caduceus 1万+

电赛综合测评题练习(一)-(与2013年电赛综合测评要求类似)

电赛综合测评题练习 文章目录电赛综合测评题练习前言1. 波形发生器1.1 题目说明1.1.1 可用器件1.1.2 设计要求1.1.3 设计方案论证1.2 仿真电路设计1.2.1 脉冲波发生器电路1.2.1.1 方案介绍1.2.1.2 理论分析与计算1.2.1.3 电路系统设计1.2.1.4 仿真方案与仿真测试结果1.2.2 锯齿波电路1.2.2.1 理论分析与计算1.2.2.2 电路系统设计1.2.2.3 仿真方案与仿真测试结果1.2.3 正弦波I电路1.2.3.1 理论分析与计算1.2.3.2 电路系

daydayup!的博客 3万+

android TV 开发规范

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

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

emqx Java 订阅以及发送 结合若依框架

emqx Java 订阅以及发送 结合若依框架

Spo的博客 1613

touchscreen属性与焦点(actionabr/toolbar )

现在越来越多的功能机是采用android系统来做的,因为是按键机,所以有很多地方需要调整。 比如本文说的部分机器可能希望,actionbar/toolbar无法获取焦点,觉得按键机有menu建,没必要让actionbar/toolbar上面的menu按钮再获取焦点了。 正文: 1.google定义:touchscreen frameworks/base/core/res/res/v

shi_xin的专栏 7179

FPGA远程升级必备:STARTUPE2原语控制Flash的避坑指南

本文深入解析了FPGA远程升级中STARTUPE2原语的核心价值与配置策略,详细介绍了其在QSPI Flash接口设计中的应用。通过Vivado工具和原语控制,开发者可以高效实现安全可靠的远程固件升级,提升系统稳定性和升级效率。

k8l9m0n的博客 398

轨道平面系与轨道姿态系

文章摘要: 轨道平面系与轨道姿态系是航天任务中两个核心坐标系。轨道平面系(惯性系)以地心为原点,Z轴沿轨道角动量方向,用于轨道确定和机动规划;轨道姿态系(如LVLH系)以航天器质心为原点,Z轴指向地心,用于姿态控制和对地观测。两者通过旋转矩阵相互转换:轨道平面系基于轨道根数构建,保持静态;而LVLH系随轨道运动连续旋转。前者适用于全局轨道分析,后者支撑局部任务执行。理解二者的定义差异(原点、基准轴、惯性属性)及数学转换关系,对航天器姿态轨道控制系统的设计与操作至关重要。

ScilogyHunter的博客 88

Android rom开发:GMS xml属性详解

众所周知,google play store存在根据apk的所使用到的功能来过滤的机制,这个机制会控制在不同的硬件设备上显示的apk数量。在盒子开发上,很多硬件功能没有,比如说:摄像头、加速度传感器、指南针、陀螺仪等等。如果不添加相应的属性在gms中的话,play store商店里面很多apk就无法显示。针对这些硬件属性,特有此博客。 硬件功能 指出应用使用或需要某项硬件功能,请在 and...

Android 5705

无线充电Qi协议正向通信FSK的解调设计

常见的FSK解调方法是使用频率锁相环(PLL)来跟踪输入信号中的频率变化。PLL根据输入信号的频率变化来生成数字信号,从而实现FSK信号的解调。本文将详细介绍无线充电Qi协议正向通信FSK的解调设计,并提供相应的源代码。在上述示例代码中,我们首先定义了FSK解调的参数,包括采样率、载波频率、每个比特的持续时间和比特判定阈值。最后,通过比较滤波后的信号与比特判定阈值,我们将解调后的数字数据转换为0和1的序列。请注意,上述代码仅为示例,实际的解调设计可能需要根据具体的应用场景和系统要求进行调整和优化。

IunScala的博客 2444

Tv Develop of Android TIF Study

The article is mainly recording the following skills –>Android TIF code Structure and flow –>How to use TIF in Tv App References: http://blog.csdn.net/wangmxe/article/details/50528682

gonghuixue的博客 1505

SAP Fiori Launchpad 上看不到任何 tile 应该怎么办?

中心UI组件是一个框架,为所有SAPFiori应用程序提供公共基础设施SAPFiorilaunchpad是所有SAPFioriUI的基础,并为SAPFiori应用程序提供基本功能,如登录,界面大小,应用程序之间的导航,和基于角色的应用程序目录。ABAP前端服务器包含所有基础设施组件,用于为客户端生成SAPFiori应用程序特定的UI,并与SAPBusinessSuite后端系统通信。SAPFiori应用程序的处理过程如下首先,客户端加载SAPFiori应用程序的界面。...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 942

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

安卓study

arrayadapter+simpleadapterpublic class MainActivity extends Activity { private ListView list;//视图,即为电视屏幕 private ArrayAdapter<String> arradapter;//数据适配器,适用于数组+集合,即为无线 private SimpleAdapter

暴走的二萌 826

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Android——The application study has stopped unexpectedly

新手第一天,创建一个简单的工程,点击按钮改变文本背景颜色,遇到了尼玛一大堆问题,总结一下。  1、在添加按钮监听事件的时候,提示:  1)、类型 View 中的方法 setOnClickListener(View.OnClickListener)对于参数(new OnClickListener(){})不适用  2)、OnClickListener 无法解析为类型  3)、类型为

968

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Android Study 之玩转高德地图一部曲[实现显示地图以及定位功能]

LZ-Says:今天突然看到之前写的一篇博文被推荐首页,心里瞬间美滋滋的,可惜那时候忙,没来的急看,不过还是从心里感谢,感谢大家的认可~ 让我们一起玩转Android吧~ 前言今天,我们一起来聊聊有关地图方面的内容吧。目前比较好的地图第三方分别如下: 百度地图 API地址:http://lbsyun.baidu.com/ ; 高德地图 API地址:http://lbs.am

静心 Study 4460

自动化:Python、windows、安卓、网页、rpa、autojs、firerpa(抓包逆向ai)

通过VS安装一步到位更省事。如果这个环境变量是空的,uiautomator 将返回 connect_usb,您需要确保只有一个设备连接到计算机。然后就会自动安装库所需要的设备端程序:uiautomator-server,atx-agent,openstf / minicap,openstf / minitouch。因为 run_main 执行的时候,是打印所有用例文件+名称,而通过测试套件 添加 类名称时,执行方式不一样。也可以使用pyautogui库帮助文档的方法,不过本人认为使用上面的方法,更加便利。

freeking101的博客 2万+

基于Eclipse的Android应用开发实战:从MVC架构到完整项目构建

Android应用开发的核心在于理解其架构模式与工程化实践。经典的MVC(Model-View-Controller)架构清晰地分离了数据、界面与逻辑,为应用的可维护性奠定了基础。通过模块化设计与异步处理机制,开发者能够构建响应迅速、用户体验良好的应用。在工程实践中,数据持久化方案如SQLite数据库与SharedPreferences,以及多媒体处理如VideoView的视频播放,是实现核心功能的关键技术。这些技术共同支撑了在线教育、内容消费等复杂场景的应用开发。本文以“博学谷”这一综合性学习应用为例,详

weixin_30628801的博客 308

从TradingView MCP到Jackson:这个AI交易助手究竟有哪些重大升级?

在AI辅助交易工具的世界里,TradingView MCP Jackson正以其革命性的升级成为交易者的新宠。这个基于原始tradingview-mcp项目的改进版本,不仅仅是一个简单的分支,而是为交易者提供了一套完整的AI驱动交易分析解决方案。通过81个MCP工具的强大组合,Jackson版本将日常交易分析从繁琐的手动操作转变为智能化的自动化流程。 ## 🚀 核心升级:从工具集到智能工作流

gitblog_00971的博客 448

猫抓 Cat-Catch 源码拆解:webRequest 看不见的媒体资源,它是怎么抓住的

猫抓(cat-catch)是一款浏览器资源嗅探扩展,核心能力是边浏览边把页面里的视频、音频、M3U8/MPD 流媒体"闻"出来,再交给内置解析器做切片下载、解密合并、转码输出。本文基于仓库 2.7.4 版本(manifest.json 与 CHANGELOG.md 同版本号)的真实代码,拆解一条资源从网络请求到 popup 列表再到落盘的完整数据链路,以及 Service Worker 保活、存储

gitblog_00489的博客 974

Firepwd完全指南:如何解密Mozilla浏览器保护的密码

Firepwd是一款功能强大的开源工具,专门用于解密Mozilla浏览器(如Firefox)和Thunderbird邮件客户端中保护的密码。它通过分析key4.db(或key3.db)和logins.json(或signons.sqlite)文件的内容,帮助用户轻松获取存储的登录凭证,整个过程无需依赖NSS库,仅使用Python即可实现。 ## 📋 支持的版本范围 Firepwd支持多种Mo

gitblog_00359的博客 304

深度解析:如何用XiaoMusic开源项目彻底解放小爱音箱的音乐播放能力

还在为小爱音箱的音乐版权限制而烦恼吗?是否厌倦了付费会员才能听的完整歌曲?今天我们将深度解析一个革命性的开源项目——XiaoMusic,它能让你的小爱音箱变身全能音乐控制中心,彻底解决传统智能音箱的音乐播放痛点。XiaoMusic是一个基于Python和FastAPI构建的开源音乐服务器,通过智能语音控制集成、本地音乐库管理和在线音乐下载功能,为用户提供完全自由的小爱音箱音乐播放体验。 ## 技

gitblog_00008的博客 471

国产手机硬件破局:从射频、电源到自研芯片的十大硬核技术方向

在智能手机硬件领域,系统级芯片(SoC)与射频前端(RFFE)是决定设备性能与通信能力的核心技术基石。SoC通过高度集成CPU、GPU、NPU等处理单元,实现了计算效率的飞跃;而RFFE则负责无线信号的收发与处理,其性能直接影响网络连接质量与功耗。这些底层技术的价值在于,它们共同构成了现代智能设备的体验基础,从流畅的操作、清晰的通话到高速的网络连接。随着5G、物联网和人工智能应用的普及,对硬件能效、集成度与定制化的要求日益提升,这推动了计算摄影、无线充电、屏下传感器等创新场景的落地。本文聚焦于国产智能手机如

weixin_30603633的博客 320

Java学习笔记--汇总

*在校学生有属性:姓名、年龄、身高、体重。行为:学习。实现以下需求要求 1:大一新生,张三,18 岁,183cm,60kg,刚进大学努力学习。要求 2:大二期间张三体重增加了 10kg要求 3:大三期间张三减肥成功,身高增加 2cm,体重减少 3kg要求 4:打印大学毕业之后,张三的所有信息* *///属性//姓名//年龄//身高//体重//get/set方法//姓名name=value;//年龄age=value;return age;//身高//体重。

m0_67307574的博客 530
上一篇: Android TV -5.3- Managing User Interaction
下一篇: Android TV Studuy1-2
千雅爸爸
博客等级 码龄18年 292粉丝 639原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值