自定义博客皮肤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内容,如果不能解决问题,可以私信

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

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

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

2025-11-18 10:47:09 150

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

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

2025-10-21 18:36:15 201

原创 白描OCR文案识别

功能和费用截图如下。

2025-10-21 11:07:39 558

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

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

2025-10-10 16:48:27 245

原创 UITableView的简单使用方式

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

2025-10-10 11:08:26 412

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

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

2025-10-10 10:51:23 204

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

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

2025-10-10 10:45:04 325

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

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

2025-10-10 10:35:07 341

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

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

2025-10-10 10:29:29 391

原创 Xposed的使用

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

2025-04-04 14:52:24 932

原创 js油猴脚本

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

2025-03-31 16:31:33 492

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

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

2025-03-30 10:33:51 806

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

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

2025-02-28 20:21:17 956

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

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

2024-11-25 11:30:39 836

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

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

2024-10-09 11:12:43 437

原创 Android RecycleView触摸事件记录

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

2024-05-31 19:57:05 1591

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

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

2024-02-05 15:27:50 2142

原创 Compose中的重组、state、remember

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

2024-02-01 15:30:55 1296

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

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

2024-02-01 12:18:50 426

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

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

2024-01-30 16:27:25 1459

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

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

2024-01-29 20:04:42 777

原创 Compose中添加Android原生控件

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

2024-01-26 15:42:54 1503

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

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

2024-01-12 20:07:52 1939

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

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

2023-11-26 16:31:50 4291

原创 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 4821

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

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

2023-11-25 15:06:11 4150

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

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

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

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

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

2023-11-23 11:15:57 1336

原创 TypeScript中的难点语法解析

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

2023-11-08 19:17:37 508

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

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

2023-10-29 20:14:59 563

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

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

2023-10-29 16:47:18 2761

原创 使用Google的地点自动补全功能

在进行海外开发时候需要使用google地图,这里对其中的地点自动补全功能开发进行记录。这里着重于代码开发,对于key的申请和配置不予记录。

2023-10-25 20:28:43 1028

原创 AnimatedVectorDrawable矢量图动画的使用和修改

文章目录一、前言二、一个矢量图文件三、参考链接一、前言矢量可绘制对象可以提供比较复杂的动画效果,只是绘制比较复杂,这里可以让UI使用Adobe After Effects软件制作出相关的矢量图xml文件交由开发使用。只是如果需要重复播放的动画效果时候,导出的矢量图里面没有改内容,所以需要开发自己添加,这里记录下添加的方式。二、一个矢量图文件以下是一个矢量图的内容。主要由两部分效果(位移和缩放)组成,这里需要设置为无限循环播放模式,需要在里面的属性动画里面添加以下代码 <!--翻转--&gt

2023-08-01 15:19:13 1937

原创 Android中绘制的两个天气相关的View

自定义View

2023-07-28 19:41:21 736

原创 在Android中使用新版proguard混淆器的方式

新版proguard的使用方式

2023-07-24 20:14:37 2780

原创 使用Path时候遇到的有些问题

然后和朋友一起研究后发现,onDraw()绘制了两次,在绘制第二次的时候携带了之前的Path信息导致的结果不同,只需要每次绘制之前或之后把Path的信息清空就可以了。后来通过查找ApiDemos发现正确写法是每次调用Path之前调用下Path.reset()就可以了。问题描述:在学习http://www.jianshu.com/p/2c19abde958c这个博客的时候,运行其中一个代码片段,发现结果和帖子上描述的不同(注意我把Path定义成全局变量,因为系统提示的)。

2023-07-10 11:01:33 549

原创 Mac环境下使用Clion编译测试运行Ffmpeg

编译安装ffmpeg。这里面不要自己创建额外的文件,比如c文件或者makefile文件,因为整个项目会一起编译,如果环境不对会出现错误。然后中间会把编译的库文件安装到 /usr/local/下面,需要进行授权,出现权限拒绝时候,执行类似于以下的命令进行授权。首先从官网或者github下载源码。

2023-06-09 15:07:28 2134

原创 FFmpeg中configure的参数配置解释

这些选项允许你根据项目要求进行定制,减少生成的库和二进制文件的大小或限制特定功能的使用。你可以使用这些参数来启用或禁用特定的编码器、解码器、复用器、解复用器、解析器、比特流过滤器、协议、输入设备、输出设备和滤镜等。通过设置这些选项,你可以根据需求定制FFmpeg的构建和功能,只包括你所需的组件和功能。例如,你可以选择是否启用GPL代码、构建静态库还是共享库、构建特定的程序,以及是否构建文档等。通过使用这些参数,可以使FFmpeg链接到相应的外部库,从而启用与这些库相关的组件和功能。

2023-06-05 19:20:07 5815

原创 MAC环境编译Android环境下的FFmpeg6.0版本

该方式会生成相关文件,否则项目不可运行,执行根目录的configure文件,一. 下载FFmpeg源码。

2023-06-05 16:39:06 3213 11

原创 Cmake学习记录(九)--使用Cmake交叉编译Android .so库

目前Android编译.so的话使用Android Studio比较简单,但是有时候时候Android Studio的话还需要创建一个Android的项目,这里记录下脱离Android Studio单纯使用Cmake和C++开发工具Clion(或者其他的开发工具也行,这些开发工具和Android Studio不一样,哪一种工具都行)。实际上编译.so还有比较简单的方式。比如直接在linux环境下面使用cmake编译c++项目即可,这时候出现的就是.so库。

2023-05-30 20:32:22 4326 1

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关注的人

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