kotlin - java
文章平均质量分 57
android开发
wy313622821
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
android——开发中的常见Bug汇总与解决方案(闪退)
Bug是程序员成长路上的必经之路。面对bug,我们要有:1. **耐心** - 仔细分析日志和堆栈信息2. **方法论** - 使用二分法、断点调试等技巧3. **预防意识** - 编写健壮的代码,添加充分的测试4. **学习心态** - 每个bug都是学习的机会记住:没有不会写bug的程序员,只有不会调试的程序员。希望这份汇总能帮助大家在Android开发路上走得更加顺畅!---**持续更新中...** 如果你有其他常见的bug案例,欢迎在评论区分享!原创 2025-12-19 17:30:55 · 686 阅读 · 0 评论 -
android——热修复(补丁)
文章摘要:Tinker补丁打包流程包括:1)生成基准包;2)修改代码但不新增/删除资源;3)配置补丁信息(可选);4)运行命令生成补丁包。关键点:基准包路径、TinkerId版本号、Application类配置需准确,补丁包最终输出在tinkerPatch目录。注意资源修改限制,补丁包名为patch_signed_7zip.apk。(135字)原创 2025-07-09 17:16:30 · 376 阅读 · 0 评论 -
android——基础架构设计与实现
作为从业多年的 Android 开发者,我有幸参与了多个从零开始的项目开发,涵盖工具类应用(如安全防护)、内容类应用(如交友直播软件)以及物联网工具(如蓝牙、wifi等智能控制)。基于这些实践经验,我将分享对 Android 应用架构的理解与思考,希望能为开发者同行提供参考。原创 2025-04-01 20:02:20 · 1019 阅读 · 0 评论 -
android——屏幕适配
在 Android 开发中,屏幕适配是非常关键的。因为 Android 设备具有各种各样的屏幕尺寸、分辨率和像素密度。如果没有进行良好的屏幕适配,应用可能会出现显示不完整、元素拉伸或压缩变形、字体大小不合适等问题,极大地影响用户体验。屏幕适配是一个综合性的工作,需要结合布局、资源和代码等多种方式,以确保应用在各种 Android 设备上都能有良好的显示效果。原创 2024-12-26 14:01:33 · 1855 阅读 · 0 评论 -
Android——自定义按钮button
项目中经常高频使用按钮,要求:可设置颜色,有圆角且有按下效果的Button原创 2024-12-24 18:06:28 · 662 阅读 · 0 评论 -
android——录制屏幕
点击开始录制后,切换到需要录制的界面,如果想要结束则回到当前应用点击停止录屏按钮。原创 2024-12-11 19:33:41 · 827 阅读 · 0 评论 -
android——jetpack startup初始化框架
Android Jetpack Startup是一个库,它简化了Android应用启动过程,尤其是对于那些需要处理复杂数据绑定和初始化逻辑的应用。它的核心在于提供了一个。这样的自定义方法中。这种做法可能导致UI阻塞,特别是当初始化操作耗时时,用户体验可能会变差。,用于声明应用的初始化逻辑,这个逻辑会在首次启动时异步运行,而不是直接在。AsyncInitializer 类。中初始化,所有的代码通常会放在。LogInitializer类。或相关生命周期方法内,如。原创 2024-11-05 10:41:33 · 589 阅读 · 0 评论 -
android——渐变色
【代码】android——渐变色。原创 2024-10-26 11:02:12 · 1300 阅读 · 0 评论 -
android——Groovy gralde 脚本迁移到DSL(kts)
Groovy gralde 脚本迁移到DSL原创 2024-10-12 11:38:05 · 546 阅读 · 0 评论 -
android——自定义控件(不停变化的textview、开关switch、动画效果的打勾)
*** 自定义开关Switch*///默认的宽高比例//动画最大的比例//画跑道型背景//画背景上的字//开启//关闭//画白色圆点//是否正在动画//监听init();init();init();Log.e(TAG,"init()被调用");// 开启的文字样式// 关闭的文字样式@Override。原创 2024-10-10 10:02:47 · 604 阅读 · 0 评论 -
android——activity之间数据共享(单例等)
【代码】android——activity之间数据共享(单例等)原创 2024-10-08 11:50:52 · 824 阅读 · 0 评论 -
kotlin——设计模式之责任链模式
使用责任链模式可以避免大量的条件语句,使代码更加可扩展和可维护。同时,它也符合单一职责原则,每个处理者只需要关注自己的责任,而不需要关注其他的逻辑。原创 2024-09-23 10:40:21 · 649 阅读 · 0 评论 -
android——workermanager
Android Jetpack WorkManager是一个库,它简化了后台任务管理和异步工作处理,使得开发者可以编写更易于管理、可靠且响应用户交互的应用。WorkManager可以帮助你在合适的时间执行长时间运行的任务,比如定期数据同步、清理缓存等,而不会影响用户体验。。原创 2024-08-22 13:56:07 · 557 阅读 · 1 评论 -
android——设计模式(工厂模式)
Android 设计模式中的工厂模式是一种创建型设计模式,它提供了一种创建对象的最佳方式,而不必暴露其内部的创建逻辑。在Android中,工厂模式通常用于管理复杂组件实例化的过程,比如创建各种View、Activity、Fragment等。通过将组件的创建过程封装在一个单独的类或者接口中,可以方便地改变实现细节而无需修改客户端代码。原创 2024-07-05 11:49:40 · 649 阅读 · 0 评论 -
android——Livedata、StateFlow、ShareFlow和Channel的介绍和使用
LiveData是一种在Android开发中用于观察数据变化的组件。它可以被观察者注册并在数据变化时通知观察者,从而实现数据的实时更新。LiveData具有生命周期感知能力,它会自动管理观察者的生命周期,确保观察者只会在活动状态下接收数据更新。示例代码// 模拟获取新数据) {// 更新UI显示})StateFlow是一个具有生命周期的可变状态流。它在流中保存了一组数据,并在数据发生变化时通知观察者。原创 2024-06-28 18:12:44 · 1233 阅读 · 0 评论 -
kotlin——MVVM框架下的大型项目优化、以及activity和viewmodel臃肿的优化
在大型项目中,随着项目越做越大,activity和viewmodel的代码会越来越多,尽量保持Activity和ViewModel的代码精简和易于维护是非常重要的。个人建议700行以上就应该考虑,尽量让代码控制在1000行以内。不然随着代码多维护起来困难,代码混乱,有bug时定位问题难,增加需求代码难等问题就会随之而来,那应该怎么办呢?(Code Review):定期进行团队内部代码审查,发现并修复代码中的冗余和不良编码习惯。中处理的数据过多,可以考虑将其拆分为多个小的。更加专注和易于理解。原创 2024-06-22 12:01:44 · 845 阅读 · 0 评论 -
android——解决bug的流程以及细节(定位当前activity、定位哪里调用了当前的方法)
解决bug的第一步,当然是稳定的复现bug。根据我的经验,如果一个bug可以被稳定的复现,至少它就被解决了70%。通过观察bug的现象,就可以对bug做个大致的归类或者定位了。是因为数据问题?还是第三方库的问题?还或者是代码的问题?接着就是debug,看日志等常规操作了~如果经过上面的操作,你还是一筹莫展,那么请往下看。遇到bug,先观察bug现象,然后想想大概是什么原因导致的,然后尝试复现它,再调试它,处理它。原创 2024-06-21 11:01:51 · 1849 阅读 · 0 评论 -
android ——MMKV保存bean实体对象、保存数组bean
MMKV是一款基于 mmap 内存映射的 key-value 存储库,专门为移动端开发设计。相比于传统的SharedPreferences和SQLite等存储方式,MMKV具有更快的读写速度和更小的存储空间占用。同时,MMKV还提供了多线程安全的支持和可配置的加密选项。因此,在移动端开发中,MMKV被广泛应用于数据持久化和缓存优化等方面。原创 2024-05-10 17:54:00 · 1444 阅读 · 0 评论 -
android——关于app性能优化篇
应用性能优化是指通过各种技术手段和优化策略,提高应用程序的性能,使其能够更高效地运行和响应用户操作。下面介绍一些常见的应用性能优化方法。原创 2024-05-10 17:31:25 · 1388 阅读 · 0 评论 -
java——分页(先加载全部数据,然后把数据分页进行加载)、异步任务AsyncTask
1、先加载全部数据,然后把数据按照20条一页进行加载(不需要UI主动去调分页)2、异步任务AsyncTask。原创 2024-04-08 18:59:02 · 559 阅读 · 0 评论 -
android——枚举enum
在Kotlin中,枚举(Enum)是一种特殊的类,用于表示固定数量的常量。它允许你定义一组命名的常量值,这些值在程序中具有固定的意义。Kotlin的枚举功能强大,支持多种特性,如伴生对象、构造函数、属性、方法等。原创 2024-03-29 16:21:30 · 1352 阅读 · 0 评论 -
android——设计模式【封装】使用建造者方式封装一个类
在Kotlin中,使用建造者模式来封装一个类有以下几个好处:简化对象的创建过程:使用建造者模式可以将复杂的对象创建过程分解为多个简单的步骤,使得代码更加清晰易读。通过链式调用,可以按需设置对象的属性,而不需要记住每个属性的顺序和参数。提供可选参数:建造者模式可以让你在创建对象时只设置必要的参数,而将其他参数设置为可选。这样可以避免创建多个构造函数或者使用大量的重载方法。保证对象的一致性:建造者模式可以确保在对象创建过程中,对象始终处于一致的状态。原创 2024-03-27 16:59:41 · 588 阅读 · 0 评论 -
android——rxjava的使用(连续多个弹窗的处理)
本文介绍项目开发中使用到rxjava的情形,以及详细的代码。RxJava是一个基于Java语言的Reactive Extensions库,它用于实现异步编程和流式处理,通过将事件和数据流以数据序列的形式进行处理,提高了代码的可读性和可维护性。原创 2024-01-11 17:31:41 · 3447 阅读 · 1 评论 -
android——服务
【代码】android——服务。原创 2023-11-01 10:13:58 · 320 阅读 · 0 评论 -
android——自定义控件(编辑框)、悬浮窗、自定义进度条、带删除的输入框
/默认大小//是否开启抗锯齿//绘制提示//绘制单位//绘制数值//绘制圆弧//当前进度,[0.0f,1.0f]//动画时间//属性动画//绘制背景圆弧//圆心坐标,半径// 内部虚线的外部半径// 内部虚线的内部半径// 线条数// 圆弧跟虚线之间的距离// 线条宽度//是否使用渐变//前景色起始颜色//前景色结束颜色。原创 2023-10-24 18:30:49 · 1182 阅读 · 0 评论 -
android——服务JobService
JobService是JobScheduler的回调,是安排的Job请求的实际处理类。需要我们覆写onStartJob (JobParameters)方法,并在里面实现实际的任务逻辑。因为JobService的执行是在APP的主线程里响应的,所以必须提供额外的异步逻辑去执行这些任务。JobService是Android L时候官方新增的组件,适用于需要特定条件才执行后台任务的场景。由系统统一管理和调度,在特定场景下使用JobService更加灵活和省心,相当于是Service的加强或者优化。原创 2023-09-06 09:41:28 · 1305 阅读 · 0 评论 -
android——spinner下拉弹窗、popupwindow下拉弹窗列表
android——spinner下拉弹窗原创 2023-08-30 12:34:17 · 1730 阅读 · 0 评论 -
android——提高代码复用
继承和接口:使用继承和接口可以创建可重用的类和抽象类型,可以避免在不同的代码中重复编写相同的代码段。扩展函数和属性:Kotlin 允许在已有的类中添加新的函数或属性,可以避免在每个需要该功能的地方都重复编写相同的代码。集合函数:Kotlin 中提供了多种用于集合的高阶函数,例如 map、filter、reduce 等,可以避免在使用集合的代码中编写重复的循环和条件语句。原创 2023-06-16 10:22:04 · 311 阅读 · 0 评论 -
android——怎么写内部类才能防止内存泄漏以及怎么查看内存泄漏
非静态内部类是指在一个类的内部定义另一个非静态类,这个非静态类就成为了外部类的成员之一。在Java中,要防止非静态内部类的内存泄漏,需要注意以下几点:非静态内部类必须保存对外部类实例的引用,因此要避免外部类实例和内部类实例的相互引用,否则会导致内存泄漏。要避免内部类持有外部类实例的引用,可以使用弱引用或者静态内部类的方式。如果使用弱引用,要注意判断弱引用是否为空,否则会产生空指针异常。原创 2023-06-16 10:18:22 · 1217 阅读 · 0 评论 -
android——Hilt 实现依赖项注入
Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。Hilt是Google推出的一种依赖注入框架,它能够大大简化Android应用程序的开发过程。简化依赖注入过程。使用Hilt可以将大量冗杂的依赖注入代码转移到注解中,从而使得代码更加简洁易懂。易于测试。使用Hilt可以更容易地进行单元测试和集成测试,从而提高应用程序的质量和稳定性。提高可维护性。Hilt使用标准注解和标准分层架构,这意味着应用程序的代码结构更加清晰和易于维护。支持多种依赖注入场景。原创 2023-06-14 14:46:10 · 1811 阅读 · 0 评论 -
kotlin——闭包
闭包的概念,外部函数调用之后其变量对象本应该被销毁,但闭包的存在使我们仍然可以访问外部函数的变量对象。Kotlin 的闭包可以获取上下文的局部变量,并可以修改它。实现办法是 Kotlin 编译器给引用的局部变量封装了一层引用。原创 2023-06-14 11:42:43 · 1432 阅读 · 0 评论 -
android——角标
【代码】android——角标。原创 2024-05-10 17:37:48 · 440 阅读 · 0 评论 -
android——文件工具类、屏幕工具类、日志工具类
【代码】android——文件工具类。原创 2023-06-11 15:58:03 · 809 阅读 · 0 评论 -
android——compose双向绑定
Text控件本篇文章主要用实例来体验compose双向绑定。原创 2023-03-21 18:28:52 · 661 阅读 · 0 评论 -
kotlin——委托(使用委托类来实现多继承)、使用委托类来创建viewmodel实例、内部类实现多继承、使用委托把activity的部分职责代码分离出来
【代码】kotlin——委托(使用委托类来实现多继承)原创 2023-04-07 15:33:24 · 804 阅读 · 0 评论 -
android——通信(传值)之LiveDataBus、Flowbus
Activity之间进行通信你现在使用的是什么?如果你还在用上面说的这些,那你的技术还停留在老旧和原始的技术上,现在技术从LiveData中延伸出,用谷歌的原话从18年谷歌IO大会开始 官方建议:在Activity与Activity ,Activity与Fragment,Fragment与Fragment之间通信使用LivedataBus。原创 2023-05-14 12:17:09 · 1236 阅读 · 0 评论 -
android——room数据库、升级(表里新加字段)
data/data/包名/databases/**.db。解决办法:应用卸载重新安装。原创 2023-06-09 15:42:22 · 694 阅读 · 0 评论 -
android——深拷贝、过滤
【代码】android——深拷贝。原创 2023-06-04 23:57:38 · 1038 阅读 · 0 评论 -
android——Lifecycle
然后在activity中的onCreate使用。新建一个生命周期跟随activity的类。原创 2023-05-23 17:17:37 · 253 阅读 · 0 评论 -
android——两个bean的转换(bean映射)
Mapstruct原创 2023-05-23 10:48:37 · 589 阅读 · 0 评论
分享