自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

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

原创 撤销某个App的某项权限

最近在做App的初始化检查,其中涉及到权限检查。需要模拟没有获取权限的状态。找到了一条命令可以用来撤销App的权限。

2025-09-10 17:13:22 215

原创 Android创建demo脚本

有时候在使用Android Studio创建demo进行开发验证过程中。创建的demo不能直接运行比较浪费时间。所以我写了一个脚本,可以把能运行的demo作为模版。

2025-09-03 16:42:59 214

原创 推荐老的布局管理器

这个布局管理器用来抓布局比较好用。

2025-08-27 17:23:31 89

原创 trace分析之查找点击事件

可以把要分析的app进程中的这个一栏固定。有紫色信息的就是有点击事件,可以通过这个来分析。

2025-08-13 17:47:20 472

原创 git设置提交的作者名字

【代码】git设置提交的作者名字。

2025-08-13 15:30:06 265

原创 解决音视频开发中 因mp4中断 无法播放的问题

在录制视频的过程中,可能因为一些意外原因,造成视频中断。让视频无法播放。研究了一些处理方法。

2025-07-31 16:39:52 235

原创 使用adb 发送广播 动态改变app内的值

在开发过程中有时候我们需要做一些调试工作。可以通过adb发送广播实现。

2025-07-24 19:05:30 303

原创 使用Android Studio 聊微信

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

2025-07-10 15:16:03 429

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

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

2025-07-04 23:11:33 192

原创 组件化gradle配置

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

2025-07-01 10:11:22 133

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

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

2025-06-21 10:17:55 798

原创 修改perffto的时间格式

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

2025-06-18 20:53:13 159

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

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

2025-06-18 20:47:54 225

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

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

2025-06-17 20:35:50 264

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

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

2025-06-17 20:00:22 296

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

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

2025-06-13 20:21:36 426

原创 Android 中模拟高负载场景

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

2025-06-12 14:10:00 343

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

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

2025-06-12 10:48:18 1321

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

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

2025-06-06 21:35:34 342

原创 解决Popwindow宽高的问题。

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

2025-03-21 10:03:13 489

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

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

2025-03-20 15:53:45 539

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

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

2025-02-28 15:33:18 561

原创 gradle 代理设置

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

2025-01-05 21:46:29 230

原创 使用NodeJs 实现图片转PPT

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

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

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

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

2024-09-02 16:02:48 355

原创 实现 GridLayoutManger 和 StaggeredGridLayoutManager 的混排

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

2024-08-29 18:00:40 720

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

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

2024-08-29 17:33:39 299

原创 使用gradle 移除敏感权限

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

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

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

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

2024-08-29 02:03:34 1048

原创 StaggeredGridLayoutManager 瀑布流 bug处理

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

2024-08-28 17:21:46 542

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

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

2024-08-22 10:09:30 990

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

需要在清单文件中声明。

2024-08-21 15:36:59 320

原创 清除系统默认 dialog 样式

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

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

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

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

2024-08-08 17:13:15 470

原创 重启主界面

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

2024-08-02 16:17:46 176

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

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

2024-07-31 10:12:42 376

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

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

2024-07-05 15:53:48 494

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

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

2024-07-01 15:49:11 246

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

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

2024-06-26 14:14:19 276

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

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