自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天天向上 Up Up Up (*^▽^*)

天天向上 Up Up Up (*^▽^*)

  • 博客(1001)
  • 资源 (81)
  • 收藏
  • 关注

原创 [ Spring ] Spring Boot Mybatis++ 2025

[ Spring ] Spring Boot Mybatis++ 2025

2025-02-03 15:25:28 3086 2

原创 [ Compose ] Detailed Explanation of Side Effect Handlers

[ Compose ] Detailed Explanation of Side Effect Handlers

2025-01-21 08:53:03 1018

原创 [ Compose ] Detailed Explanation of State Remember

[ Compose ] Detailed Explanation of State Remember

2025-01-21 08:51:19 1430

原创 【Coroutines】Cascade Mechanism of Exception and Cancellation

[ Coroutines ] Cascade Mechanism of Exception and Cancellation

2025-01-06 15:18:17 1584

原创 【Gradle】Build Multiple Android Variants in KTS

【Gradle】Build Multiple Android Variants in KTS

2024-10-29 08:22:30 1398

原创 【Gradle】Build Multiple Android Variants in Groovy

【代码】【Gradle】Build Multiple Android Variants in Groovy。

2024-10-29 08:19:30 346

原创 【Coroutines】Full Understanding of Kotlinx.Corutines Framework

【Coroutines】Full Understanding of Kotlinx.Corutines Framework

2024-10-28 10:34:44 1078

原创 【JVM】Efficient Memory Leak Checker

【代码】【JVM】Efficient Memory Leak Checker

2024-10-18 09:34:28 353

原创 【Coroutines】Deep and Deep Into Kotlin Coroutines

【代码】【Coroutines】Deep and Deep Into Kotlin Coroutines

2024-10-14 10:09:37 1841

原创 【Coroutines】Implement Lua Coroutine by Kotlin - 2

【代码】【Coroutines】Implement Lua Coroutine by Kotlin - 2

2024-10-09 10:20:36 1789

原创 【Coroutines】Implement Lua Coroutine by Kotlin - 1

【代码】【Coroutines】Implement Lua Coroutine by Kotlin - 1

2024-10-07 23:28:44 2022

原创 【Kotlin】在Kotlin项目中使用AspectJ

AOP编程在Java开发中是一个非常火热的话题,最著名的库为AspectJKotlin项目中,通过Gradle插件,也能够使用该库,这是我们下面讲解的重点由于AspectJ的原理是在预编译阶段,通过插件修改代码,生成代理对象属于编译阶段的功能,因为非常依赖编译工具的版本这里用的版本是Gradle8.7,如果不兼容记得调整版本号Gradle脚本代码,用的也是Gradle8.7+KotlinScript的语法,记得根据版本调整。

2024-08-19 10:06:37 559

原创 【Android】Android AOP 编程框架

AOP编程全称Aspect Oriented Programming,面向切面编程主要功能是在不改变原代码的前提下,对特点代码节点进行修改,预处理,后期处理如果不想写表达式,可以在想要拦截的方法上加一个切入点注解再定义一个切入点处理器,与注解绑定,来处理拦截工作即可此外,注解还可以携带一些参数,用于扩展需要): Any?!!target!!pointcut可以看到,Activity的背景自动变成黄色了,完全不用改动原代码!而且还能看到,在拦截过程中,我们是可以对原有方法执行流程进行调整的。

2024-08-19 10:05:46 1817

原创 Android Irregular View

An android view that enable clip foreground and background into irregular shape

2024-08-05 21:31:21 2016

原创 【Android】自定义换肤框架05之Skinner框架集成

加载后重新调用setContentView生效,不需要重启Activity或应用。Skinner教程到此结束啦,祝大家工作顺利,学习进步,心情愉悦!在所有功能前调用即可,建议在Application中初始化。在应用该皮肤包前安装即可,建议预安装,或应用皮肤前安装。直接将皮肤资源,保持和原安装包同名,放在res目录下。自定义的资源目录,需要在Gradle中进行配置。在Activity应用皮肤前安装即可,建议在。生成apk格式的压缩包,即可作为皮肤包使用。并且,皮肤包的包名,要和原安装包保持一致。

2024-07-07 08:34:29 486

原创 【Android】自定义换肤框架04之Skinner框架设计

到上一章为止,我们已经完整讲解了换肤所用到的所有技术点这一章,我们来梳理下,如何从整体和细节上,进行代码设计毕竟,我们不止是简单实现功能,要做到功能清晰,使用灵活。

2024-07-06 13:13:52 705

原创 【Android】自定义换肤框架03之自定义LayoutInflaterFactory

在上一章,我们实现了自定义AssetManager和Resources,但不知道在哪里去应用它们现在我们知道,View是通过InflaterFactory创建的如果我们能让Factory使用自定义Resources,那么基本就实现了换肤的功能先上代码,让大家心里有个底) {代码其实非常简单,如果是自己实现的话,以下点需要注意InflaterFactory一旦创建,不可再被修改,除非通过反射强制去修改。

2024-07-06 13:12:44 1161

原创 【Android】自定义换肤框架02之自定义AssetManager和Resource

在上一章中,我们已经讲过,apk中有个资源索引文件其中保存了每个资源对应的id,name,type,path资源文件的解析,主要涉及两个类,AssetManager和Resource拷贝测试皮肤包到存储卡这里我们将测试包放在asset文件夹里面,在应用启动时拷贝到存储卡,从而省去人工操作通过指定皮肤包初始化SkinnerAssetManager使用自定义的SkinnerAssetManager加载资源十万个为什么到目前为止,我们已经实现了从指定apk中加载同名资源下一步问题是,如何让Acti

2024-07-05 08:32:52 757

原创 【Android】自定义换肤框架01之皮肤包制作

目前为止,市面上主流的安卓换肤方案,其实原理都是差不多的虽然大多都号称一行代码集成,但其实想要做到完全适配,并不简单这个系列,就是让大家从零开始,完全掌握这方面知识,这样才能对框架不支持的点自己进行补充该系列,我将使用小步慢跑的方式,每篇博客都是教会大家一个小知识点,直到完全掌握。

2024-07-05 08:32:08 604

原创 SVG从零基础到完全掌握

首先,毫无疑问,这是一份非常完善且简洁的SVG学习教程它包含了SVG所有的核心内容,而且有说明和示例对于更复杂的细节,最后附有官方文档,我们一般也用不上defs标签,可以包含若干元素,这些元素可以被其它地方引用或复用defs标签下的元素,在被复用前,都不会被展示复用通过use标签来实现,引用通过#来连接其id

2024-07-04 09:49:20 975

原创 【加密与解密】【08】Java加密算法详解

常用的摘要算法有MD,Message Digest,如MD5MD5生成的摘要为128位,对应的十六进制字符串为32位MD5已被破解,适合对安全性要求不高的场景,常用于校验文件SHA,Secure Hash Algorithm,如SHA256SHA256生成的摘要为256位,对应的十六进制字符串为64位SHA256常用于数字签名,账号密码加密SHA算法在MD算法的基础上演进而来,安全性更高SHA1算法已被破解,SHA2未来也大概率会被破解,目前SHA2算法仍然是安全的。

2024-07-03 22:45:57 1692

原创 【加密与解密】【07】SSL安全套件全解析

以上案例,都是通过KeyStore来实现KeyManager和TrustManager的管理功能现在我们不用KeyStore,通过自定义规则,来实现秘钥管理和证书验证功能我们以OkHttp框架为例现在我们用OkHttp来替换上面的HttpClient来访问服务器.url(url).get().build()这里我们为了演示,不让问题复杂化,只是简单地信任了所有的证书,并不能起到实际的安全作用。

2024-07-01 08:20:24 2165

原创 Gradle Compressor Plugin

Compress Any File from Any Where into Any Fromat !

2024-06-28 21:11:14 1105

原创 【加密与解密】【06】Java加密套件全解析

数据接收方通过公钥对摘要进行解密,再对数据进行摘要,与解密出的摘要值进行对比,判断是否一致。比如下面的例子,双方通过对称秘钥,可以是DH算法生成的交换秘钥,来加密解密其它秘钥。对于较大的字节数据,不方便通过字节数组一次性读写的,可以通过Stream来操作。可以理解为一个特殊格式的压缩包,可以设置密码,可以保存多份秘钥和证书。秘钥库,用于保存秘钥和证书,比较常见的是JKS和PKCS12格式。通过对一段完整数据,进行特定的运算,可以得到一串散列值。散列运算是不可逆的,且同样的数据,生成的散列值是固定的。

2024-06-24 17:49:58 1792

原创 【Gradle】IntelliJ Idea 或 Android Studio 调试Gradle代码

命令行参数不要写在properties文件里面,写在Gradle Run / Debug的Options里面。因为Gradle的运行效果可以由很多因素来决定,因素太多出了问题不好排查。这里我的建议是,统一使用Gradle Run / Debug来执行程序。不容易和系统默认版本的Gradle或JDK产生端口冲突,或者参数冲突。此外,在同一个机子上,可能存在多个版本的Gradle和JDK。这样Gradle和JDK固定使用的就是IDE配置的版本。除了在脚本内部添加断点,也可以在报错代码的位置添加断点。

2024-05-17 10:27:35 509

原创 通过GroovySDL实现GradleScript

DSL的语法更加简洁,对专业编程能力要求低,尤其适合用于编写命令脚本,比如Gradle脚本就是这种风格。核心的内容上面已经讲解完了,这一节我们简单演示一下,Groovy内置的一些DSL风格的编译组件。一些比较新的语言,都提供了这种风格的调用方式,比如Groovy DSL,Kotlin DSL。但DSL的简洁性背后,往往都有专业的面向对象风格代码在支撑,但是用户只和DSL这一层打交道。可以看到,上半部分是面向对象风格的代码,下半部分是DSL风格的代码。Groovy提供了专门的类来解析和执行脚本,主要有。

2024-03-18 22:54:48 843

原创 【Android】主流单元测试组件,一网打尽!

Android的测试的组件比较多,像JUnit,Espresso,UiAutomator,MockitoAndroid的测试范围也包括很多种,比如Java代码测试,Android逻辑测试,AndroidUI测试每个框架的侧重点各有不同,这里我们专门来介绍前三个Google官方推荐的测试框架有些测试组件是只在AndroidTest中可用的,在JavaTest目录下如果访问不了,不用大惊小怪。

2024-03-08 11:10:11 730

原创 【RxJava】RxJava3核心功能讲解和源码分析

一个是Observable的订阅顺序,一个是doOnSubscribe的执行顺序,Observable的订阅顺序上面已经得出结论了,是从后往前执行的。当没有指定ObserveOn,但是指定了SubscribeOn时,由于onNext代码是从最上游的Observable.subscribeActual开始的,所以所有的onNext都会在最近一个SubscribeOn指定的线程中执行。reduce:将上游Observable的相邻两个数据进行运算,再拿结果与下一个数据进行运算,如此循环,得到一个最终值。

2024-02-27 12:10:22 1371

原创 【Android】Dagger2 通过 AndroidInjector 简化模版代码

前面我们已经详细讲解过,如何通过 Component 和 Module 向 Activity 注入对象这是基本的使用方法,它的缺点是当 Activity 特别多时,就需要非常多的 Component 和 Module 类现在我们来讲解,如何通过 AndroidInjector 向基类进行统一注入。

2023-11-15 09:59:30 521

原创 【Android】Dagger2 框架设计理念和使用方式详解

现在我们已经知道,可以通过@Singleton来实现全局单例那么如果我们想在实现在某个类里面单例共享,不同类之间允许多例,要怎么做呢我们可以通过 Dagger 的自定义 Scope 特性来实现这个目标,步骤如下首先,自定义一个注解,表示被标记的类在里面是单例共享的Retention;Scope;@Scope实际上,@Singleton和一样,只是一个被@Scope标记的自定义注解,用来标记单例作用域的下一步,指定 Component 的作用域。

2023-11-08 09:53:07 618

原创 【RxJava】map过程中各个Observable生命周期分析

发生异常时,所有的OnSubscribe都会执行发生异常时,所有的OnFinally都会执行发生异常时,所有的OnComplete都不会执行发生异常时,后续的OnError都会执行发生异常时,后续的OnNext都不会执行发生异常时,后续的Function都不会执行。

2023-11-01 12:26:22 1377 8

原创 [ Linux ] Docker Compose Overview on Ubuntu24

[ Linux ] Docker Compose Overview on Ubuntu24

2025-02-10 09:12:02 580

原创 [ Linux ] Docker Overview on Ubuntu24

[ Linux ] Docker Overview on Ubuntu24

2025-02-10 09:11:17 942

原创 [ Compose ] Handle Tap Press Drag Scroll Swipe Transform Events

[ Compose ] Handle Tap Press Drag Scroll Swipe Transform Events

2025-02-08 08:25:37 319 1

原创 [ Compose ] Implement Vertical Scroll Bar with Low Level API

[ Compose ] Implement Vertical Scroll Bar with Low Level API

2025-02-08 08:24:49 173

原创 [ Spring ] Integrate Spring Boot Service Monitor Prometheus and Grafana

[ Spring ] Integrate Spring Boot Service Monitor Prometheus and Grafana

2025-02-07 09:24:54 452

原创 [ Compose ] Construct Auto Adaptive UI

[ Compose ] Auto Adaptive UI

2025-02-07 09:23:04 313

原创 [ Spring] Integrate Spring Boot Dubbo with Nacos 2025

[ Spring] Integrate Spring Boot Dubbo with Nacos 2025

2025-02-06 09:29:46 482

原创 [ Spring ] Integrate Spring Distributed-Transanction-Framework Seata on Ubuntu24

[ Spring ] Integrate Spring Distributed-Transanction-Framework Seata on Ubuntu24

2025-02-06 09:28:39 333

原创 [ Javascript ] TypeScript Serialize with Decorator

[ Javascript ] TypeScript Serialize with Decorator

2025-02-05 09:07:38 200

android-skinner.zip

android换肤框架,通过加载皮肤包进行换肤

2024-07-06

jsse-samples-guides.zip

Java SSL Samples and Guide PDF

2024-06-11

JDK8 Demos and Samples.zip

JDK详细的Demo和使用案例

2024-06-10

GNUPG完整安装包,含依赖

GNUPG完整安装包,含依赖

2024-04-27

gradle-publish-to-MavenLocal.zip

Gradle自定义Task,自定义Plugin,发布Artifact,发布到Maven仓库

2024-04-27

glide加载和下载svg矢量图片

glide加载和下载svg矢量图片

2024-04-02

android-color-picker.zip

kotlin编写的安卓拾色器,功能非常完善,代码简洁清晰

2024-02-04

nmview.zip-so库函数签名查看工具.zip

可以查看so库包含哪些函数,指令格式 cd <命令行所在目录> ./nmview -D --defined-only ./<so文件名称>

2023-12-23

android-room.zip

Room使用方法演示Demo,代码简洁规范,是个很好的学习资源

2023-11-23

android-couchbase.zip

couchbase-lite-android使用方法Demo

2023-11-20

Android Hilt 框架完整用法演示.zip

Android Hilt 框架完整用法演示.zip

2023-11-16

Dagger2通过AndroidInjector统一注入依赖.zip

Dagger2进阶用法,不用再创建大量的Component和Module

2023-11-15

Dagger2完整用法Demo.zip

介绍了Dagger2的各种用法,非常全面。对应的讲解博客: https://blog.youkuaiyun.com/u013718730/article/details/134281830

2023-11-08

tensor-flow-lite-android-handwritten-digit-classifier.zip

这是一个利用TensorFlow进行数字手写识别的演示APP 主要介绍TensorFlow模型在安卓端的使用方式 里面的document有完整讲解如何进行模型格式转换,模型训练,调用模型进行识别

2023-11-01

android手写识别SDK

Google ML Kit 子组件 Ink Recognition

2023-10-30

ObjectBox.zip

ObjectBox配置和基本使用

2023-09-28

android-platform-tools-33.0.0.zip

旧版本platform-tools,包含systrace

2023-09-06

demo-mvvm.zip

android mvvm demo

2023-08-09

ViewBinding+DataBinding+MVVM.zip

一个简单的Demo,供新手快速入门ViewBinding+DataBinding+MVVM

2023-08-09

ONVIF20协议中文原版.zip

ONVIF20协议中文原版.doc

2022-12-30

msys2编译ffmpeg完整环境.zip

可以在windows下编译出ffmpeg的dll库和lib库,包含全部环境

2022-11-11

OpenSSL-Win64-3.0.7.zip

OpenSSL-Win64-3.0.7.zip

2022-11-08

pkg-config-0.23 Win32+Win64

已经编译的exe程序,适合windows上使用,可配合msys2进行交叉编译

2022-11-08

iperf3 win64+android.zip

windows端和android端网速测试工具

2022-11-01

AndServer实现文件下载+文件浏览服务

AndServer实现文件下载+文件浏览服务

2022-10-31

commons-codec-android-1.15

android定制版的commons-codec,可以在android中使用apache的Base64等功能

2022-09-27

webrtc-m89-android.7z

2021年最新官方WebRTC源码,包含最新的libgingle库 适合有WebRTC开发经验,需要更新库版本的朋友使用 本代码实测可用,但并不提供完整工程和服务端,不适合伸手党使用

2022-04-26

阿里VLayout.zip

以淘宝首页为例,介绍阿里VirtualLayout库的使用方法

2022-04-09

Android自定义FlowLayoutManager

Android自定义FlowLayoutManager

2022-04-06

CoordinatorLayout源码解析和手动实现.zip

CoordinatorLayout源码解析和手动实现.zip

2022-03-31

海康网络SDK-Android

海康网络SDK-Android,主要简化了初始化,登录,布警,获取报警事件和图片等功能

2022-03-30

带橡皮筋效果的RecyclerView

控件可以像橡皮筋一样,内容越拉越长,松手时恢复到正常状态

2022-03-05

带回弹效果的ScrollView

弹性滚动控件,拉到顶部和底部时,仍可以继续拉出一部分空白区域,然后弹回去

2022-03-02

安卓RecyclerView通过ItemTouchHelper实现侧滑拖拽功能

源码解析,手动实现

2022-02-25

Apache POI for Android

适用于安卓的Excel读写库,简单易用

2022-02-24

NDK CMakeList 模版工程

一个非常简单的例子,演示如何通过CMakeList来直接运行cpp代码

2022-02-16

Android CH34X串口转USB.zip

Android CH34X串口转USB.zip

2022-02-11

安卓读写串口,用于SerialPort数据通信

安卓读写串口,用于SerialPort数据通信

2022-02-11

安卓读写GPIO,用于对硬件IO口进行读写

安卓读写GPIO,用于对硬件IO口进行读写

2022-02-10

CH34xMultiUART.zip

转换器驱动,适用于安卓设备,USB转串口,转换器型号为CH340/CH341。压缩包内包含了Jar包和示例代码,代码很简洁,包括设备查找、配置、读写。支持多个USB或多个串口设备同时连接

2022-01-08

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

TA关注的人

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