- 博客(267)
- 资源 (80)
- 收藏
- 关注
原创 android——基础架构设计与实现
作为从业多年的 Android 开发者,我有幸参与了多个从零开始的项目开发,涵盖工具类应用(如安全防护)、内容类应用(如交友直播软件)以及物联网工具(如蓝牙、wifi等智能控制)。基于这些实践经验,我将分享对 Android 应用架构的理解与思考,希望能为开发者同行提供参考。
2025-04-01 20:02:20
1051
原创 kotlin——MVVM框架下的大型项目优化、以及activity和viewmodel臃肿的优化
在大型项目中,随着项目越做越大,activity和viewmodel的代码会越来越多,尽量保持Activity和ViewModel的代码精简和易于维护是非常重要的。个人建议700行以上就应该考虑,尽量让代码控制在1000行以内。不然随着代码多维护起来困难,代码混乱,有bug时定位问题难,增加需求代码难等问题就会随之而来,那应该怎么办呢?(Code Review):定期进行团队内部代码审查,发现并修复代码中的冗余和不良编码习惯。中处理的数据过多,可以考虑将其拆分为多个小的。更加专注和易于理解。
2024-06-22 12:01:44
876
原创 android——解决bug的流程以及细节(定位当前activity、定位哪里调用了当前的方法)
解决bug的第一步,当然是稳定的复现bug。根据我的经验,如果一个bug可以被稳定的复现,至少它就被解决了70%。通过观察bug的现象,就可以对bug做个大致的归类或者定位了。是因为数据问题?还是第三方库的问题?还或者是代码的问题?接着就是debug,看日志等常规操作了~如果经过上面的操作,你还是一筹莫展,那么请往下看。遇到bug,先观察bug现象,然后想想大概是什么原因导致的,然后尝试复现它,再调试它,处理它。
2024-06-21 11:01:51
1960
原创 python——根据公司名称查找公司地址(批量)、随机生成姓名、随机生成手机号
根据公司名称查找公司地址(批量)、随机生成姓名、随机生成手机号;各个功能都已经封装成了独立的方法,直接粘贴使用即可。
2022-09-26 22:10:14
7788
原创 vue——后台管理系统之动态路由权限(左侧菜单按角色分配显示)
后台管理系统之——动态路由添加使用(左侧菜单按角色权限动态显示)按照每个角色所拥有的权限来进行对应的展示,实现动态挂载路由,按需显示,官网的说明太过于简单,以至于本人花了很多时间才做出一个完整的动态路由,希望对大家能有所帮助...
2022-07-09 01:55:07
2485
原创 nodejs——后端项目实战(后台基础框架)
3、数据库:mysqlusername:wangyao password:wy1234、使用postman进行post请求访问能获取到数据,代表登录功能完成。
2022-03-19 11:10:42
9116
原创 微信小程序——设计模式(单例,状态模式,观察者模式、代理模式、策略模式【表单验证】)
1、单例// 单例var mySingleCase = function () { // 私有变量和方法 var attribute = "我是‘私有’属性" function showPrivate() { console.log("我是私有方法的输出") } return { publicMethon() { // console.log("我是公共方法--调用私有方法") showPrivate() }, pu
2021-04-16 14:00:51
3399
原创 uniapp——网络请求的封装、全局样式,全局变量、传值(父子组件,不同页面等)
网络请求的封装根据thorUI开源框架给出的代码进行封装,还有如果需要token来请求的话,需要自己去获取token,然后写到代码:const tui = { delayed: null, //接口地址 interfaceUrl: function() { return 'https://www.thorui.cn' }, /** * 请求数据处理 * @param string url 请求地址 * @param string method 请求方式: GET or POS
2020-12-30 15:21:26
4294
1
原创 微信小程序——数组操作 (增加删除修改遍历)map、filter、forEach、find的用法、二维数组,排序,求和、指定长度数组赋值
Array.push() ->在数组后面继续插入内容Array.pop() ->拿走数组最后一个内容Array…shift()->拿走数组的第一个内容 (unshift也是拿走最后一个)Array.reverse()->对数组从大到小排列Array.sort()->对数组从小到大排列**Array.splice(起始位置 , 位数,”增添内容”)->从数组中取出以起始位置开始的位数的内容,并写入增添内容,可用来删除内容与替换,例如people.aplice(1,2,“name”)
2020-06-23 09:21:51
49369
3
原创 微信小程序个人中心-我的界面
个人中心-我的界面简介我们在开发微信小程序的时候,基本上都会有一个个人中心的界面,简称我的界面,里面有保存每个用户的个人信息,个人设置,个人的数据记录。所以本文主要针对这个页面做了一个自己熟练的界面,下面来看看效果图:效果图...这种效果的整体布局固定不变,如果想要更好看的效果,可以修改里面的图片小图标,还有背景颜色,又或者加上动图都是可以的,但是整体的框架基本就是这样,所以下面来...
2020-04-24 17:14:51
57783
原创 kotlin扩展函数(防抖)、节流
简介如果说java是开发android的绿皮车,那么kotlin就像是开发android的动车高铁,至于为什么这么说,其中的原因之一:扩展函数至于什么是扩展函数,本文不做过多的介绍,不懂的,需要补基础的可以找某度,本文只介绍怎么使用使用结构如下图,其中ActivityExtends,ContextExtends,ImageViewExtends都是扩展函数罗列其中的几个功能作为演示1、...
2020-04-17 15:23:18
8727
1
原创 微信小程序中好看的按钮样式(渐变色)、view的点击变色效果、按钮漂亮的圆角边框、解决hover设置失效
在.wxss文件中代码如下:/* border-radius: 98rpx;是控制按钮边变圆 */.goodbutton { margin-top: 30px; width: 80%; background-color: rgb(252, 126, 67); color: white; border-radius: 98rpx; background: bg_red...
2018-09-22 09:56:54
42944
11
原创 C#——报错:System.Net.Sockets.SocketException (10049): 在其上下文中,该请求的地址无效。
摘要:Kestrel启动失败问题解决方案:当Kestrel无法绑定指定网络地址时,需修改Properties/launchSettings.json文件中的applicationUrl参数。将示例中的192.168.101.145替换为本地实际IP地址(如192.168.101.137),保存后重新运行项目即可解决绑定问题。该操作主要针对Development环境的配置调整。
2026-02-03 19:09:31
55
原创 android——Android Studio 路径迁移指南(释放 C 盘空间)
摘要: 针对Windows系统下Android Studio占用C盘空间的问题,本文提供了三类核心文件(.android、.gradle、.AndroidStudio)的迁移方案: .android:通过环境变量ANDROID_SDK_HOME指定模拟器镜像新路径; .gradle:通过GRADLE_USER_HOME环境变量重定向缓存目录; .AndroidStudio:修改idea.properties配置文件中的config.path和system.path。 操作后需重启AS验证路径生效,迁移旧文件
2026-01-26 17:55:48
1129
2
原创 C#——意框架(结构说明)
本文将结合工程约定与模块模板,详细说明module目录下各常见子项目/文件夹的核心职责、放置内容及设计原则。以下结构适用于多数基于DDD(领域驱动设计)思想的分层架构项目,可根据实际技术选型(如ORM框架)微调命名。
2026-01-15 10:32:47
891
原创 android——开发中的常见Bug汇总与解决方案(闪退)
Bug是程序员成长路上的必经之路。面对bug,我们要有:1. **耐心** - 仔细分析日志和堆栈信息2. **方法论** - 使用二分法、断点调试等技巧3. **预防意识** - 编写健壮的代码,添加充分的测试4. **学习心态** - 每个bug都是学习的机会记住:没有不会写bug的程序员,只有不会调试的程序员。希望这份汇总能帮助大家在Android开发路上走得更加顺畅!---**持续更新中...** 如果你有其他常见的bug案例,欢迎在评论区分享!
2025-12-19 17:30:55
772
原创 android——热修复(补丁)
文章摘要:Tinker补丁打包流程包括:1)生成基准包;2)修改代码但不新增/删除资源;3)配置补丁信息(可选);4)运行命令生成补丁包。关键点:基准包路径、TinkerId版本号、Application类配置需准确,补丁包最终输出在tinkerPatch目录。注意资源修改限制,补丁包名为patch_signed_7zip.apk。(135字)
2025-07-09 17:16:30
399
原创 工具——(常用的软件)视频编辑器
2、图标无损放大:oCam 或者 Adobe Illustrator CS6。4、截图置顶工具:Snipaste 或者。3、图片编辑:Photoshop CS6。6、文本日志工具:Notepad++1、视频编辑器:filmora 9。5、抢票:Bypass。
2025-03-27 15:44:43
276
原创 android——屏幕适配
在 Android 开发中,屏幕适配是非常关键的。因为 Android 设备具有各种各样的屏幕尺寸、分辨率和像素密度。如果没有进行良好的屏幕适配,应用可能会出现显示不完整、元素拉伸或压缩变形、字体大小不合适等问题,极大地影响用户体验。屏幕适配是一个综合性的工作,需要结合布局、资源和代码等多种方式,以确保应用在各种 Android 设备上都能有良好的显示效果。
2024-12-26 14:01:33
1900
原创 图片无损放大(免费)
下载地址:我用夸克网盘分享了「Lossless.Zoomer.x64_3.1.0.zip」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。我们可以使用软件工具:Lossless.Zoomer.x64_3.1.0 来进行无损放大(免费)链接:https://pan.quark.cn/s/e6599ccfeb29。1、使用Lossless.Zoomer.x64_3.1.0。使用左上角的设置--打开--只能放大jpg的文件。
2024-12-23 14:48:49
517
原创 android——jetpack startup初始化框架(启动性能优化)
Android Jetpack Startup是一个库,它简化了Android应用启动过程,尤其是对于那些需要处理复杂数据绑定和初始化逻辑的应用。它的核心在于提供了一个。这样的自定义方法中。这种做法可能导致UI阻塞,特别是当初始化操作耗时时,用户体验可能会变差。,用于声明应用的初始化逻辑,这个逻辑会在首次启动时异步运行,而不是直接在。AsyncInitializer 类。中初始化,所有的代码通常会放在。LogInitializer类。或相关生命周期方法内,如。
2024-11-05 10:41:33
613
原创 android——自定义控件(不停变化的textview、开关switch、动画效果的打勾)
*** 自定义开关Switch*///默认的宽高比例//动画最大的比例//画跑道型背景//画背景上的字//开启//关闭//画白色圆点//是否正在动画//监听init();init();init();Log.e(TAG,"init()被调用");// 开启的文字样式// 关闭的文字样式@Override。
2024-10-10 10:02:47
621
原创 kotlin——设计模式之责任链模式
使用责任链模式可以避免大量的条件语句,使代码更加可扩展和可维护。同时,它也符合单一职责原则,每个处理者只需要关注自己的责任,而不需要关注其他的逻辑。
2024-09-23 10:40:21
667
原创 kotlin—— withTimeoutOrNull的介绍和使用场景
是 Kotlin 协程库中的一个非常有用的函数,它允许你在指定的时间内执行一个代码块,如果在指定的时间内代码块没有执行完毕,那么它会返回。,而不是抛出一个异常。这个函数在处理可能需要较长时间完成的操作,但又不想让程序因为等待这个操作而阻塞的场景中非常有用。
2024-09-20 19:03:19
1181
原创 android——workermanager
Android Jetpack WorkManager是一个库,它简化了后台任务管理和异步工作处理,使得开发者可以编写更易于管理、可靠且响应用户交互的应用。WorkManager可以帮助你在合适的时间执行长时间运行的任务,比如定期数据同步、清理缓存等,而不会影响用户体验。。
2024-08-22 13:56:07
575
2
原创 android——设计模式(工厂模式)
Android 设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而不必暴露其内部的创建逻辑。在Android中,工厂模式通常用于管理复杂组件实例化的过程,比如创建各种View、Activity、Fragment等。通过将组件的创建过程封装在一个单独的类或者接口中,可以方便地改变实现细节而无需修改客户端代码。
2024-07-05 11:49:40
675
原创 android——Livedata、StateFlow、ShareFlow和Channel的介绍和使用
LiveData是一种在Android开发中用于观察数据变化的组件。它可以被观察者注册并在数据变化时通知观察者,从而实现数据的实时更新。LiveData具有生命周期感知能力,它会自动管理观察者的生命周期,确保观察者只会在活动状态下接收数据更新。示例代码// 模拟获取新数据) {// 更新UI显示})StateFlow是一个具有生命周期的可变状态流。它在流中保存了一组数据,并在数据发生变化时通知观察者。
2024-06-28 18:12:44
1283
原创 node——使用localtunnel做内网穿透、mock数据、刷新token的后台用js
内网穿透是一种。将您的本地主机公开到世界各地,使之能访问,无需混淆DNS或部署。此外,内网穿透的好处包括方便远程访问内网资源、进行功能测试和实现远程控制等。它对于需要在外网环境下访问内网服务的开发者、IT管理员以及普通用户都非常有用。
2024-05-11 19:30:52
1408
原创 android ——MMKV保存bean实体对象、保存数组bean
MMKV是一款基于 mmap 内存映射的 key-value 存储库,专门为移动端开发设计。相比于传统的SharedPreferences和SQLite等存储方式,MMKV具有更快的读写速度和更小的存储空间占用。同时,MMKV还提供了多线程安全的支持和可配置的加密选项。因此,在移动端开发中,MMKV被广泛应用于数据持久化和缓存优化等方面。
2024-05-10 17:54:00
1463
介绍 该项目基于MVVM项目MVVMHabi,kotlin 语言编写的android MVVM模式基础框架
2023-12-15
xml和compose的结合 二级列表GCP列表的简单示例(包括二级列表选中则自动选中一级列表,列表绑定数据)
2023-12-11
Hilt 实现依赖项注入 Hilt-Android.rar
2023-06-14
android 热修复(补丁)
2025-07-09
pdf-to-ppt.zip
2024-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅