- 博客(50)
- 资源 (2)
- 收藏
- 关注
原创 android SpannableStringBuilder span 设置点击事件
在 Android 开发中,你可以使用来创建可点击的文本。以下是一个使用和。
2024-07-19 21:00:26
352
原创 android include 和 merge 区别
include>标签用于重用整个布局文件。标签用于合并布局,去除多余的根视图,从而优化布局层次结构。希望这些示例和解释能帮助你理解这两个标签的用途和使用方法。如果有更多问题,请随时告诉我!
2024-07-16 22:24:56
316
原创 include merge 中可以使用 android:layout_width, android:layout_height 吗
在标签中,可以使用和来控制包含布局的尺寸和位置。在标签中,通常不直接使用和属性,而是在包含的父布局中设置这些属性。这些理解有助于更好地利用和标签来优化布局和提高复用性。---- 文章由 ChatGPT 生成。
2024-07-16 22:22:01
375
原创 android inflate 参数含义
在Android开发中,inflate方法用于将 XML 布局文件转换为相应的 View 对象。在调用inflate: 布局资源文件的ID。通常是通过这种形式指定的。: 要附加到的父 ViewGroup。如果传入 null,则不附加到任何父 ViewGroup。这个参数决定了生成的 View 的 LayoutParams。: 是否将生成的 View 直接附加到 root 上。如果为 true,则生成的 View 会被立即添加到 root 中。
2024-07-12 22:42:59
432
原创 kotlin flow collect collectLatest 区别
collect适用于需要按顺序处理所有数据项的场景。适用于只关心最新数据,可能会丢弃尚未处理完的数据项的场景。
2024-07-10 11:19:29
489
原创 android paddingStart paddingLeft 使用区别
android paddingStart paddingLeft 使用区别
2024-07-10 11:07:50
222
原创 SharedFlow 参数含义
表示当新订阅者订阅时,会重放多少个最近发射的值。如果设置为正数,新的订阅者会接收到最近发射的这些值。: 额外缓冲区容量,默认值为 0。表示在正常的缓冲区之外可以额外缓存多少个值。这可以防止在缓冲区满时发射值导致挂起。被配置为重放最后两个值,并且在缓冲区满时丢弃最旧的元素。发射的值会被收集器接收到并打印。是 Kotlin 协程库(Kotlin Coroutines)中的一个类,它是。是一种冷流,能够让多个订阅者共享同一个数据流。时,可以传递一些可选参数来控制其行为。的可变版本,允许发射新的值。
2024-07-08 20:39:39
289
原创 java canonicalName 什么意思
通常指的是类的规范名称(Canonical Name)。这是由 Java 提供的一个方法,用于获取类的完整名称(包括包名)。规范名称是一种标准化的表示方法,与类的全名相同,但没有数组、内部类等特性。方法只返回类的简单名称(不包括包名)。规范名称(canonical name)通常用于需要精确表示类的场景,比如在反射操作中。---- 文章由 ChatGPT 生成。方法返回类的全名(包括包名),而。下面是一个示例,展示了如何使用。如果这个类位于一个包中,比如。
2024-07-08 20:37:39
216
原创 kotlin distinctBy 使用
distinctBy是 Kotlin 中的一个函数,它允许你根据特定的键或属性对列表进行去重。它会保留第一次出现的元素,后续重复的元素将被过滤掉。以下是使用distinctBy。
2024-07-08 00:04:45
465
原创 kotlin 中 string array 怎么表示
这将创建一个包含 3 个元素的数组,每个元素的值分别为 "Item 0", "Item 1", 和 "Item 2"。你可以通过多种方式来创建和初始化字符串数组。在 Kotlin 中,字符串数组可以使用。这将创建一个包含 5 个。
2024-07-03 11:10:08
341
2
原创 Android Color 设置透明度
在 Android 中,如果您需要设置任意颜色的透明度,可以使用方法或将透明度值与颜色的十六进制值结合使用。以下是一些示例代码,说明如何在不同情况下设置颜色的透明度。
2024-06-30 15:10:04
310
原创 java LinkedList 怎么保证线程安全
在 Java 中,LinkedList本身并不是线程安全的。如果需要在多线程环境中使用LinkedList。
2024-06-28 23:52:55
443
原创 android dialog 显示时 activity 是否会执行 onPause onStop
上的一个窗口,它不会中断或替换当前的。然而,有一种特殊情况是例外的:如果。的形式显示,并且是在一个新的。可能会暂停或停止,这时会调用。当一个 Android。中启动的,那么原来的。
2024-06-27 14:18:03
262
原创 android AnimationSet cancel 和 reset 方法
在 Android 开发中,是一种组合动画,可以将多个动画组合在一起同时或顺序播放。在使用时,cancel()和reset()方法有着不同的用途和效果。cancel()
2024-06-25 15:43:46
306
原创 android view 设置过 transalationY/X 后 marginTop/marginStart/Left 不变
是一个运行时属性,它改变了视图在屏幕上的位置,但没有改变视图在其父布局中的位置和布局属性。这样,你不仅改变了视图的绘制位置,还改变了视图在其父布局中的布局参数。在 Android 开发中,当你对一个视图(View)设置了。只会影响视图的绘制位置,而不会改变视图的布局参数。这意味着视图在其父布局中的位置参数没有改变。如果你想改变视图在其父布局中的布局参数(例如。---- 文章由 ChatGPT 生成。在这个例子中,有一个高度和宽度为。如果我们在代码中设置这个视图的。),你需要手动更新这些参数。
2024-06-25 11:06:43
257
原创 android imageview setImageResource vector xml ANR 怎么解决
在Android开发中,使用ImageView设置矢量图资源(vector XML)时,可能会遇到ANR(应用无响应)的情况。这个问题通常是因为矢量图的解析和绘制可能需要较多的时间,特别是对于复杂的矢量图。
2024-06-21 20:19:56
377
原创 android CancellationException 了解
在Android开发中,通常是在协程或预期完成的任务被取消时遇到的异常。这种异常是Kotlin协程的一部分,也可以在各种异步任务管理库中找到。
2024-06-21 11:30:02
399
1
原创 kotlin 注解 @Parcelize 使用
在 Kotlin 中,@Parcelize注解用于简化实现 AndroidParcelable接口的过程。Parcelable接口是 Android 中用于在组件之间传递对象的一种方式。通常,实现Parcelable接口需要编写大量样板代码,但使用@Parcelize注解可以大大简化这个过程。以下是使用@Parcelize。
2024-06-18 14:19:36
447
原创 kotlin runBlocking launch withContext async 使用
阻塞当前线程直到协程完成,主要用于从非协程环境启动协程。launch:启动一个新的协程而不阻塞当前线程,并返回一个Job对象用于取消。:在指定的上下文中执行代码块,通常用于切换协程上下文(如从 IO 到 Main)。async(在 Kotlin 协程库中不是标准的):通常与Deferred结合使用,表示将来某个时刻的结果。但在纯 Kotlin 协程中,您可能会使用或其他类似机制来实现类似的功能。---- 文章由 文心一言 生成。
2024-06-14 23:11:50
335
原创 怎么画类图
绘制类图(Class Diagram)是 UML 中非常重要的一部分,用于展示系统的静态结构,包括类及其属性、方法和类之间的关系。以下是绘制类图的步骤和一些关键概念:确定系统中的主要类:定义类的属性和方法:确定类之间的关系:绘制类和关系:关联(Association):继承(Inheritance):实现(Realization):依赖(Dependency):聚合(Aggregation):组合(Composition):假设我们要绘制一个简单的学生管理系统的类图,包含 、、 和 类。使用 UML
2024-06-06 16:01:28
385
原创 UML 统一建模语言简介
UML(统一建模语言,Unified Modeling Language)是一种标准化的建模语言,广泛用于软件工程中以可视化、描述、构建和记录系统的结构和行为。UML 提供了多种图表,用于不同的建模需求。以下是 UML 的主要使用方法和一些常见图表的简要介绍。
2024-06-06 15:58:33
678
原创 桥接和代理的区别
目的不同桥接模式:分离抽象部分和实现部分,使它们可以独立变化,减少类之间的耦合。代理模式:为其他对象提供一种代理,以控制对这个对象的访问。使用场景不同桥接模式:适用于需要多维度变化的场景,例如图形应用程序中形状和绘制方法的变化。代理模式:适用于需要控制对对象的访问的场景,例如延迟加载、访问控制、日志记录等。实现方式不同桥接模式:涉及抽象类、实现类接口、具体实现类和扩充抽象类。代理模式:涉及主题接口、真实类和代理类。通过理解这两种模式的目的、结构和使用场景,可以更好地选择合适的模式来解决实际问题。
2024-06-06 15:45:33
347
原创 linkedblockingdeque linkedblockingqueue 使用
和是 Java 中两个常用的阻塞队列类,它们位于包中,主要用于在多线程环境中进行安全的队列操作。这两者都支持可选的容量限制,以防止过度增长。
2024-06-06 15:18:15
638
原创 重载和重写
重载是指在同一个类中,定义多个具有相同名称但参数列表不同的方法。参数列表可以是参数的数量不同,或者参数的类型不同。重载方法的返回类型可以相同也可以不同。
2024-05-28 17:58:23
313
原创 设计原则探索
遵循 SOLID 原则可以帮助开发者设计更灵活、可维护的面向对象系统。这些原则相辅相成,帮助开发者创建具有高内聚、低耦合的代码结构,从而提高软件质量和开发效率。
2024-05-28 16:00:07
670
原创 kotlin 泛型初解
泛型是编程语言中一个强大的特性,它允许你在编写代码时定义一些通用的类型,而不是特定的类型。通过使用泛型,你可以编写更加灵活和可重用的代码。Kotlin 作为一种现代编程语言,提供了丰富的泛型支持,使得开发者可以更容易地编写类型安全的代码。
2024-05-28 15:28:04
415
原创 Android单元测试使用
单元测试是确保Android应用程序稳定和高质量的重要工具。通过使用JUnit和Mockito,可以轻松地编写和运行单元测试。集成测试则允许在真实的Android环境中验证应用的功能。结合这两种测试方法,可以全面地覆盖应用的各个方面,提高代码的可靠性和可维护性。---- 文章由 ChatGPT 生成。
2024-05-22 20:19:44
588
原创 Android 协程使用
协程是一种轻量级的线程,它们可以被挂起和恢复,使得我们可以用同步的代码风格来编写异步代码。与传统的线程不同,协程不依赖于底层的操作系统线程,因此它们更加高效且性能更好。协程通过简化异步代码的编写,提高了代码的可读性和维护性。其轻量级和高效的特点使得它在Android开发中具有显著优势。理解和掌握协程的原理和应用,可以帮助开发者编写更高效和可维护的Android应用。
2024-05-22 20:10:27
458
原创 在Android5.1上 onVisibilityChanged 中的 crash 问题
在Android5.1上 onVisibilityChanged 中的 crash 问题
2023-03-31 19:13:00
234
原创 android scale 属性动画踩坑记录
Cannot set 'scaleX' to Float.NaNanimator end cancel 区别属性动画 scale crash
2022-08-31 22:07:58
1542
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人