自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bjxiaxueliang的CODING技术小馆

技术分享为主,Android、OpenGLES、Vulkan等领域学习笔记与经验总结,也会不定期分享对技术行业前景的思考和分析。

  • 博客(101)
  • 资源 (41)
  • 问答 (1)
  • 收藏
  • 关注

翻译 facebook Android平台上动态列表的内存优化(Memory optimization for feeds on Android)

facebook Android平台上动态列表的内存优化(Memory optimization for feeds on Android)英文原文地址Memory optimization for feeds on AndroidMillions of people use Facebook on Android devices every day, scrolling through News

2017-05-25 16:28:50 1724

原创 一文详解OpenGL ES矩阵变换:三维空间中的旋转、平移和缩放

在OpenGL ES中,三维空间中模型的平移、缩放和旋转操作,通常通过矩阵(4x4矩阵)变换来实现,从而改变3D模型对象的位置、大小和方向。矩阵变换是一种常见的计算机图形学技术,广泛应用于游戏、仿真和可视化等领域。通过矩阵变换,甚至可以将一个模型从其本地坐标系转换到世界坐标系,再从世界坐标系转换到视图坐标系,最终投影呈现在屏幕上。

2017-05-22 10:57:40 751

原创 一文学会 Opengl ES中YUV420与RGB转化

2014年曾经做过一款类似当今“抖音”的短视频软件,叫“魔力秀”。可以说和现在的抖音基本是一样的,但因为“魔力秀”出生过早,加上投资人不看好,注定无法成长为一棵参天大树,最终只发了一个版本就结束了。当时“魔力秀App”的视频回显模块是我设计实现的,所以就有了这篇文章。事过多年,将这篇文章拿出来整理,因为这项技术依然不过时,反而被广泛应用...

2017-05-22 10:50:49 8598

原创 一文学会 PC搭建opengl es C++开发环境

win7下VS2013搭建opengl es 2.0的C++开发环境@(预发布)[Opengl es]文章参考: http://codingnow.cn/opengles/1501.html1. 下载AMD的OpenGL ES2.0的模拟器,下载地址:http://www.opengles-book.com/ESEmulator.2009-04-28-v1.4.APRIL_2009_RELEASE

2017-05-22 10:33:25 3659

原创 一文详解 利用LinkedHashMap实现Lru机制

Android中的LRU采用什么机制实现的? 通过这篇文章我们一起进行分析。

2017-05-22 10:22:20 2115 2

原创 一文详解 HashMap 实现原理

HashMap对于程序员来说并不陌生,无论是Java还是Android研发人员,HashMap都是日常广泛使用的数据结构,通过这篇文章探究一下其具体实现原理。

2017-05-22 10:16:22 1895

原创 Android APP架构思考

从2011年到现在,做了几年的Android应用与Android平台上Opengl es应用开发,下面是关于Android APP开发架构的一些思考:构建框架的最终目的是增强项目代码的可读性 ,维护性 和方便测试 ,如果背离了这个初衷,为了使用而使用,最终是得不偿失的。从根本上来讲,要解决上述的三个问题,核心思想无非两种:一个是分层 ,一个是模块化 。两个方法最终要实现的就是解耦,分层讲的是纵向层面

2017-05-21 09:16:02 4203 2

原创 Android MVC MVP MVVM

原文地址: Android MVVM到底是啥?看完就明白了MVCMVC 我们都知道,模型——视图——控制器。 为了使得程序的各个部分分离降低耦合性,我们对代码的结构进行了划分。 他们的通信方式也如上图所示,即View层触发操作通知到业务层完成逻辑处理,业务层完成业务逻辑之后通知Model层更新数据,数据更新完之后通知View层展现。在实际运用中人们发现View和Model之间的依赖还是太强,希

2017-05-21 08:54:30 1309

原创 一文总结 Android屏幕适配

这里所说的“屏幕适配”指的是:不同屏幕分辨率,不同物理尺寸的适配。如果屏幕分辨率相同,那么直接写死像素PX就OK了;如果物理尺寸相同,那么直接按照物理尺寸大小,写好dp就OK了;今天这里介绍的适配,为一种*妥协的适配方案*:存在一种或者几种最适的分辨率或者物理尺寸,其他分辨率或者物理尺寸的屏幕为次适应。

2017-05-20 08:17:27 1008

原创 一文学会 MediaCodeC与OpenGL录制mp4视频

之前遇到这样一个需求,要求将`Camera`采集的数据通过`硬编码`录制`生成一个mp4`,录制视频过程中还要求`实时回显Camera画面`。当然需求的原话肯定不是这样描述的,这是我以一个技术人员的角度理解后的需求。

2017-05-19 15:16:17 5642 2

原创 Android Q(Android 10 API 29)适配指南——Scoped Storage in Android 10

从Android 10开始,即便应用请求了WRITE_EXTERNAL_STORAGE权限,其对全局外部存储的访问也受到限制,鼓励开发者采用Scoped Storage的新规范来保护用户隐私和数据安全。如果应用需要更广泛的访问权限,需要请求MANAGE_EXTERNAL_STORAGE权限来访问用户选择的文件和目录,由于此权限的强大访问能力,Google Play会对申请使用该权限的应用进行严格审查,确保应用的用途正当且必要。

2017-05-19 14:51:17 1686

原创 一文详解 Android asynctask实现原理(二)

一、先从AsyncTask的构造方法中WorkerRunnable开始:1、构造方法源码如下:public AsyncTask() { mWorker = new WorkerRunnable<Params, Result>() { public Result call() throws Exception { mTaskInv

2017-05-18 10:30:05 512

原创 Android代码覆盖率——使用Ant+Emma+Junit收集代码覆盖率

完成Android项目相关代码研发后,有时要求进行代码覆盖率测试,这里提出一种解决方案。

2017-05-18 10:06:35 1833

原创 FaceBook出品的LongArraySet与IntArraySet

代码来自facebook的以下连接地址(鉴于打开要翻墙,所以代码拷贝到这里): https://code.facebook.com/posts/973222319439596对于这两个类的由来,可参考以下文章: http://blog.csdn.net/xiaxl/article/details/72730795LongArraySetimport android.support.v4.util

2017-05-25 16:41:23 786

原创 Android主进程判断

Android主进程判断 /** * 包名判断是否为主进程 * * @param context * @return */ public static boolean isMainProcess(Context context) { return context.getPackageName().equals(getPr

2017-05-24 14:38:12 4077 3

原创 Windows定时关机

Windows定时关机两个小时后关机shutdown -s -t 7200取消shutdown关机命令shutdown -a

2017-05-22 17:35:00 693

原创 Android HanziToPinyin.java

Android HanziToPinyin.java参考:汉字 Unicode 编码范围 Unicode字符编码—就这么回事 利用Android源码,轻松实现汉字转拼音功能HanziToPinyin.java来源HanziToPinyin.java来自Android 4.2.2系统源码 Ps:从Android4.3开始,HanziToPinyin不再独立使用使用方式:ArrayList<Han

2017-05-22 15:12:49 934

转载 Android微信智能心跳方案

转自:Android微信智能心跳方案收获:我觉得我们的推送和轮训是不是可以借鉴:1、把mqtt与轮询作为推送模块统一管理2、心跳半小时后主动断开心跳,重新建立连接3、心跳周期是不是可以延长到4.5分 、4、轮训周期是否可以1分到1小时5、网络变化时,重新建立连接6、连续失败5次才算失败前言:在13年11月中旬时,因为基础组件组人手紧张,L...

2017-05-22 11:05:31 1205

原创 android中批量处理dimens.xml的工具

android中批量处理dimens.xml的工具@(预发布)[java代码, Java代码]android中批量处理dimens.xml的工具 取出一段字符中的Int或者Float,乘除1.5倍,生成新的字符串(工具)代码地址: https://github.com/xiaxveliang/JavaTool_AndroidDimen运行效果 点击“乘1.5”按钮后的运行效果下面是java代码

2017-05-22 10:30:45 1048

原创 Java Json格式化工具

Java Json格式化工具Java 实现Json格式化工具代码地址: https://github.com/xiaxveliang/JavaTool_JsonValidate运行效果 点击“乘1.5”按钮后的运行效果

2017-05-22 10:28:47 1872

原创 Java 冒泡排序

冒泡排序算法的运作如下:1、比较相邻的元素。如果第一个比第二个大,就交换他们两个。2、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。3、针对所有的元素重复以上的步骤,除了最后一个。4、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。冒泡排序的过程图: public class Test { public s

2017-05-22 10:14:13 418

转载 深入解析Java中volatile关键字的作用

深入解析Java中volatile关键字的作用转自: http://www.jb51.net/article/41185.htmJava语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronized 和 块语句,在...

2017-05-22 10:12:31 445

原创 Java xml格式化工具

Java xml格式化工具Java 实现xml格式化工具代码地址: https://github.com/xiaxveliang/JavaTool_XmlValidate运行效果点击“乘1.5”按钮后的运行效果

2017-05-22 10:11:07 2552 2

原创 msconfig设置windows启动项

msconfig设置windows启动项

2017-05-22 10:08:15 2793

原创 control.exe进入windows控制面板

control.exe进入windows控制面板

2017-05-22 10:07:08 3381

原创 dxdiag windows硬件检测

dxdiag windows硬件检测

2017-05-22 10:04:21 2177

原创 ctfmon.exe windows输入法无法启动

ctfmon.exe windows输入法无法启动时,输入该命令

2017-05-22 10:02:14 7625

原创 android gradle两种多渠道打包方式

android gradle两种多渠道打包方式gradle多渠道打包,目前已经了解到的有两种方式: + 一种是利用gradle的manifestPlaceholders属性来替换渠道值 + 另一种是不同的渠道包打不同的资源一、利用gradle的manifestPlaceholders属性来替换渠道值1、渠道信息一般在 AndroidManifest.xml中:<application

2017-05-22 09:59:51 1113

原创 android gradle多渠道打包不同资源

android gradle多渠道打包不同资源若感觉不够详细,可参考: http://xiaxveliang.blog.163.com/blog/static/2970803420160275356126/一、build.gradleapply plugin: 'com.android.application'android { compileSdkVersion 23 build

2017-05-22 09:56:33 1019

原创 android shape

android shape圆角矩形<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:bottomLeftRadius="20px" android:bottomRi

2017-05-21 09:39:19 492

原创 android 更改TextView部分字体颜色、大小、背景

android 更改TextView部分字体颜色、大小、背景一、效果图二、工具类TextColorHelper.javapublic class TextColorHelper { /** * 更改TextView某一段字体的颜色值 * * @param context * @param text * @param subTextArray

2017-05-21 09:38:24 5905 3

原创 解决gitk命令中文注释乱码

windows下“gitk代码中文注释乱码”第一种方式windows下“gitk代码中文注释乱码” ,可执行以下命令:git config --global gui.encoding utf-8第二种方式更改git gui 设置

2017-05-21 09:37:01 1704

原创 Git Push 避免重复输入用户名密码

输入密码后,在git bash终端, 输入如下命令:git config --global credential.helper store

2017-05-21 09:35:22 499

原创 adb shell screenrecord 录屏命令

// 录制屏幕adb shell screenrecord --size 540x960 /sdcard/demo.mp4// 从sdcard中取出adb pull /sdcard/demo.mp4//然后用QQ影音的gif截取 截取gif

2017-05-21 09:32:39 1452

原创 Git checkout -b branchName 新建分支

git checkout -b branchName 创建分支

2017-05-21 09:30:04 546

原创 Git 常用命令和常见使用错误

Git 常用命令和常见使用错误

2017-05-21 09:27:54 420

原创 git tag 打标签

Git添加TAG

2017-05-21 09:26:06 717

原创 [APK签名] Keytool 生成 Android 签名文件

android命令行生成签名文件

2017-05-21 09:23:54 1783

原创 [抓日志] android adb logcat 抓日志

1、log存入文件或者sdcard中:2、打印TAG为“xiaxl”,“-d”、“-i”、“-e”、“-v”级别的全部log输出:3、清空之前的log输出:4、使用“grep”匹配字符(这一点还不是很清楚)

2017-05-21 09:11:45 696

原创 ADB server did not ACK

出现“ADB server did not ACK”一般是“5037”端口被占用 命令行,显示,PID为3532的进程占用了5037端口 经查“tadb”是腾讯软件连接安卓设备的驱动进程,杀掉该进程,即可以进行adb连接

2017-05-21 09:04:49 1254

Android端 网易公开课3D动画勋章 实现源码

Android端 网易公开课3D动画勋章 实现源码,使用OpenGL ES 2.0加载、展示3dmax导出的obj、mtl勋章文件,通过自定义的openel 动画引擎,进行3D勋章的动画展示。

2021-11-02

SIMalliance_OpenMobileAPI2_02.rar

Android于Android 9.0 引入了OMAPI相关实现,这篇文章是关于OMAPI的架构实现、API使用介绍实现文档。 Sim Alliance组织提供了一个标准接口规范Open Mobile API specification,使手机上层应用可以访问手机端不同的Secure Elements。

2021-07-30

Android tcpdump

Android tcpdump Version 4.9.3 / 1.9.1.

2020-10-14

capture.pcap

使用tcpdump抓包工具,抓包“https get请求百度主页”,生成的capture.pcap文件。 该文件可用wireshark打开,查看和学习 DNS解析步骤、TCP三次握手、TSL握手和秘钥协商 等过程

2020-06-12

SIP-RFC3428.doc

本资源为RFC3428中文翻译,其对应的原协议地址为:https://tools.ietf.org/html/rfc3428 。 想要了解Sip协议Message方法扩展由来、Pager Model通信方式、Pager Model通信方式的具体举例的同学,可以下载。

2020-03-07

QRcode.jar

java -jar QRCode.jar url=test image=qrcode.png save=/xiaxl/ 亲测可用

2019-05-21

MVP_RxJava_Demo

http://dev.qq.com/topic/5799d7844bef22a823b3ad44中介绍的, Android MVP框架

2016-07-29

glide_disklrucache

glide与UniversalImageloader均使用的sdcard缓存策略

2016-03-13

gradle多渠道打包的两种实现demo

gradle多渠道打包的两种实现demo

2016-01-27

ES_001_Triangle

win7下VS2013搭建opengl es 2.0的C++开发环境案例代码。详情请查看博客: http://xiaxveliang.blog.163.com/blog/static/2970803420151014104946451/

2015-11-14

Gson简单与复杂json数据解析案例

可实现简单json数据与复杂json数据解析,详情请看:http://xiaxveliang.blog.163.com/blog/static/297080342014102674623118/

2014-11-26

完善程序地图poi搜索

完善腾腾地图POI搜索1、自定义POI点选中图标2、自定义POI点详细信息弹框。详情请查看:http://xiaxveliang.blog.163.com/blog/static/297080342014102510537125/

2014-11-26

Android_surfaceView与layout屏幕适配总结

Android各种屏幕适配策略demo总结,文档介绍链接地址: http://xiaxveliang.blog.163.com/blog/static/2970803420149277310588/

2014-10-27

shader中uniform变量的if或for会降低帧率

文档介绍博客地址:http://xiaxveliang.blog.163.com/blog/static/29708034201492735228272/

2014-10-27

Xml本地格式化工具(Java代码显示,图形操作)

Xml本地格式化工具(Java代码显示,图形操作),使用详情:http://xiaxveliang.blog.163.com/blog/static/29708034201471044250517/

2014-08-10

Android用SAX2解析xml

一个android小demo,采用SAX2方式解析xml。详细介绍请看: http://xiaxveliang.blog.163.com/blog/static/2970803420147784312563/

2014-08-07

android静默卸载data/app下的应用程序

前提:android设备需已root 详情请看: http://xiaxveliang.blog.163.com/blog/static/2970803420146223547873/

2014-07-03

android静默卸载指定包名APP

代码模拟"uninstall + 包名"命令,详情请浏览地址: http://xiaxveliang.blog.163.com/blog/static/2970803420146223547873/

2014-07-02

百度地图附近商铺信息

通过百度地图API获取附近商铺信息,效果图请看: http://xiaxveliang.blog.163.com/blog/static/29708034201442035825239/

2014-05-20

Activity启动和退出动画

Activity启动和退出时的动画效果,动画为从右侧进入和从右侧退出

2014-05-09

png转pkm“Mali-Texture-Compression-Tool-v4Windows-x64”和“pkm.zip”资源

png转pkm“Mali_Texture_Compression_Tool_v4Windows_x64”和“pkm.zip”资源 1、Mali_Texture_Compression_Tool_v4Windows_x64 png转pkm工具(windows平台); 2、一组由Mali_Texture_Compression_Tool_v4Windows_x64生成的ETC1+Alpha的动画文件举例。

2024-08-13

OpenGLES2.0中加载".pkm图片资源"组成的“zip压缩包”,并以帧动画的渲染播放ETC1格式纹理数据

OpenGLES2.0中加载".pkm图片资源"组成的“zip压缩包”,并以帧动画的渲染播放ETC1格式纹理数据: 1、将png帧动画资源,通过MaliGPU Texture CompressionTool压缩为ETC1格式纹理(压缩后每一帧均包含“一个RGB的.pkm文件”和“一个alpha值的.pkm文件”); 2、将.pkm图片资源压缩为一个.zip的压缩包; 3、在Android中加载读取.zip文件,并通过OpenGLES2.0按帧动画的形式渲染播放一帧一帧的.pkm文件格式的ECT1压缩格式文件; 4、每一帧渲染都获取两个.pkm文件,分别加载为ETC1Texture纹理数据(一个获取RGB颜色值,一个获取Alpha值); 5、抖音、快手的直播画面中,送礼物特效可用该工程代码实现。

2024-08-08

Android工程OpenGL ES中YUV420转化RGB工程实现源码

1、通过Camera2获取Camera的YUV420图像数据; 2、将YUV420图像数据通过Shader语言,在GPU中转化为RGB; 3、在OpenGL ES中渲染最终的RGB纹理,实现图像预览。 4、本案例代码是: 一文详解微信视频通话、抖音视频回显实现方案:https://xiaxl.blog.csdn.net/article/details/103328195 一文学会 Opengl ES中YUV420与RGB转化:https://xiaxl.blog.csdn.net/article/details/72622236 技术博文的工程实现代码,具体实现可参考以上两篇技术文章。 5、当前App中GPU高效回显图像均通过该方案实现,具有较高的学习性。

2024-07-22

ExternalOES纹理数据 转换为 TEXTURE-2D纹理数据 工程代码

图形开发中,通常将TEXTURE_2D和TEXTURE_EXTERNAL_OES纹理分开使用,这种情况占据了80%的场景。然而,有时候也需要将TEXTURE_EXTERNAL_OES纹理转化为TEXTURE_2D纹理进行视频处理。这种情况,我们可以通过 如离屏渲染或FrameBuffer帧缓冲区对象,完成纹理数据的转化。 1. 首先,需创建一个OES纹理ID; 2. 完成OES纹理ID创建后,通过oesTexId创建一个图像消费者SurfaceTexture; 3. 通过SurfaceTexture创建Surface,将Surface对象传递给MediaPlayer,获取Sdcard中对应路径的视频帧数据获取; 4. 创建FRAMEBUFFER帧缓冲区,并绑定TEXTURE_2D空白纹理对象; 5. 将EXTERNAL_OES纹理渲染到FRAMEBUFFER帧缓冲区中; 6. 绘制渲染TEXTURE_2D纹理,完成纹理图像的显示; 文档介绍地址如下: https://xiaxl.blog.csdn.net/article/details/135137815

2023-12-21

OpenGLES渲染播放Sdcard中的视频资源

1、案例运行注意事项: 案例源码运行前,需向Sdcard如下路径存入测试视频:/sdcard/Android/data/com.xiaxl.glesvideo/files/video/demo.mp4 2、案例源码原理: a、在OpenGL ES中创建 samplerExternalOES 类型纹理,用于渲染展示视频图像; b、通过 samplerExternalOES 纹理创建一个 SurfaceTexture; c、通过 SurfaceTexture 生成一个 Surface; d、将该 Surface 绑定到 MediaPlayer 中; e、通过 MediaPlayer 解封装视频,并最终通过OpenGL ES渲染解封装后的视频图像,同时播放视频的声音;

2023-11-02

Android平台OpenGLES3将GL-TEXTURE-2D纹理id渲染到ImageReader提供的Surface上

效果目的: Android平台 将 GL_TEXTURE_2D纹理 渲染到 Surface 上 案例实现文章介绍: https://xiaxl.blog.csdn.net/article/details/131682521 技术实现流程大致如下: 1、OpenGLES3中加载GL_TEXTURE_2D纹理,生成纹理ID; 2、通过EGL构建EGLDisplay虚拟屏幕,并绑定ImageReader提供的Surface; 3、在EGL线程中,渲染GL_TEXTURE_2D对应的纹理图形; 4、在EGL线程中,完成渲染后,通过eglSwapBuffers方法交换缓冲数据; 5、在ImageReader中onImageAvailable方法中读取surface数据,保存为一张Bitmap; 6、将 步骤5 的Bitmap显示到ImageView上(用于验证纹理ID是否正常写入到Surface) 因实现流程较为复杂,技术难度要求较高,研究此案例代码花费时间较多,付费下载,谢谢。

2023-06-28

监听Android系统软键盘的弹出与关闭(案例代码)

代码来源: 从facebook React源码ReactRootView中抽离CustomGlobalLayoutListener,用于监听Android系统软键盘的弹出与关闭。 实现原理: 监听Android DecorView对应的GlobalLayout布局变化,从而判断是否弹出了软键盘。 其他: 案例demo名称为GlobalKeyboardChange,可直接运行; 软键盘弹出和关闭时,可同时回调 keyboardHeight 软键盘的高度值。

2023-06-20

TCP与TLS数据报文抓包

使用 tcpdump 抓包工具,抓取 “https get”请求数据包: 1、生成 wireshark 工具可读取的 capture.pcap 抓包文件; 2、学习 “DNS解析步骤”报文结构; 3、学习 “TCP三次握手”报文结构; 4、学习 “TLS握手与秘钥协商” 等过程。 详细介绍,可参考我的技术文章: 一文读懂 HTTPS 与 TLS证书链校验 https://xiaxl.blog.csdn.net/article/details/106927624 一文详解 TCP与UDP 协议 https://xiaxl.blog.csdn.net/article/details/106223354

2023-03-18

Android使用 jitpack 发布 maven 多渠道AAR依赖库 案例实现

网络上大量涉及 JitPack 的教程不可用; 经过两天的研究,分别实现了Gradle 6.1与Gradle 7.5两种Gradle版本,多渠道发布JitPack maven AAR依赖库的案例,案例分别为: + jitpack_MultiFlavorLibDemo_gradle_6_1 + jitpack_MultiFlavorLibDemo_gradle_7_5 并给出了详细的使用说明教程,详见如下地址: https://xiaxl.blog.csdn.net/article/details/129151720

2023-02-21

Android录制屏幕生成mp4文件

Android录制屏幕生成mp4文件: 1、运行环境要求: Android 5.0以上,无需ROOT; 2、案例实现方式: 使用MediaProjection构建虚拟VirtualDisplay,完成屏幕录制生成mp4文件保存到本地sdcard。 3、案例源码: 案例源码以实现录屏最小集的方式实现,注释充分,通俗易懂。

2022-07-07

Python3使用openpyxl、xlrd依赖库操作Excel案例源码

使用python3脚本实现如下功能: 使用 openpyxl 依赖库,详解.xlsx 新版Excel文件的读、写、设置行高、列宽、合并单元格等操作; 使用 xlrd 依赖库,详解.xls 旧版Excel文件的读取,并使用 xlutils.copy 依赖库修改Excel文件出最终的修订结果Excel; 详细文章介绍地址如下: https://xiaxl.blog.csdn.net/article/details/123910322

2022-04-15

Python3使用xlrd修改Excel数据映射关系

使用python3脚本实现如下功能: 根据映射关系数据,完善Excel表格中品牌与型号的对应关系,输出修改后的Excel。 使用 xlrd 依赖库,实现Excel数据的读写; 使用 xlutils.copy 依赖库,复制并修改Excel文件, 并输出最终的修订结果Excel。 详细文章介绍地址如下: https://xiaxl.blog.csdn.net/article/details/123910322

2022-04-01

Android12 SplashScreen使用案例代码下载

Android12 SplashScreen使用举例代码下载,运行效果 与 相关API使用介绍请参考博文: Android12适配指南——SplashScreen: https://xiaxl.blog.csdn.net/article/details/123522277 Android 12(API 31)引入了 SplashScreen 相关API,用于开发Android应用的启动页。 SplashScreen相关API的引入影响在Andorid 12设备上运行的所有应用。 若开发者未进行SplashScreen的适配工作,在应用冷启动和温启动时,可能会呈现两个启动页先后出现的情况(Android SplashScreen启动页 + Android应用自定义开发的启动页或引导页)。

2022-03-16

安卓Kotlin Coroutine协程使用案例代码

安卓 Kotlin Coroutine协程 使用方式代码举例: 包含GlobalScope 、CoroutineScope 详细使用代码举例,相关介绍文章,可参考: https://xiaxl.blog.csdn.net/article/details/123383727

2022-03-09

Android veridex 非SDK接口检测工具

1、Android非SDK接口检测工具(2022.02.16版本) 2、对应的官方地址为: https://android.googlesource.com/platform/prebuilts/runtime/+/master/appcompat

2022-02-16

Android平台 使用OpenGLES3.0实现纹理纹理、颜色混合

在Android平台,使用OpenGLES3.0实现纹理纹理、颜色混合代码实现举例。 具体案例文章讲解请见: https://xiaxl.blog.csdn.net/article/details/121634894

2021-12-15

Android平台 OpenGL ES3.0绘制点、线、三角形实现源码

Android平台,OpenGL ES3.0 点、线、三角形绘制方式源码实现举例。 相关绘制方式文章讲解请参考: https://xiaxl.blog.csdn.net/article/details/8873002

2021-12-10

Android平台OpenGLES生成使用Mipmap纹理

该案例代码为Android 平台OpenGL ES实现举例,有两个作用: 1、在Android平台,使用OpenGL ES通过加载灰度图,构建山地图形渲染效果; 2、使用 OpenGLES 生成与使用Mipmap纹理,构建远处模糊,近处清晰的效果。 具体案例文章讲解请见: https://xiaxl.blog.csdn.net/article/details/8873106

2021-12-08

OpenGLES三种抗锯齿实现案例

介绍Android OpenGL ES中,三种可用的抗锯齿实现方式,这里给出详细的代码实现。 文章介绍,请参考: https://blog.csdn.net/xiaxl/article/details/8873018

2021-12-06

Android使用MediaCodeC与OpenGL硬解码 录制mp4音视频实现源码

将Camera数据显示到OpenGL ES渲染的图像中,并通过MediaCodeC 将 OpenGL ES 缓冲数据,硬编码写入到 mp4 视频文件中,完成视频的录制。 文件介绍请见: https://xiaxl.blog.csdn.net/article/details/72530314 原理及实现步骤: 1、通过OpenGLES渲染Camera采集数据; 2、通过 MediaCodec.createInputSurface获取一个Surface; 3、通过EGL构建EGLDisplay并绑定Surface; 4、通过 EGL 线程中渲染GL_TEXTURE_EXTERNAL_OES对应的纹理ID; 5、在 EGL 线程完成渲染后,通过eglSwapBuffers交换缓冲,将EGL渲染内容交换到MediaCodeC给定的Surface中,从而完成mp4视频录制。

2021-11-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除