- 博客(138)
- 资源 (5)
- 收藏
- 关注

原创 Android网络层架构:统一错误处理的问题分析到解决方案与设计实现
本文介绍了Android项目中4406状态码统一处理的完整解决方案。采用OkHttp拦截器方案,统一配置RealNameAuthInterceptor统一处理。并整理核心技术细节:循环依赖问题通过回调接口模式解决;ResponseBody流管理通过重新构建ResponseBody解决;重复Toast问题通过修改响应体内容解决。深入分析了OkHttp拦截器的责任链模式设计,并对架构设计原则和基建规范进行思考和总结。
2025-07-09 21:34:27
1076
原创 升级目标API级别到35,以Android15为目标平台(三 View绑定篇)
Kotlin Android Extensions 是 Kotlin 官方提供的 Android 插件(已废弃),它通过自动生成 View 绑定代码,允许开发者直接使用 XML 布局中定义的 View 而无需 findViewById。工作原理是编译时扫描布局文件并生成 synthetic 导入代码。集成需在模块级 build.gradle 中应用插件,但注意该功能自 Kotlin 1.4.20-M2 起已被废弃,官方推荐使用 View Binding 作为替代方案……
2025-07-25 23:46:28
954
原创 升级目标API级别到35,以Android15为目标平台(二 先行篇)
⚠️ 从 Kotlin 1.4.20-M2 版本开始,kotlin-android-extensions 插件已被官方废弃。接下来,会在适配过程中,逐步记录适配过程中的相关内容,并将文章汇总到这里,方便后续查阅。执行命令: ./gradlew --version。简单梳理需要处理的相对比较耗时的适配内容。
2025-07-22 19:14:54
729
原创 Android设备标识符详解:IMEI、ANDROID_ID与OAID
本文对比分析了Android设备标识符IMEI、ANDROID_ID和OAID的特性与适用场景。IMEI是硬件级唯一标识,但权限和版本限制严格;ANDROID_ID是应用级标识,隐私友好但存在应用差异;OAID是国内替代方案,设备级唯一但依赖厂商支持。文章详细介绍了各标识符的获取方式、失败原因及业务场景选择建议,为开发者选择合适标识符提供了参考依据。
2025-07-17 14:42:30
944
原创 Kotlin JVM 注解详解
Kotlin 作为一门现代 JVM 语言,提供了出色的 Java 互操作性。为了更好地支持与 Java 代码的交互,Kotlin 提供了一系列 JVM 相关注解。这些注解不仅能帮助我们控制 Kotlin 代码编译成 Java 字节码的行为,还能让我们的 Kotlin 代码更好地被 Java 代码调用。虽然在日常开发中我们最常用的是 `@JvmOverloads、@JvmStatic、@JvmName 和 @JvmField `这几个注解,但 Kotlin 其实还提供了更多强大的 JVM 注解。
2025-05-30 11:01:37
1147
1
原创 从解决一个分享图片生成的历史bug出发,详解LayoutInflater和View.post的工作原理
使用 LayoutInflater.inflate() 动态生成分享图片时,发现自定义 AvatarView 的头像加载代码未执行。原因是创建的 shareView 未被添加到视图层次结构中,导致 View.post() 失效。解决方案是检查 isAttachedToWindow 状态,确保 View 已完成布局后再执行相关操作。当 View 未附加时,可采用预设默认值作为备选方案。该问题揭示了 View 生命周期的重要性,特别是 attachToWindow 状态对异步操作的影响。
2025-05-28 17:55:17
1063
原创 Google Play上架审核问题解决指南:权限与功能声明篇
本文总结了Android应用上架Google Play时常见的审核被拒问题及解决方案。重点分析了几关键问题,针对每个问题,文章提供了具体的技术方案、代码示例和实战经验。建议开发者在提交前仔细检查这些关键点,确保符合Google Play政策要求。
2025-05-27 17:17:20
1164
原创 Google Play Android应用打包指南
本文介绍如何将Android应用打包并发布到Google Play商店,包括AAB和APK格式的区别、签名配置、打包流程、上架步骤以及多渠道发布策略等内容。
2025-05-12 11:06:22
1009
原创 Android应用隐私合规:解决极光推送SDK提前收集WiFi信息问题
应用在送审时因极光推送SDK未经用户同意读取WiFi的SSID、BSSID和MAC地址等敏感信息,触发了ACCESS_FINE_LOCATION权限,导致审核不通过。这些信息涉及用户位置隐私,属于应用商店严格审核的部分。问题根源在于极光推送SDK在应用启动时自动初始化并收集设备信息,即使未主动调用相关方法。解决方案包括在Application的onCreate方法中立即调用JCollectionAuth.setAuth(context, false)禁止极光推送隐私权限,待用户同意隐私政策后再设置为true
2025-05-09 19:02:48
672
原创 Flutter TabBar 右侧渐变遮罩实现中的事件处理问题
分享一个我在开发中遇到的小问题。在做 Flutter 项目时,我给 TabBar 加了个右侧渐变遮罩效果,想提示用户"往右还有更多标签可以滑动查看"。danshi 加了遮罩后,点击遮罩区域不响应了,滑动手势也被拦截了!折腾了一番,终于找到了完美解决方案,记录一下。
2025-03-27 18:14:32
604
原创 鸿蒙:解决Marquee组件只能横向滚动问题,自定义实现纵向自动轮播
鸿蒙只有提供Marquee组件只支持横向自动轮播,那么想要实现纵向自动轮播只能自定义实现了。具体怎么实现呢?请细看!
2024-12-14 11:38:25
435
原创 源码解读笔记:协程的 ViewModel.viewModelScope和LifecycleOwner.lifecycleScope
整理Android中异步协程常见的两个扩展属性的解读笔记
2024-11-26 20:25:52
1211
原创 代码分享:实现自动滚动和无限滚动以及一些细致的交互
简介:本想找个轮子,轮子没找到,只能自己造了。话不多说,直接上代码干货,可给有需要的xdm直接拿去用。整体实现不算复杂,费点时间。
2024-09-29 21:07:11
719
原创 window 搭建 Flutter for Android的环境(二)
最近又重置了笔记本系统,因此又得重新部署Flutter环境,所以就再重新整理了一下
2024-02-03 20:44:57
833
原创 分享一个实现侧滑菜单的Flutter页面所遇到的问题与解决思路
最近做了一个需要实现侧滑菜单相关的Flutter新页面,页面布局结构稍微比较复杂。因此,做完之后就对研发的过程做出一些整理。以下主要整理跟侧滑菜单相关的内容。直奔主题,首先,要实现侧滑菜单,有以下几个方案。而本次选取的方案,是使用Scaffold 的 endDrawer的方式。在使用这个方案的同时,也是遇到了一些问题……
2024-01-10 19:45:00
1682
原创 Rxjava2的CompositeDisposable
只有了解清楚rxjava的CompositeDisposable,才能完美的解决一个元老级bug。
2023-12-08 14:36:53
310
原创 打包过程遇到的问题:The binary version of its metadata is 1.6.0, expected version is 1.4.0
在给公司的一个项目做打包过程的遇到的打包问题,将一些解决方案整理如下:
2023-06-01 10:37:31
2938
1
原创 给自己做个工具App用用——实现一个桌面小组件
因为看到其他app很多都有桌面小组件,所以也想给自己的工具App,加入了这个新功能。所以就动手搞了,初步搭建代码整理如下。
2023-05-19 22:15:00
372
Android apk更新安装代码
2020-10-12
bluetooth.zip
2020-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人