自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mr_Tony的专栏

部分为VIP内容,如果不能解决问题,可以私信

  • 博客(417)
  • 资源 (4)
  • 收藏
  • 关注

原创 Arduino 开发esp32的教程

2、esp32在Arduino上面的支持库安装方式,还有一些库的使用方式。1、Arduino工具使用教程,ESP-IDF教程也有,带视频。记录下 Arduino开发esp32的过程。

2026-07-18 10:17:49 239

原创 使用thonny在esp32上面驱动st7789渲染图片

这里使用python进行开发。图片显示的话暂时只能显示bmp格式的图片。需要将图片转换为240x240大小的bmp格式(也就是安装了st7789芯片的显示器的大小).以下是转换地址还需要一个st7789的驱动还有另外一种使用bin的方式驱动的,比较复杂就没尝试。

2026-07-12 18:46:29 217

原创 四位数码板5461AS电路原理图解析

从图中可以看到 12、9、8、6 针脚控制着千位、百位、十位、个位(这里分别编号1、2、3、4位,后文要用到)的数码管的亮与灭。虽然从电路图上看针脚排列很无规律,但是物理元件上的针脚分布却很简单,见下图。将数码管正面朝向自己,正放(小数点显示在右下方),那么针脚的分布将如下图所示(左下角为1,逆时针方向旋转一周则转到针脚12。即左下角为1,右下角为6,右上角为7,左上角为12)。如果你不想记住,可以用记号笔在数码管的侧面写上针脚,方便以后使用。四位数码管5461AS是共阴型数码管,电路图如下。

2026-06-28 12:52:10 356

原创 IOS中的SwiftUI的滑动监听方式,使用GeometryReader + PreferenceKey

本文介绍了在SwiftUI中使用GeometryReader+PreferenceKey监听ScrollView滚动位置时遇到的关键问题及解决方案。核心问题在于多子视图场景下,默认reduce方法会因后续视图返回0而覆盖正确值。 解决方案分两步: 修改PreferenceKey的reduce方法,仅当新值非空时才更新 在onPreferenceChange中处理负坐标转换 文章提供了两种实现示例: 单Key垂直滚动监听(ScrollMonitorDemoView) 嵌套滚动监听(垂直+水平独立Key的Nes

2026-06-15 09:55:43 233

原创 ESP32开发板环境安装

ESP32开发板有很多型号,记录一下淘宝上买到开发板后如何搭建环境。下面涉及的关键词可以通过ai进行解释回答,然后就能找到关键信息。

2026-06-12 22:31:51 316

原创 iOS / SwiftUI 输入法(键盘)布局处理总结(AI版)

输入框切换时键盘闪烁键盘弹出/收起动画不自然无法像 Android WindowInsetsAnimation 一样平滑跟随。

2026-04-06 21:58:43 210

原创 Swift 中的 Combine 框架完整指南(含示例代码 + 实战)

debounce → 输入优化throttle → 防止重复点击Future → 异步封装AnyPublisher → 类型擦除。

2026-04-06 21:50:38 413

原创 使用SwiftUI开发的无限轮播指示器

【代码】使用SwiftUI开发的无限轮播指示器。

2025-11-18 10:47:09 201

原创 SwiftUI自定义一个水平渐变进度条

系统自带的只能改下进度条颜色,别的做不了,这里演示下自定义进度条如何做。

2025-10-21 18:36:15 238

原创 白描OCR文案识别

功能和费用截图如下。

2025-10-21 11:07:39 793

原创 UiKit中使用DiffableDataSource进行数据差异化更新

在使用的过程中,使用进行差异化数据更新,可以更好的优化性能,并且简化数据更新时候的动画效果。但是代码有一点问题,是关于并发的问题时候使用了进行解决,暂时不知道更好的方式。

2025-10-10 16:48:27 354

原创 UITableView的简单使用方式

极简的列表实现 - 几行代码就能创建功能完整的列表最佳性能 - 专门为垂直列表优化丰富的内置功能 - 编辑模式、索引、刷新控制等成熟的生态系统 - 大量第三方库和社区支持对于简单的垂直列表需求,UITableView 通常是最简单、最高效的选择。

2025-10-10 11:08:26 468

原创 UIKit使用UIScrollView实现简单的滑动效果

可以实现简单的滑动效果,写法也简单,如果要求不高的话,可以使用这个实现。

2025-10-10 10:51:23 241

原创 UIKit中使用UICollectionView实现简单列表

在UIKit中可以使用实现较复杂的列表,以下是此布局的简单使用,效果如下这里面使用自定义实现了滑动缩放的效果,如果不需要可以使用系统默认效果。

2025-10-10 10:45:04 377

原创 UIkit中使用新版UICollectionViewCompositionalLayout进行复杂布局(二)

此前使用进行了简单使用,下面对此进行复杂布局使用,效果如下。

2025-10-10 10:35:07 396

原创 UIkit中使用新版UICollectionViewCompositionalLayout进行简单布局(一)

是 UIKit 在 iOS 13 中引入的一种全新的、功能强大的布局系统,用于。它是一种声明式的布局方式,让你能够通过组合不同的布局组件来创建复杂的界面布局,取代了之前需要子类化的复杂过程。将布局分为cell、group、section、CompositionalLayout四部分,每一部分都可以单独定制,这样使布局达到了极强的灵活性优势特点声明式语法 - 更直观易读组合性 - 通过组合简单组件创建复杂布局灵活性 - 每个 section 可以有完全不同的布局性能优化 - 内置了性能优化机制。

2025-10-10 10:29:29 455

原创 Swift中数据库GRDB的使用方式记录

本文记录一下Swift数据库GRDB的简单实用方式,这是一个第三方的数据库。开源地址如下:GRDB:里面记录了基本的使用方式。

2025-08-16 12:17:02 43

原创 IOS SwiftUI中ScrollView嵌套引起的滑动距离监听实效解决方案

解决SwiftUI中嵌套滑动冲突的问题

2025-08-11 11:30:45 49

原创 Xposed的使用

Xposed可以对其它应用进行进行逆向分析及修改测试,本文简单记录下使用过程中对要点。

2025-04-04 14:52:24 1084

原创 js油猴脚本

油猴脚本一定程度上可以在WebView上进行挂载实现一些功能。以下是参考资料,后续有机会进行完善。

2025-03-31 16:31:33 539

原创 X-Requested-With,一个少见且难以修复的问题

从Android 12开始部分移除,Android13开始完全移除,本文记录如何在低版本移除修改的部分参考代码。在Android 12以下,使用WebView请求数据会添加请求头。

2025-03-30 10:33:51 934

原创 Android中使用Robolectric测试点击事件(不需要手机)

Robolectric 是一个由 Google 维护的开源 Android 测试框架,它允许你以 Android 运行时环境运行单元测试。Robolectric 提供了一个模拟 Android 运行时环境,允许你测试你的代码是否正确地使用 Android API。所以在不依赖于手机的情况下可以对android项目进行测试。当然也可以在有手机的时候对Android项目进行测试。

2025-02-28 20:21:17 1021

原创 Android仿微信聊天图片的放大缩小效果

一个仿照微信聊天图片放大缩小的功能

2024-11-25 11:30:39 924

原创 Compose 一个联系人索引列表实现

一个用通义灵码实现的功能

2024-10-09 11:12:43 483

原创 Android RecycleView触摸事件记录

在开发中有时候需要对RecycleView的触摸事件进行拦截和处理,RecyclView本身事件比较复杂,直接使用View的事件体系不能完成特定业务。比如区分滑动和点击事件。

2024-05-31 19:57:05 1642

原创 Android Studio中打开文件管理器

记录下在Android Studio中打开文件管理器的操作步骤

2024-02-05 15:27:50 2260

原创 Compose中的重组、state、remember

在Compose中UI采用State状态来控制UI变化,根据状态的不同来显示不同的内容,每次UI的重新变化成为重组。通过remember可以将state的数据保存起来(或者实例对象,毕竟条件不改变的话默认只会执行一次remember中的函数,哪怕重组无数次),避免在重组期间进行重置。下面记录下三者的关联。

2024-02-01 15:30:55 1379

原创 Android源码中示例代码的查看方式

由此可知其余示例也是找到相关的官方仓库,然后去查看示例代码。在实际开发中查看官方api定义的时候会看到如下内容。

2024-02-01 12:18:50 458

原创 Android Room数据库异常(线上两个版本之间结构无变动): Room cannot verify the data integrity.

在Room数据库结构变动的情况下,如果没有进行Room数据库升级迁移,则会报错。在实际开发过程中,数据库结构会经常变化,直到发版。一般来说卸载即可重新安装,但是有时候即使卸载了再安装依然会出现这个错误。这时候通常重启设备再重新安装即可,然而再后面即使数据库没有更改多次安装还是有概率出现,一旦出现,只能重启。查阅多种资料,最终发现通过禁用备份功能可以解决该问题。猜测是备份功能会自动把之前旧的数据库版本更新下来然后与当前新版本数据库产生了冲突。

2024-01-30 16:27:25 1516

原创 在Compose中控制组件中数据的流速

在Compose中设计思想是分为状态和组件的,组件由状态控制。这个操作和传统的AndroidView不太一样。在Compose中对话框Dialog也是一个组件,其显示和隐藏由外部状态控制。这里有一个场景,假设显示和关闭的时间间隔过短的话,需要将时间延长至两秒后再隐藏。针对这种问题有两种写法,一种是外部控制显示隐藏时机,一种是内部控制。外部控制较为简单,这里不再记录。本文记录下内部控制方式。

2024-01-29 20:04:42 810

原创 Compose中添加Android原生控件

Compose中使用Android原生控件的注意事项

2024-01-26 15:42:54 1558

原创 Compose中使用paging3进行列表分页加载Room中的数据

本文简要记录下流程,代码需要修改后才可以运行。

2024-01-12 20:07:52 2018

原创 gradle构建项目速度优化及排查方式

gradle构建优化分为两部分,分别为Android上面的优化和gradle项目通用优化,使项目编译速度提升,节省开发时间。在此前提保持良好的编码习惯并减少代码和资源,也有利于提高编译速度。

2023-11-26 16:31:50 4468

原创 Could not resolve all files for configuration ‘:app:androidJdkImage‘.

解决办法为,修改java版本为17。本地重新下载Java17的jdk,这样本地就会有21、17两个版本,然后在项目中指定依赖的java版本17并配置路径(也可以配置环境变量)可以看出使用的sdk版本为34,java版本为21.

2023-11-26 13:00:28 5033

原创 性能优化中使用Profiler进行内存泄露的排查及解决方式

性能优化中使用Profiler进行内存泄露的排查及解决方式

2023-11-25 15:06:11 4328

原创 性能优化中使用Profiler进行页面卡顿的排查及解决方式

Profiler对页面卡顿的排查及处理办法

2023-11-24 11:01:30 4468 3

原创 使用ListenableFuture进行异步任务执行并进行线程切换

在程序中会经常需要做一些异步任务,但是由于部分操作其实很简单,仅仅是短暂的进行异步操作,然后在结果成功或失败的时候切换回主线程进行下一步处理,这期间不能阻塞主线程。这里记录一下使用google的guava库里面的并发类进行处理,也可以,只是在Android上最低支持API23版本,但是项目最低支持21。使用来进行Java高版本兼容的话,改动比较多,一直有R8/D8兼容性错误。估计要升级jdk、gradle等等版本,在协作开发中不太合适。项目中本身就有guava。所以使用这个进行开发。

2023-11-23 11:15:57 1387

原创 TypeScript中的难点语法解析

记录一些TypeScript中难以理解的语法结构

2023-11-08 19:17:37 596

原创 开发中各个工具的版本变化速查链接

该文档虽然是官方文档,但是不会把实验功能写出来,比较好的地方就是看起来整齐简洁,下一条文档也是官方的,很全面,但是文档写的复杂。可以从这个文档有个简单了解,具体每个版本细分特性可以查阅https://docs.oracle.com/en/java/javase/21/index.html 这个链接,然后将版本号修改下即可。可以选择不同的版本查看,比较不好的是,没有列出每个版本的新增变化。groovy的版本变化相较于其余更加难读主要位于官网的最下面。

2023-10-29 20:14:59 627

原创 android中gradle的kotlin编译配置选项

传递参数的发过誓可以直接在里面写。该配置在其余平台不可用。

2023-10-29 16:47:18 2936

Crodova在Android上的使用(上传文件下载最低也要两分,没法免费...)

Crodova在Android上的使用,文中还提供了一种不用注释代码也能实现点击事件的方案

2018-03-07

百分比适配库的jar

里面包含android-support-percent.jar和鸿洋大神的扩展代码eclipse版本以及ColorInt注解的android-support-annotations.jar

2015-10-26

微信登录代码

微信登录代码,仅供参考,不包含密钥,所以不能打包测试,使用人员可以替换相应密钥和包名进行打包测试。

2015-11-05

动画移动后获取焦点

点击控件后通过动画使控件移动,在移动后的位置重新获得焦点

2014-06-29

空空如也

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

TA关注的人

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