自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(205)
  • 资源 (5)
  • 收藏
  • 关注

原创 仿微信图片编辑 全网功能最全的图片编辑器

序言最近写一个图片编辑器,仿造的微信的图片编辑,以下加粗的功能是微信没有的。这个项目可以说是目前编辑功能最多的编辑器。而且功能都支持定制。绘制方框绘制圆形绘制文字绘制箭头涂鸦绘制马赛克图片剪裁使用1.可以定制需要的功能,不需要的功能会自动隐藏。以下是定义的在TRSPictureEditor的常量。 public static final int BOX_ENABLE = 0x00000001;//方形选择框 public static final int CIRC

2021-04-30 00:42:50 2884 4

原创 使用Android Studio 聊微信

闲来无事发现Android Studio可以用来聊微信。新版的Android Studio有一个Running Device模块可以用来管理真机,可以操作真机。通过连接真机可以用来聊微信。问题是这个功能,可以输入文本,但是不能输入中文。于是就开发了一个工具,可以在控制台输入中文转发到手机上。

2025-07-10 15:16:03 261

原创 鸿蒙中判断两个对象是否相等

在鸿蒙开发中由于其使用@Observed修饰的类会改变原型链,特别是里面的字段。在比较两个类是否相等的时候就会有问题。

2025-07-04 23:11:33 142

原创 组件化gradle配置

把公共的接口定义放置在common库中,具体实现通过runtimeOnly 在编译时才引入。

2025-07-01 10:11:22 110

原创 使用python实现 大批量的自动搜索安装apk

最近业务上需要大量安装apk。想通过python边写自动化脚本来实现。经过研究,达到了预期。现在把这个过程中遇到的一些问题记录下来,帮助大家在相同场景下更快更好的实现。

2025-06-21 10:17:55 772

原创 修改perffto的时间格式

在使用perffto的过程中,显示的时间默认是一个相对时间。和我们的logcat获取的日志不好对比。我现在记录一下怎么调整时间格式的方法。

2025-06-18 20:53:13 141

原创 使用Trace分析Android方法用时

在性能优化过程中,有时候我们需要研究一些方法耗时。可以使用Android提供的Trace 这样可以在perffto的日志文件中记录某个方法耗时。

2025-06-18 20:47:54 174

原创 使用批处理自动拉取截屏图片

在开发过程中有时候需要截屏来反应问题。截完屏以后。需要把文件发送到电脑。这个时候一般使用adb pull。但是截屏的文件名一般很长。我比较懒。写了一个脚本。可以输入一个数量自动把文件拉取到当前目录下的app_file目录下。

2025-06-17 20:35:50 223

原创 解决调试系统APP,经常被杀的问题

主要用于开发和测试阶段,方便开发者能够直接通过ADB调试连接到Android设备上的应用,而不需要每次都手动设置应用的可调试性或依赖于IDE的自动配置。不过,在实际开发过程中,更多情况下我们是在应用级别的build.gradle文件中配置debuggable选项来控制特定应用的可调试性。持久性:由于属性名称中包含 persist. 前缀,这意味着该设置会在设备重启后依然保持有效,而不像不带此前缀的属性那样仅在当前会话中生效。权限要求:执行此命令通常需要root权限,因为它是修改系统的持久属性。

2025-06-17 20:00:22 270

原创 批处理实现:自动抓取perfetto日志 自动导出到当前文件夹 自动打开分析页面

最近在研究性能问题需要抓取trace文件。于是写了个脚本。

2025-06-13 20:21:36 344

原创 Android 中模拟高负载场景

很多APP的性能问题都是因为高负载产生的。但是由于性能问题的复杂的外部环境。所以需要有一个方便模拟高负载的办法。提高复现率,才有机会解决问题。

2025-06-12 14:10:00 255

原创 使用adb 抓取perfetto-trace的注意事项

在使用adb命令抓取perfetto-trace的时候需要注意,需要有root权限。如果出现这个错误。可以尝试下面的方法命令解释清理并重置 Android 系统上的 Perfetto 跟踪服务,以便进行新的性能分析。常用于以下场景:清理之前的 Perfetto 跟踪文件;确保 Perfetto 服务被正确重启;在自动化测试或性能基准测试前准备环境。如果在非root的手机上执行上面的命令会出现下面的提示。

2025-06-12 10:48:18 1110

原创 鸿蒙开发 获取当前页面的路径和名字

在做鸿蒙开发的时候,有时候想知道当前页面的路径和名称。经过我的研究找到了一个简单的实现方案。

2025-06-06 21:35:34 287

原创 解决Popwindow宽高的问题。

在使用Popwindow进行自定义的过程中,需要设置popwindow的宽高。但是宽高很多时候容易出问题。比如下面的例子。布局文件是一个屏幕全屏,高度400dp的view。背景色是白色。使用了传统方法设置宽高实际显示效果很差,没有内容只有一个黑色透明背景。

2025-03-21 10:03:13 455

原创 贝塞尔曲线实现底部导航栏

红色点是贝塞尔曲线的控制点。方便查看。

2025-03-20 15:53:45 495

原创 解决使用CardView做背景,popwindow不显示阴影的问题

这是因为PopupWindow的背景会覆盖在CardView的上层。如果PopupWindow的背景不设置为透明,它会遮挡住下面CardView的阴影效果。当我们把PopupWindow的背景设置为透明时,CardView的阴影就能够正常显示出来了。这是Android视图层级渲染的一个特性,PopupWindow的背景会作为最顶层绘制。

2025-02-28 15:33:18 514

原创 gradle 代理设置

文件路径通常为 C:\Users<YourUsername>.gradle\gradle.properties。gradle代理设置。

2025-01-05 21:46:29 204

原创 使用NodeJs 实现图片转PPT

帮朋友下载网络资源。最后转化为PPT网页是这样的。

2024-12-19 14:25:28 886 2

原创 2024年9月 对接Here地图记录

在初始化sdk时需要两个变量,一个是一个是由以下方法创建。在这里插入图片描述。

2024-09-02 16:02:48 327

原创 实现 GridLayoutManger 和 StaggeredGridLayoutManager 的混排

最近项目中要实现瀑布流的混排,于是写了一些工具类来实现。使用了这个工具类,可以处理混排,可以处理间距。都集成在一个接口中。最后效果类似这样。

2024-08-29 18:00:40 677

原创 可以显示调试信息的Drawable

为了研究瀑布流布局中的布局规律和 StaggeredGridLayoutManager.LayoutParams中的spanIndex的关系。需要把这些内容打印出来,但是不如直接显示在item方便。于是写了一个drawable来实现。

2024-08-29 17:33:39 285

原创 使用gradle 移除敏感权限

最近要上架Google Play 但是因为有个敏感权限很容易被拒。想着把权限依赖的库去掉就行了,但是遇到一个恶心的问题。就是这个权限在Android Studio的Merged Manifest 视图中没有,但是在生成的apk中却包含。这样的就不能通过Android Studio来定位权限来自于那个库。包含在生成的清单文件中。

2024-08-29 11:57:06 512 1

原创 Android 优化之 查找so 文件的来源

有时候我们需要优化apk的包体积大小。比如下面这样的。一个so文件大小有10M。但是我们并不知道so文件是那个库引入的。所以需要研究一下。

2024-08-29 02:03:34 801

原创 StaggeredGridLayoutManager 瀑布流 bug处理

【代码】StaggeredGridLayoutManager 瀑布流 bug处理。

2024-08-28 17:21:46 487

原创 记录 升级到Gradle 8.4.2 遇到的坑

最近将Gradle从4.0.1 升级到 8.4.2 遇到了很多坑,记录下来帮助有缘人。

2024-08-22 10:09:30 872

原创 Rxpermission请求 android.permission.WRITE_EXTERNAL_STORAGE失败

需要在清单文件中声明。

2024-08-21 15:36:59 302

原创 清除系统默认 dialog 样式

有时候继承dialog,使用自定义布局,显示的效果和预期差距很大,大小不正常,背景色也不正常。可以通过下面的style来清除这些影响。android

2024-08-09 15:48:57 350 1

原创 Retrofit 自定义注解 实现可选择性的打印接口日志

有时候我们需要打印okhttp的日志,但是现在的日志拦截器,不能做到接口级别的日志输出控制。要么就是全部打印。这样很影响调试效率。所以我在这块做了一些探索。

2024-08-08 17:13:15 448

原创 重启主界面

在一些修改了系统配置以后,需要重启生效的时候,使用以下代码完成。

2024-08-02 16:17:46 165

原创 Android 自定义圆形进度条样式

是一个图片,上面的定义可以旋转。对应的drawable。

2024-07-31 10:12:42 368

原创 160行代码实现代码雨效果

一切纷繁复杂的效果,都要学会裁剪。要用面向思想的角度来开发特效,把功能拆解。而驱动一切的就是时间。

2024-07-05 15:53:48 465

原创 可以显示余弦函数的自定义控件

终于把坐标系变化怎么玩,搞清楚了。随手写一个余弦函数的自定义控件。只有70行。

2024-07-01 15:49:11 242

原创 节流工具,避免操作太频繁

用于保证某个操作在一定时间内只执行一次的工具。

2024-06-26 14:14:19 268

原创 圆形控件推荐

YLCircleImageView

2024-06-05 21:20:35 134

原创 Glide支持通过url加载本地图标

glide可以在load的时候传入一个资源id来加载本地图标,但是在开发过程中。还得区分数据类型来分别处理。这样的使用成本比较大。希望通过自定义ModelLoader实现通过自定义的url来加载Drawab。降低使用成本。

2024-06-05 15:29:28 546

原创 生成随机图片

上面的代码可以生成随机图片。而且内容可以指定 **“https://source.unsplash.com/%dx%d/?beauty&random=%d”**比如?后面的beauty返回的就是美女图片。

2024-06-02 08:15:17 1919

原创 在VIVO 手机上安装apk,实现自动点击继续安装

最近换了个测试机,用了VIVO。但是每次安装的时候都必须点击一次继续安装。验证影响效率。为了解决这个问题做了一些研究。

2024-05-22 17:57:11 2048

原创 使用ImageView实现Drawable

有时候在使用drawable绘制图片的时候,要实现类似ImageView中各种 ScaleType的效果。但是每种ScaleType还得自己去实现具体的算法。有点麻烦,后来我想能不能直接复用ImageView的算法。于是有了以下这个类。这个类,亲测可用。记录一下,以备后面使用。

2024-05-20 13:56:54 280

原创 一行代码实现vip标志的显示

在项目中,后期添加了一种用户类型。需要再用户头像右下角显示一个vip的标志。问题是只要有头像的地方都要显示。而有头像的地方很多,设置到的接口也很多。后面考虑通过一个工具类,将这个功能外挂到原来的业务需要的地方。

2024-05-16 10:01:12 576

原创 使用自定义注解处理器,自动收集类信息

在开发过程有些时候我们会需要收集一些类信息。比如要知道某个子类下的所有实现类。可以通过反射的方式实现。但是这种方法有性能问题,因为在运行时,所有类都会包含在dex文件中。这个文件中的类可能有几十万个。而且在实际开发中会发现,新写出来的类,可能没有打包进apk,通过反射无法及时的发现。于是想通过自定义注解处理器来实现。

2024-04-26 16:49:28 458 1

chkbugreport-0.5-216.jar

小米错误日志查看工具

2021-09-29

simpleUMLCE_8205.jar

simpleUMLCE_8205.jar

2021-06-02

AppActivityName.jar

用来获取当前activity的名称,和其中包含的fragment的工具。使用java 8编译。需要系统环境变量中包含adb

2021-11-11

使用Glide4.0 实现点赞动画的demo

Glide实现点赞动画 1. 怎么动态的添加一个动画到指定的View 2. 怎么实现GIF只播放一次 3. 这么监听GIF播放完毕的时间(因为需要在结束时播放消失动画)

2018-06-14

OrderLayoutDemo.rar

可以设置优先级的layout ,继承自LinerLayout,支持水平方向的排列。当空间不足时支持两种压缩模式。一种是直接隐藏,一种是用省略号代替。支持省略号显示最小字数设置,到正文小于该字数时,控件自动隐藏

2020-12-17

空空如也

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

TA关注的人

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