自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(189)
  • 资源 (2)
  • 收藏
  • 关注

原创 linux NDK交叉编译rtmp 与 ffmpeg+rtmp交叉编译(v7a,v8a) 完成流程

最近在学RTMP,记录一下完成的编译流程我是mac 电脑,但是mac上编译一直通过不了,后来才换到服务器上编译,其实mac也能编译,只是最开始踩到坑里面了…这里记录一下linux编译完整流程。

2023-07-27 16:38:10 1095

原创 Android mac 交叉编译与ffmpeg编译踩坑记 (v7a 与 v8a and 动态库与静态库)

环境:system:NDK:Fffmpeg:Cmake:Gradle:tips: 本文记录踩坑过程,具体细节如果感兴趣可以在评论区留言交流讨论!

2023-07-11 14:37:52 1460

原创 android kotlin 协程(六) 源码浅析

本篇我们阅读了 CoroutineScope#launch{}// 有receiver直接恢复协程// 有receiver创建协程,需要手动恢复// 没有receiver直接恢复协程// 没有receiver创建协程,需要手动恢复这四胞胎说实话,是真没啥用,但就是得了解一下… 看的头疼:)完整代码。

2023-02-27 17:37:22 866 3

原创 android kotlin 协程(五) suspend与continuation

通过本篇你将学会:suspend 与 continuation。

2023-02-23 13:56:53 1229

原创 android kotlin 协程(四) 协程间的通信

一旦某个挂起函数返回结果,

2023-02-20 15:18:58 672 3

原创 android kotlin 协程(三) 理解挂起,恢复以及job

通过上两篇的基础入门,相信大家对协程api已经有了一个基本的影响,本篇开始尝试理解挂起于恢复.本篇不涉及源码, 通过很多应用案例,来理解挂起于恢复!

2023-02-15 11:41:44 1293 7

原创 android kotlin 协程(二) 基本入门2

coroutineStart 用来控制协程调度器,以及协程的执行时机等。

2023-02-13 20:10:10 730 1

原创 android kotlin 协程(一) 简单入门

前言:最近系统的学习了一遍协程, 计划通过10篇左右blog来记录一下我对协程的理解, 从最简单的 runBlocking开始; 到最后 suspend和continuation的关系等等

2023-02-09 17:16:59 2051 2

原创 android 换肤框架搭建及使用 (3 完结篇)

activity换肤 /fragment换肤 /recyclerView换肤 / 自定义view换肤 /动态换肤 /dialog换肤 /一行代码换肤!

2023-01-06 19:12:13 963

原创 android 皮肤包换肤之Resources加载(一)

看完本篇你可以学会什么?Resources在什么时候被解析并加载的drawable 如何加载出来的创建自己的Resources加载自己的资源制作皮肤包"皮肤包"加载“皮肤包”中的资源tips:源码基于阅读源码后本篇实现的效果:效果很简单,2个按钮效果很简单,重点是换肤的时候是加载“皮肤包”中的资源。

2022-12-29 15:44:17 798

原创 android 自定义view: 跑马灯-光圈

**系统: **macandroid studio: 4.1.3**kotlin version:**1.5.0gradle: gradle-6.5-bin.zip本篇效果:最近在bilibili看到一个跑马灯光圈效果挺好, 参考着思路写了一下.bilibili地址,美中不足的是这是html代码 QaQ如图所示:换到android中直接将view当作背景层, 在利用Canvas绘制跑马灯层即可这段代码网上找的,源码还没有看, 有机会再看吧.来看看当前效果:这几个字可能有点抽象,所以来看看要完成的效果:接下

2022-11-28 19:36:33 1203 4

原创 java ThreadPoolExecutor 分析

其实ThreadPoolExecutor 很简单,通过核心线程数来创建默认的线程, 如果任务过多,超出队列的个数,那么就会触发失败策略触发失败策略的同时 就会创建最大线程数个线程, 唤醒所有的线程来执行任务!完整代码thread知识你还记得多少?

2022-10-21 14:50:16 944

原创 android自定义View: 饼状图绘制(四)

本系列自定义View全部采用ktmac4.1.31.5.0。

2022-09-30 09:19:22 1665

原创 android 自定义view: 蛛网/雷达图(三)

本系列自定义View全部采用ktmac4.1.31.5.0本篇效果:蛛网图其实就是由多个多边形来组成蛛网的,那么先来画1个多边形来练练手。

2022-09-27 16:10:55 1163

原创 android 自定义view: 矩形图表(二)

本系列自定义View全部采用ktmac4.1.31.5.0本篇效果:tips: 本篇是在的基础上来绘制的,背景表格,和左侧文字都是上一篇的东西, 如果不清楚可以先学习上一篇!

2022-09-26 16:18:26 1383

原创 android自定义View: 绘制图表(一)

本系列自定义View全部采用kt:mac4.1.3: 1.5.0本篇内容: 从0到1绘制一个可控制的图表!

2022-09-20 13:45:34 1679

原创 android自定义View: 九宫格解锁

本系列自定义View全部采用kt:mac4.1.31.5.0Tips:不止3X3 或者 5X5 ,如果你想,甚至可以设置10*10。

2022-09-14 15:42:29 1273 2

原创 android自定义View 中秋节放个烟花吧~

本系列自定义View全部采用kt: mac4.1.3:1.5.0废话不多说,先来看今天要完成的效果:效果分析:首先我们需要将这个功能分为两部分其实烟花就是由一条条贝塞尔曲线构成,那么只要会画一条曲线,再循环一下就可以画出多条曲线首先来画一条曲线!

2022-09-06 17:03:27 1313

原创 android 自定义View 视差动画

通常我们给一个view自定义属性,我们会选择在attrs.xml 中来进行,例如这样:但是很明显,这么做并不适合我们的场景,因为我们想给任何view都可以设置属性,那么我们就可以参考ConstraintLayout中的自定义属性:我们自己定义属性:并且给需要变换的view设置值app:parallaxRotate=“10” 表示在移动过程中旋转10圈app:parallaxTransformInY=“0.5” 表示入场的时候,向Y轴方向偏移 height * 0.5。...

2022-08-31 14:32:50 1127

原创 android setContentView()源码解析

mac4.1.3:1.5.0看完本篇你讲学会什么?高温预警!

2022-08-25 15:21:28 1556

原创 android 自定义View:仿QQ拖拽效果

本系列自定义View全部采用kt:mac4.1.3:1.5.0效果二是在效果一的基础上改的,可以通过一行代码,让所有控件都能实现拖拽效果!所以先来编写效果一的代码~

2022-08-20 16:48:31 1078 2

原创 数据结构与算法:图

图是一种比较复杂的非线形数据结构树图如果想参考树,点击连接即可虽说树和图都是非线形结构,但是他们也有说区别一般常见的二叉树只有2个结点,并且他们是有父子关系的.“等级制度”比较森严但是图则不同,图都是平级的,没有父子之分,并且1个图结点之间可以有多个图结点相连接常见的图有很多种,例如地铁路线这个图比较复杂,先来看一张简单的图图由2种东西组成顶点[vertex](我喜欢叫图结点)边[edge]无向无环图无向有环图有向有环图有向无环图向指的就是方向环。...

2022-07-21 15:42:23 767 1

原创 数据结构与算法:树 红黑树 (十一)

工具:IDEA本系列介绍的是数据结构: 树这是第 十一 篇目前计划一共有11篇:敬请期待吧~~tips: 上一篇:2-3树,2-3-4树必须看!,因为红黑树就是为了解决2-3树,2-3-4树构建过于复杂产生的!红黑树(Red Bblack Tree), 看到这3字应该很熟悉又很陌生熟悉是因为在很多地方都听到过他的大名,例如HashMap中等等陌生是因为好像并没有了解过他,并不知道他是如何定义,如何运转的…本篇就带大家从0到1,一点点分析,解刨,然后在 “组合” 起来先来回顾一下上一篇的重点:2-3树转红黑树

2022-07-13 14:47:29 310

原创 数据结构与算法:树 2-3树,2-3-4树,B树 B+树 B*树 (了解) (十)

工具:IDEA本系列介绍的是数据结构: 树这是第十篇目前计划一共有12篇:敬请期待吧~~2-3树是一个可以有2个子结点或者3个子结点的树.当一棵树当前结点为1个结点,并且 2个子结点又叫2叉树当一棵树当前结点为2个结点 并且 3个子结点又叫3叉树2-3树必须符合是一颗完美AVL树的所有特性!特别注意: 2-3树结点是从叶子结点到根结点通过 拆分 合并 往上长而不是从根结点到叶子结点往下长! (后面会介绍)特性:2结点的特性满足完美AVL树,左子结点 < 当前结点 < 右子结点3结点特性: 左子结点 < 当前

2022-07-11 20:30:49 311 2

原创 数据结构与算法:树 AVL平衡二叉排序树 (九)

工具:IDEA本系列介绍的是数据结构: 树这是第九篇目前计划一共有12篇:敬请期待吧~~高光时刻:添加情况分析:删除情况分析:在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树AVL树特点:一张图搞懂:这里隐藏了三个方法是因为上一篇:二叉排序树(BST)已经说过了,就不重复介绍了,代码很简单,有需要的话翻过去看看吧~添加结点和上一篇讲的也一模一样但是如果真这样写,那不就成了BST树了么,先来分析情况,然后再看代码假设当前树结构是这样的,在没添加12之前,这是一颗AVL树但是一旦添

2022-07-08 17:00:01 275

原创 数据结构与算法:树 二叉排序树(BST) (八)

工具:IDEA本系列介绍的是数据结构: 树这是第八篇目前计划一共有12篇:敬请期待吧~~二叉排序树(Binary sort tree) 又叫做 二叉搜索树(binary search tree) ,是树形结构中的一种定义:二叉排序树先来看一张BST树:这是比较理想的情况,可以看出这棵树符合BST的定义这里非常简单,就是一个很普通的结点类思路:添加的代码非常简单:添加完整流程图:如果二叉排序树成功的话,配合中序遍历,正好是有序的!搜索结点分为2种情况:搜索当前结点好理解, 为什么要搜索当前结点的父结点呢?

2022-07-07 11:24:45 239

原创 数据结构与算法:树 赫夫曼树(三)(七)

工具:IDEA本系列介绍的是数据结构: 树这是第七篇目前计划一共有12篇:敬请期待吧~~高光时刻前两篇:赫夫曼树(一) 赫夫曼树(二) 都是说如何生成一颗赫夫曼树,那么本篇是赫夫曼树的最后一篇,来说说赫夫曼树给文件的加密与解密!既然涉及到文件加密解密,那么一定会涉及到以下知识点如果不太清晰的同学不用担心,本篇会讲的详详细细,保证你看完醍醐灌顶!既然说到文件的加密解密,那么先想想一般的文件是如何加密解密的通常的流程都是先自定义一串密钥读取需要加密的文件,在读取过程中 将密钥添加到这个文件中,然后生成一个新的加

2022-07-06 17:25:43 270

原创 数据结构与算法:树 赫夫曼树(二)(六)

工具:IDEA本系列介绍的是数据结构: 树这是第六篇目前计划一共有12篇:敬请期待吧~~高光时刻随机字符串生成赫夫曼树完整流程:先来回顾一下上一篇,上一篇的重点就是创建一颗赫夫曼树,赫夫曼树是WPL 最小的树上一篇是将数组转变成赫夫曼树流程为:将数组转变成赫夫曼结点集合依次取出集合中前两个数据生成一个新的结点,然后删除掉这两个旧的结点重新排序重复2,3操作,直到集合中只剩下一个结点最终赫夫曼集合中最后的这个结点就是他的根节点完整流程图:解释一下什么叫随机字符串生成赫夫曼树假设当前有一串字符串为 :可以看出,

2022-07-06 15:13:15 248

原创 数据结构与算法:树 赫夫曼树(一) (五)

工具:IDEA本系列介绍的是数据结构: 树这是第五篇目前计划一共有12篇:敬请期待吧~~高光时刻构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树/赫夫曼树 (Huffman Tree)。赫夫曼树是带权路径长度最短的树,权值较大的结点离根较近。赫夫曼树**权 **就是通过一个特殊的变量来标识,如果这个变量存在,那么就是带权结点,反之是不带权结点图中绿色的就都是带权结点,红色则是不带权结点路径就是根节点到权的距离例如13的路径长度就是2WPL 是所有权 * 所有路径长度

2022-07-04 20:03:08 407

原创 数据结构与算法:树 堆排序(四)

工具:IDEA本系列介绍的是数据结构: 树这是第四篇目前计划一共有12篇:敬请期待吧~~高光时刻前沿:本章应该和放在一起的,可是当时对树的概念有点模糊,所以就没写,一直拖到现在…现在剑已锋利,那就写写喽可以看到,如果是大顶堆,那么当前结点比左子 / 右子结点大例如 结点48所以在大顶堆中,根节点是最大的!小顶堆的概念和大顶堆一样!第二张辅助图:在第二篇: 数据结构与算法:树 顺序存储二叉树(二)中提到一个概念,在这里有很大的作用,来回顾一下先通过数组构建一颗树,切记这个流程只是在你脑海里的过程!只是想象成这

2022-07-01 15:00:50 246

原创 数据结构与算法:树 线索化二叉树(中,前,后序)(三)

工具:IDEA本系列介绍的是数据结构: 树这是第三篇目前计划一共有12篇:敬请期待吧~~高光时刻先来回顾一下中序遍历每一个结点有2个对象,最终导致叶子结点就有所浪费当前一共有6个元素,分别是 [1,3,6,8,10,14], 最终就会导致有7个对象浪费(null)掉线索化二叉树就是尽量少浪费对象,那么空对象如何处理呢?先来看完整流程图,在逐步分析:最终结果图:中序线索化二叉树 就是按照中序遍历的结果将按照中序的排列连接起来当前中序遍历结果是 [8, 3, 10, 1, 14, 6]以10举例,10是叶子结点

2022-06-30 17:01:08 353

原创 数据结构与算法:树 顺序存储二叉树(二)

工具:IDEA本系列介绍的是数据结构: 树这是第二篇目前计划一共有12篇:敬请期待吧~~介绍: 顺序存储二叉树,就是将一串数组,以完全二叉树的结构可以前序,中序,后续遍历即可!小技巧:如图所示:下标n为4的值是45那么他的左子结点就是 2n + 1, 下标就是9,值是63那么他的右子结点就是 2n + 2 下标就是10 值是28那么他的父结点就是 (n - 1 ) / 2 下标就是1 值是23再来看一张图:n = 下标假设当前下标是7他的左子结点是 2n+1 ,左子结点对应的下标是15 (下标从0开始计算

2022-06-29 16:58:45 437

原创 数据结构与算法:树 二叉树入门(一)

工具:IDEA本系列介绍的是数据结构: 树这是第一篇目前计划一共有12篇:敬请期待吧~~高光事例:首先先来看一颗简单的树首先最顶部叫做树根,也叫根节点树根左右两侧分别有两个结点左子结点和右子结点统称为子结点那么换句话说就是 1的子结点有3 和 5或者此时3 是1的左子结点 ,3也是 12的父结点通俗的说:3又是父亲又是儿子其他叫法相同例如7的父结点是48的父结点是54的右子结点是6正常情况下一颗树都有2个结点(左子结点 / 右子结点),如果一颗树只有一边有结点,例如这样:那么8也可以叫做5的右残结点此时8没

2022-06-27 17:02:48 290

原创 数据结构与算法 查找算法(线性查找,二分查找,插值查找,斐波那契查找) 附有详细流程分析图!

工具:IDEA本篇介绍查找算法:重点:线性查找比较简单,就算刚入门也应该会,直接看代码了!使用:优缺点分析优点:缺点:重点:寻找数组必须有序一半一半的找指针记录这里的指针和C中的指针不同这里的指针可以理解为下标,就是找一个临时的数来记录当前位置二分查找只需要3个指针每次值和做比较如果需要寻找的元素 > 中间位置 ,说明 在中间指针右边所以需要将 开始指针 = 中间指针 + 1如果 < 中间位置 ,说明在中间指针左侧所以需要将 结束指针 = 中间指针最终需要找的元素和当前元素相同时候,说明找到了该

2022-06-04 22:29:48 857

原创 数据结构与算法 排序算法(二) 附有详细动画流程分析图!!

上一篇本篇介绍排序算法:重点:倒叙输出结果 (根据步长来倒叙)交换默认之前的数 始终是有序的始终和前面的数相比较原理:假设现在有10个数据,依次隔 length / 2次来排序第一次排序 隔5个元素来排序 (10 / 2 = 5)第二次排序 隔2个元素来排序(5 / 2 = 2)第三次排序 隔1个元素来排序(2 / 2 = 1)这样一来,就能将相邻的数字替换到大致位置, 减少了交换的次数效果图:交换和上一篇中的冒泡排序交换一样这段代码稍微有点复杂,多看几次就懂了!!这段代码懂了,在看希尔排序代码就十分清晰了

2022-06-01 17:03:19 778

原创 数据结构与算法 排序算法(一) 附有详细动画流程分析图

数据结构与算法 排序算法(一)Tips: 采用java语言, 关注博主,底部附有完整代码,本篇介绍排序算法:冒泡排序选择排序插入排序基数排序排序算法对比算法名称10万次测试效果图冒泡排序10万次 / 20秒选择排序10万次 / 3秒插入排序10万次 / 800毫秒基数排序10万次 / 22毫秒冒泡排序冒泡排序应该是最常见,最简单的排序算法了!要想学会冒泡排序,只需要记住 2 个重点找出最大值交换位置即可找

2022-05-29 22:17:23 1435

原创 数据结构与算法: 八皇后问题(详细流程)

数据结构与算法: 八皇后回溯递归问题(详细流程!!)Tips: 采用java语言, 关注博主,底部附有完整代码采用到的知识点:递归一维数组什么是8皇后问题?在一个8 x 8 的二维数组上, 每一个位置行 , 列 和 斜面 不允许有另一个元素存在例如这样定义规则这里只需要定义一个存放每一列的一维数组即可,这样就可以保证每一行都不会有相同的元素for(i = 0; i < 8 ; i++){ // 循环每一行}例如上面效果图对应的就是 0 , 4 , 7 ,5 ,

2022-05-12 23:01:28 1509

原创 数据结构与算法: 约瑟夫问题(丢手绢)

数据结构与算法: 约瑟夫(丢手绢)问题(单向链表,双向链表解决)Tips: 采用java语言, 关注博主,底部附有完整代码采用到的知识点:单向环形链表双向环形链表单向 / 双向 环形链表出圈流程效果图:单向环形链表双向环形链表什么是约瑟夫问题约瑟夫问题好像小时候玩的丢手绢一样先来说一下规则, 默认从第一个小朋友开始数,在第n个小朋友过后开始寻手绢, 第n个小朋友每k个人就丢下手绢,然后这个小朋友出圈直到圈中只剩一人才结束假设5个小朋友围坐一圈来丢手绢

2022-05-11 10:45:56 828

原创 数据结构与算法: 使用栈解决计算器问题

数据结构与算法:使用栈解决计算器问题Tips: 采用java语言, 关注博主,底部附有完整代码使用到的知识点:栈中后缀表达式后缀表达式中缀表达式转后缀表达式支持范围: + - * / 小括号() 小数点例如: 案例一: 20 - 5 + 25 / 5 + 20 / 5 + 100 - 24 - 0.4案例二: (3 + 5 + 2.5) - 2 * 5 效果图案例一案例二案例二思路分析图:案例一(不带括号)注释我写的很详细,直接看完整代码

2022-05-10 11:12:24 555

原创 android MD(七) 过度动画/共享元素,登陆实战

android MD(七) 过度动画/共享元素,登陆实战tips: 共享元素不应该是md里面的内容,但是我觉得都挺炫酷的,正好本篇也短,我就加进来了…来看看今天完成的效果图:fragment to fragmentactivity to activityview to activityview to viewnavigaitonnavigation2登陆实战效果图:登陆验证码代码很简单,没有涉及到

2022-05-04 21:34:12 969 2

Android 蓝牙4.0(BLE) Demo

这是一款Android 蓝牙demo,可以很好的连接蓝牙4.0设备(4.0),欢迎大家下载 不懂如何使用的请查看:https://blog.csdn.net/weixin_44819566/article/details/112917021

2021-01-21

java反编译.zip

java jd_gui反编译工具 详细使用参考博客: https://blog.csdn.net/weixin_44819566/article/details/112899738

2021-01-20

空空如也

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

TA关注的人

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