腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
Android技术专栏
专栏成员
举报
47
文章
21664
阅读量
14
订阅数
订阅专栏
申请加入专栏
全部文章(47)
数据(22)
函数(16)
存储(9)
android(8)
音频(8)
数组(7)
变量(6)
视频(6)
编码(5)
程序(5)
对象(5)
frame(4)
编译(4)
接口(4)
渲染(3)
kotlin(3)
codec(3)
ffmpeg(3)
jni(3)
mp3(3)
架构(3)
开发(3)
系统(3)
线程(3)
协程(3)
音视频(3)
java(2)
数据库(2)
es(2)
cmake(2)
dst(2)
layout(2)
mp4(2)
native(2)
ndk(2)
return(2)
编程(2)
布局(2)
基础(2)
配置(2)
生命周期(2)
网络(2)
作用域(2)
c++(1)
opengl(1)
打包(1)
容器(1)
游戏(1)
center(1)
config(1)
file(1)
filter(1)
header(1)
height(1)
input(1)
jetpack(1)
libraries(1)
lifecycle(1)
mvvm(1)
navigation(1)
null(1)
offset(1)
okhttp(1)
output(1)
paging(1)
private(1)
public(1)
retrofit(1)
sample(1)
stream(1)
time(1)
using(1)
viewmodel(1)
width(1)
插件(1)
二进制(1)
服务器(1)
工程师(1)
工作(1)
管理(1)
后台(1)
解决方案(1)
开发者(1)
框架(1)
量化(1)
模型(1)
内存(1)
内存泄漏(1)
权限(1)
入门(1)
事件(1)
手机(1)
性能(1)
虚拟机(1)
源码(1)
指针(1)
注解(1)
字符串(1)
搜索文章
搜索
搜索
关闭
在Activity中测量控件宽高的三种方式
height
width
布局
对象
后台
(1)重写onWindowFocusChanged(hasFocus: Boolean)方法,在这个方法内获取控件的宽高
故乡的樱花开了
2024-09-25
151
0
如何渲染最原始的yuv视频数据?
渲染
存储
视频
数据
数组
我们在用纹理增加细节那篇文章中提到过,要将图片渲染在屏幕上,首先要拿到图片的像素数组数据,然后将像素数组数据通过纹理单元传递到片段着色器中,最后通过纹理采样函数将纹理中对应坐标的颜色值采样出来,然后给最终的片段赋予颜色值。现在换成了yuv视频,我们应该如何处理呢?因为最终的片段颜色值是RGBA格式的,而我们的视频是YUV格式的,所以我们需要做一个转化:即将YUV转化为RGBA。
故乡的樱花开了
2024-02-27
245
0
在Android开发中如何使用OpenSL ES库播放解码后的pcm音频文件?
android
es
接口
开发
音频
OpenSL ES的全称是Open Sound Library For Embedded Systems,即应用于嵌入式系统的开源音频库。Android从2.3版本起就开始支持OpenSL ES标准了,并且通过NDK提供相应的API开发接口。OpenSL ES有以下特性:
故乡的樱花开了
2024-02-23
225
0
对yuv存储格式中的yuv420p和yuv420sp的理解
编码
系统
打包
存储
yuv是一种颜色编码系统,它将图像的亮度和色度分离开来。y表示亮度,即黑白信息;uv表示色度,即颜色信息。yuv常用于视频压缩和传输中,因为它可以更有效地表示人眼对亮度和色度的敏感度不同的特性。人眼对亮度更加敏感,而对色度则不那么敏感。这就是为什么在视频压缩中,可以通过减少色度分量的采样率以减少数据量,而不会对观看体验产生明显的影响。
故乡的樱花开了
2024-02-23
2.9K
0
构建简单物体
数据
存储
center
private
函数
我们的空气曲棍球游戏已经取得了很大的进展,桌子已经放到了一个很好的角度,并且由于使用了纹理,更加好看了。然而,我们现在是用的点去代替木槌,它们实际看起来还不像木槌,许多应用都是通过合并简单的物体去构建更复杂的物体,我们在这篇文章中将学会如何绘制木槌以及桌子中间的冰球。
故乡的樱花开了
2024-02-08
96
0
用纹理增加细节
数据
存储
程序
对象
函数
OpenGL中的纹理可以用来表示照片,图像。每个二维的纹理都由许多小的纹理元素组成,他们是小块的数据,类似于我们前面讨论的片段和像素。要使用纹理,最直接的方式是从图像文件加载数据。我们现在要加载下面这副图像作为空气曲棍球桌子的表面纹理:
故乡的樱花开了
2024-02-05
119
0
进入三维
存储
变量
程序
函数
模型
想象一下,你在游戏厅和朋友玩空气曲棍球游戏,从你的视角看,空气曲棍球桌是什么样的?你的那一端桌子会显得较大,因为你是从一个角度向下看桌子的,而不是俯视桌子,我们在上一篇文章中所写的程序就是俯视视角下的,在这片文章中,我们将走进三维,让绘制的桌子更符合实际的视角。
故乡的樱花开了
2024-02-04
128
0
调整屏幕的宽高比
渲染
存储
程序
函数
数组
我们将上一篇文章中写的应用程序再次运行起来,然后将屏幕横过来,我们会发现空气曲棍球的桌子被压扁了。这之所以会发生,是因为我们没有考虑屏幕的宽高比,直接将坐标传递给了OpenGL。在这片文章中,我们会弄清楚为什么桌子被压扁了,以及如何使用投影解决这个问题。
故乡的樱花开了
2024-02-03
168
0
增加颜色和着色
变量
函数
基础
数据
数组
我们已经知道,在OpenGL中,我们只能画点,直线和三角形,并且所有物体都是以他们为基础构建的。既然受限于这三个基本图元,那么我们如何用许多不同的颜色和着色表达更复杂的场景呢?我们能使用的一个方法就是使用上百万个小三角形,每个三角形的颜色都不同,这样就可以看到一副美丽,复杂,有丰富颜色变化的场景。尽管,这在技术上是可行的,但性能和内存的开销是十分庞大的。所以,OpenGL提供了另外一种技术,平滑着色。举例来说,就是有一个三角形,每个顶点的颜色都是不同的,我们可以在三角形表面混合这些颜色,最终得到一个平滑着色的三角形。我们要使用这种类型的着色让桌子中央更加明亮,而桌子的边缘显得比较暗淡。
故乡的樱花开了
2024-02-02
134
0
编译着色器并在屏幕上绘图
程序
对象
数据
数组
编译
本篇文章会继续上一篇文章开始的工作,在这篇文章中,我们首先会加载并编译前面定义的着色器,然后把他们链接在一起放在OpenGL的一个程序里,接下来就可以使用这个着色器程序在屏幕上绘制空气曲棍球桌子结构了。
故乡的樱花开了
2024-02-01
180
0
定义顶点和着色器
游戏
变量
内存
数据
虚拟机
在这里,我会通过一个空气曲棍球游戏来一步步介绍OpenGL ES 3.0的相关内容。空气曲棍球游戏的规则是:我们首先需要一个有两个球门的长方形桌子,一个冰球和两个用来击打冰球的木槌;在每个回合开始前,冰球都会放在桌子的中间,每个玩家要尽力把冰球击进对方的球门,同时要防御对方的进攻,每进一球得一分,获得7分后就意味着该玩家获得了游戏的胜利。
故乡的樱花开了
2024-01-18
173
0
怎么在Android项目中导入ffmpeg库?
android
cmake
ffmpeg
编译
架构
在这里我以导入静态库(.a)为例进行分析,动态库(.so)是类似的。在导入前,各位要先编译好ffmpeg库,需要注意的是在编译的时候要开启交叉编译,目标平台为Android,其他平台的库(windows,linux)在Android平台使用不了,我这里编译的是armeabi-v7a架构的库。
故乡的樱花开了
2023-12-13
375
0
Android OpenGL ES入门
android
opengl
渲染
es
入门
OpenGL(Open Graphics Library)是一种用于渲染2D和3D图形的跨平台编程接口。OpenGL提供了一套标准的函数和接口,使开发人员能够在各种操作系统上创建高性能的图形应用程序,这些操作系统包括Windows、Linux、macOS和一些嵌入式系统。OpenGL ES(OpenGL for Embedded Systems)是OpenGL的嵌入式系统版本,专门设计用于移动设备、嵌入式系统和其他资源受限的环境。与标准的OpenGL相比,OpenGL ES经过精简和优化,以适应移动设备和嵌入式系统的硬件和性能要求。
故乡的樱花开了
2023-12-06
360
0
Kotlin协程系列(三)
kotlin
函数
框架
线程
协程
前面两节,我们运用了kotlin提供的简单协程去实现了一套更易用的复合协程,这些基本上是以官方协程框架为范本进行设计和实现的。虽然我们还没有直接接触kotlin官方协程框架,但对它的绝大多数功能已经了如指掌了。本节,我们来探讨一下官方协程框架的更多功能,并将其运用到实际的生产当中,在这里,我以在Android中使用kotlin官方协程框架为例进行讲述。
故乡的樱花开了
2023-12-02
273
0
Android的内部存储和外部存储怎么区分?
android
存储
权限
手机
数据
内部存储:内部存储位于Android手机系统的data/data/<包名>这个目录下,内部存储是私有的,主要用于存储系统和应用程序的某些数据,对于其他应用程序来说是不可见的,并且会随着应用程序的卸载而被删除。
故乡的樱花开了
2023-11-30
789
0
Kotlin协程系列(二)
kotlin
函数
线程
协程
作用域
在进行业务开发时,我们通常会基于官方的协程框架(kotlinx.coroutines)来运用Kotlin协程优化异步逻辑,不过这个框架过于庞大和复杂,如果直接接触它容易被劝退。所以,为了我们在后续的学习中游刃有余,在使用官方给出的复合协程时能够胸有成竹,我们暂且抛开它,按照它的思路实现一个轻量版的协程框架。
故乡的樱花开了
2023-11-28
258
0
Kotlin协程系列(一)
kotlin
函数
线程
协程
作用域
最近看了一本有关kotlin协程的书籍,对协程又有了不一样的了解,所以准备写一个关于kotlin协程系列的文章。
故乡的樱花开了
2023-11-24
235
0
JNI编程之java层和native层的数组数据的交互
java
jni
编程
数据
数组
JNI中的数组类型分为基本类型数组和引用类型数组,他们的处理方式是不一样的。基本类型数组中的元素都是jni基本数据类型,可以直接访问;但是引用类型的数组中的元素是一个类的实例,不能直接访问,需要使用jni中的函数进行访问。
故乡的樱花开了
2023-10-22
281
0
JNI编程之字符串处理
jni
编程
编码
数组
字符串
java中的字符串类型是String,对应的jni类型是jstring,由于jstring是引用类型,所以我们不能像基本数据类型那样去使用它,我们需要使用JNIEnv中的函数去处理jstring,下面介绍一些常用的字符串处理函数。
故乡的樱花开了
2023-10-22
439
0
ndk开发之native层访问java层
java
native
ndk
变量
开发
java层的成员变量可以分为实例变量和静态变量,不过他们的访问方法比较类似,可以分为以下三步:
故乡的樱花开了
2023-10-22
251
0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档