XiuYuanTech

Read The Fucking Source Code

[Android] 智能硬件应用串口开发 (Intelligent Hardware Application Serial Port Development)

智能硬件是继智能手机之后的一个科技概念,通过软硬件结合的方式,对传统设备进行改造,进而让其拥有智能化的功能。 智能硬件的应用领域非常广泛,包括智能家居、智能穿戴、智能办公、智能医疗、智能汽车等。 随着物联网技术的发展,智能硬件在未来的发展中将扮演越来越重要的角色。它将万物共联,成为物联网中的核心主体。 智能硬件的发展趋势包括更高的智能化、更广泛的应用场景、更强的数据处理能力等。它在提高生活......

[JNI] NDK SO Package Optimization

STL的使用 对于C/C++的library,引用方式有2种: 静态方式(static) 动态方式(shared) 其中,静态方式在编译时会将用到的相关代码直接复制到目的文件中;而动态方式则会将相关的代码打成so文件,以便多次引用。由于编译器在编译时并不能知道所有被引用的地方,所以同时会打入了很多不相关的代码。 如果项目中引用library的函数较多时,用动态方式可以避免多次拷贝......
JNI

[SpringBoot] SpringBoot3 + Kotlin 踩坑指南

Kotlin 是一个基于 JVM 的编程语言, 它的简洁、便利早已不言而喻; Kotlin 能够胜任 Java 做的所有事; SpringBoot3于2022年11月24号第一版正式发布后, 带来了许多令人兴奋的新特性和改进。 环境变化 JDK Spring Boot 3.0以上 需要Java 17,并且兼容 Java 20(包括 Java 20)。还需要Spring Framewor......

[Android] Learn And Use Jetpack

Jetpack 包含一系列 Android 库,它们都采用最佳做法并在 Android 应用中提供向后兼容性。 Jetpack 库可以单独使用,也可以组合使用,以满足应用的不同需求。 例如: WorkManager - 满足您的后台调度需求。 Room - 实现数据存储持久性。 Navigation - 管理应用导航流程。 CameraX - 满足相机应用需求。 实现方式 所有 Jetp......

[Android] How to customise gradle plugin

Gradle 和 Gradle 插件是两个概念, Gradle 插件的本质就是抽取高度模块化的逻辑,以便更高效地进行复用。 Gradle 只是提供了一个构建流程。 而其他可复用的 Task(例如编译 Java 工程、编译 Android 工程等), 是通过应用 Gradle 插件来获取的。 Gradle: 构建工具,提供核心构建流程 Gradle 插件: 本质上是可复用的 task,依赖于......

[Android] Okdownload 下载框架学习

learn opensource okdownload

OkDownload是一个android下载框架,是FileDownloader的升级版本,也称FileDownloader2; 是一个支持多线程,多任务,断点续传,可靠,灵活,高性能以及强大的下载引擎。 对比FileDownloader的优势: 单元测试覆盖率很高,从而保证框架的可靠性。 简单的接口设计。 支持任务优先级。 Uri文件转存储输出流。 核心类库更加单一和轻量级。 更灵活的......

[Android] Android Developing Guideline

Google官方Java代码风格参考规范链接, 中文翻译参考版链接。 Android开发规范 - XiuYuan的技术博客 hljs.initHigh......

[Hexo] Hux Blog 迁移至新电脑

Ported Theme of Hux Blog, Thank Huxpro for designing such a flawless theme. This BeanTech theme created by YuHsuan modified from the original Porter Kaijun 新手教程 新手指导请参考:Theme BeanTech 迁移方式 复制整个......

[Android] APT (Annotation Processing Tool)

APT(Annotation Processing Tool)即注解处理器,是一种处理注解的工具, 确切的说它是javac的一个工具,它用来在编译时扫描和处理注解。 注解处理器以Java代码(或者编译过的字节码)作为输入,生成.java文件作为输出,减少手动的代码输入。 简单来说就是在编译期,通过注解生成.java文件。比如我们经常用的轮子Dagger2, ButterKnife, Eve......

[Android] Optimise Frame Animation

帧动画非常容易理解,其实就是简单的由N张静态图片收集起来, 然后我们通过控制依次显示 这些图片,因为人眼"视觉残留"的原因, 会让我们造成动画的"错觉",跟放电影的原理一样!而Android中实现帧动画, 一般我们会用到前面讲解到的一个Drawable:AnimationDrawable 先编写好Drawable, 然后代码中调用start()以及s......