Android端 网易公开课3D动画勋章 实现源码
Android端 网易公开课3D动画勋章 实现源码,使用OpenGL ES 2.0加载、展示3dmax导出的obj、mtl勋章文件,通过自定义的openel 动画引擎,进行3D勋章的动画展示。
SIMalliance_OpenMobileAPI2_02.rar
Android于Android 9.0 引入了OMAPI相关实现,这篇文章是关于OMAPI的架构实现、API使用介绍实现文档。
Sim Alliance组织提供了一个标准接口规范Open Mobile API specification,使手机上层应用可以访问手机端不同的Secure Elements。
Android tcpdump
Android tcpdump Version 4.9.3 / 1.9.1.
capture.pcap
使用tcpdump抓包工具,抓包“https get请求百度主页”,生成的capture.pcap文件。
该文件可用wireshark打开,查看和学习 DNS解析步骤、TCP三次握手、TSL握手和秘钥协商 等过程
SIP-RFC3428.doc
本资源为RFC3428中文翻译,其对应的原协议地址为:https://tools.ietf.org/html/rfc3428 。
想要了解Sip协议Message方法扩展由来、Pager Model通信方式、Pager Model通信方式的具体举例的同学,可以下载。
QRcode.jar
java -jar QRCode.jar url=test image=qrcode.png save=/xiaxl/ 亲测可用
MVP_RxJava_Demo
http://dev.qq.com/topic/5799d7844bef22a823b3ad44中介绍的,
Android MVP框架
glide_disklrucache
glide与UniversalImageloader均使用的sdcard缓存策略
gradle多渠道打包的两种实现demo
gradle多渠道打包的两种实现demo
ES_001_Triangle
win7下VS2013搭建opengl es 2.0的C++开发环境案例代码。详情请查看博客:
http://xiaxveliang.blog.163.com/blog/static/2970803420151014104946451/
Gson简单与复杂json数据解析案例
可实现简单json数据与复杂json数据解析,详情请看:http://xiaxveliang.blog.163.com/blog/static/297080342014102674623118/
完善程序地图poi搜索
完善腾腾地图POI搜索1、自定义POI点选中图标2、自定义POI点详细信息弹框。详情请查看:http://xiaxveliang.blog.163.com/blog/static/297080342014102510537125/
Android_surfaceView与layout屏幕适配总结
Android各种屏幕适配策略demo总结,文档介绍链接地址:
http://xiaxveliang.blog.163.com/blog/static/2970803420149277310588/
shader中uniform变量的if或for会降低帧率
文档介绍博客地址:http://xiaxveliang.blog.163.com/blog/static/29708034201492735228272/
Xml本地格式化工具(Java代码显示,图形操作)
Xml本地格式化工具(Java代码显示,图形操作),使用详情:http://xiaxveliang.blog.163.com/blog/static/29708034201471044250517/
Android用SAX2解析xml
一个android小demo,采用SAX2方式解析xml。详细介绍请看:
http://xiaxveliang.blog.163.com/blog/static/2970803420147784312563/
android静默卸载data/app下的应用程序
前提:android设备需已root
详情请看:
http://xiaxveliang.blog.163.com/blog/static/2970803420146223547873/
android静默卸载指定包名APP
代码模拟"uninstall + 包名"命令,详情请浏览地址:
http://xiaxveliang.blog.163.com/blog/static/2970803420146223547873/
百度地图附近商铺信息
通过百度地图API获取附近商铺信息,效果图请看:
http://xiaxveliang.blog.163.com/blog/static/29708034201442035825239/
Activity启动和退出动画
Activity启动和退出时的动画效果,动画为从右侧进入和从右侧退出
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的动画文件举例。
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、抖音、快手的直播画面中,送礼物特效可用该工程代码实现。
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高效回显图像均通过该方案实现,具有较高的学习性。
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
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渲染解封装后的视频图像,同时播放视频的声音;
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)
因实现流程较为复杂,技术难度要求较高,研究此案例代码花费时间较多,付费下载,谢谢。
监听Android系统软键盘的弹出与关闭(案例代码)
代码来源:
从facebook React源码ReactRootView中抽离CustomGlobalLayoutListener,用于监听Android系统软键盘的弹出与关闭。
实现原理:
监听Android DecorView对应的GlobalLayout布局变化,从而判断是否弹出了软键盘。
其他:
案例demo名称为GlobalKeyboardChange,可直接运行;
软键盘弹出和关闭时,可同时回调 keyboardHeight 软键盘的高度值。
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
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
Android录制屏幕生成mp4文件
Android录制屏幕生成mp4文件:
1、运行环境要求:
Android 5.0以上,无需ROOT;
2、案例实现方式:
使用MediaProjection构建虚拟VirtualDisplay,完成屏幕录制生成mp4文件保存到本地sdcard。
3、案例源码:
案例源码以实现录屏最小集的方式实现,注释充分,通俗易懂。
Python3使用openpyxl、xlrd依赖库操作Excel案例源码
使用python3脚本实现如下功能:
使用 openpyxl 依赖库,详解.xlsx 新版Excel文件的读、写、设置行高、列宽、合并单元格等操作;
使用 xlrd 依赖库,详解.xls 旧版Excel文件的读取,并使用 xlutils.copy 依赖库修改Excel文件出最终的修订结果Excel;
详细文章介绍地址如下:
https://xiaxl.blog.csdn.net/article/details/123910322
Python3使用xlrd修改Excel数据映射关系
使用python3脚本实现如下功能:
根据映射关系数据,完善Excel表格中品牌与型号的对应关系,输出修改后的Excel。
使用 xlrd 依赖库,实现Excel数据的读写;
使用 xlutils.copy 依赖库,复制并修改Excel文件, 并输出最终的修订结果Excel。
详细文章介绍地址如下:
https://xiaxl.blog.csdn.net/article/details/123910322
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应用自定义开发的启动页或引导页)。
安卓Kotlin Coroutine协程使用案例代码
安卓 Kotlin Coroutine协程 使用方式代码举例:
包含GlobalScope 、CoroutineScope 详细使用代码举例,相关介绍文章,可参考:
https://xiaxl.blog.csdn.net/article/details/123383727
Android veridex 非SDK接口检测工具
1、Android非SDK接口检测工具(2022.02.16版本)
2、对应的官方地址为:
https://android.googlesource.com/platform/prebuilts/runtime/+/master/appcompat
Android平台 使用OpenGLES3.0实现纹理纹理、颜色混合
在Android平台,使用OpenGLES3.0实现纹理纹理、颜色混合代码实现举例。
具体案例文章讲解请见:
https://xiaxl.blog.csdn.net/article/details/121634894
Android平台 OpenGL ES3.0绘制点、线、三角形实现源码
Android平台,OpenGL ES3.0 点、线、三角形绘制方式源码实现举例。
相关绘制方式文章讲解请参考:
https://xiaxl.blog.csdn.net/article/details/8873002
Android平台OpenGLES生成使用Mipmap纹理
该案例代码为Android 平台OpenGL ES实现举例,有两个作用:
1、在Android平台,使用OpenGL ES通过加载灰度图,构建山地图形渲染效果;
2、使用 OpenGLES 生成与使用Mipmap纹理,构建远处模糊,近处清晰的效果。
具体案例文章讲解请见:
https://xiaxl.blog.csdn.net/article/details/8873106
OpenGLES三种抗锯齿实现案例
介绍Android OpenGL ES中,三种可用的抗锯齿实现方式,这里给出详细的代码实现。
文章介绍,请参考:
https://blog.csdn.net/xiaxl/article/details/8873018
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视频录制。