
菜鸟日记
仅仅是我这个菜鸟平时的记录而已。
悠哉清闲
这个作者很懒,什么都没留下…
展开
-
suspendCancellableCoroutine 和 withTimeoutOrNull 的协同工作机制
提供可取消的挂起协程能力,通过注册取消时的清理逻辑。当外部触发取消(如超时、父协程取消)时,自动执行清理并抛出。在指定超时时间(如 2000ms)后,若协程未完成,会发送取消信号。与配合时,能立即终止挂起状态。null。原创 2025-04-11 15:46:53 · 168 阅读 · 0 评论 -
onUserLeaveHint()
③如果用户点击通知栏消息,导致当前 Activity 失去焦点,③如果系统因内存不足回收 Activity,或屏幕旋转导致重建,(如银行 App 检测到用户按 Home 键,自动模糊界面)④如果当前 App 启动了一个。(但不会销毁 Activity)。(记录用户主动退出的时间点)返回桌面时,系统会调用。(用户主动退出时暂停)原创 2025-04-08 14:07:05 · 151 阅读 · 0 评论 -
第一行代码 第三版 Kotlin部分笔记(5)
上述代码只是一种示例写法。整个委托属性的工作流程就是这样实现的,现在当我们给MyClass的p属性赋值时,就会调用Delegate类的setValue()方法,当获取MyClass中p属性的值时,就会调用Delegate类的getValue()方法。另外,在默认情况下,所有的泛型都是可以指定成可空类型的,这是因为在不手动指定上界的时候,泛型的上界默认是Any?一个泛型类或者泛型接口中的方法,它的参数列表是接收数据的地方,因此可以称它为in位置,而它的返回值是输出数据的地方,因此可以称它为out 位置。原创 2025-04-02 17:38:08 · 561 阅读 · 0 评论 -
RxJava2使用例子(数据增删改查)
RxJava2的详细介绍可阅读是 RxJava2 中一个非常重要的操作符,它用于将一个包装成一个Observable(或其他响应式类型,如SingleMaybe:将一段同步代码(通常是耗时操作,如数据库访问、网络请求)包装成响应式流。:自动捕获Callable中抛出的异常,并通过onError传递给订阅者。:只有在被订阅时才会执行Callable中的代码(冷 Observable 特性)。Callable是一个函数式接口,只有一个方法。,当被订阅时会发射的返回值。如果不使用。原创 2025-03-27 13:55:13 · 872 阅读 · 0 评论 -
RFCOMM
RFCOMM(Radio Frequency Communication Protocol)是蓝牙协议栈中的核心协议之一,用于模拟传统串口通信(RS-232),支持基于流的可靠数据传输。I bt_stack: RFCOMM connection closed, reason=19 # 本地关闭(19=PORT_CLOSED):通过 SDP(Service Discovery Protocol)查询对端设备的 RFCOMM 服务通道号(Channel Number)。原创 2025-03-25 10:30:36 · 928 阅读 · 0 评论 -
RFCOMM、HFP 和 A2DP
语音带宽较窄(通常 8kHz/16bit,单声道),适合通话。,用于在两个设备之间建立虚拟的串行通信通道(类似有线串口)。是许多蓝牙配置文件(如 HFP、SPP)的底层传输基础。蓝牙耳机与手机的通话控制(HFP 基于 RFCOMM)。,用于将手机的高质量音频(如音乐)传输到耳机/音箱。支持音频编解码(如 SBC、AAC、aptX)。高带宽(44.1kHz/16bit,立体声)。提供简单的流式数据传输(类似 TCP)。蓝牙串口设备(如打印机、传感器)。(与 HFP 的传输层不同)。(但设备可同时支持)。原创 2025-03-25 10:12:56 · 385 阅读 · 0 评论 -
HandlerThread 运用
1、初始化一个USB检测的子线程(此线程一直活跃,不用每调用一次方法start一次)2、子线程中运行的逻辑。原创 2025-03-12 09:19:00 · 209 阅读 · 0 评论 -
日志打印是否为I帧和配置帧
【代码】日志打印是否为I帧和配置帧。原创 2025-02-10 20:09:00 · 74 阅读 · 0 评论 -
设置Activity为透明主题
【代码】设置Activity为透明主题。原创 2024-12-26 10:47:28 · 105 阅读 · 0 评论 -
python处理excel转换成xml文件(翻译文言)
这个声明对于Python 2非常重要,因为在Python 2中,默认的源文件编码是ASCII。DOM(Document Object Model)是一个跨平台和语言独立的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式,DOM操作通常涉及构建一个树形结构,然后通过这个结构来读取或修改XML文档的内容。如果你使用的是 Python 3,并且你的系统中同时安装了 Python 2 和 Python 3,可能需要使用。这是DOM树中的根节点,它包含了所有的其他节点。: 代表XML文档中的一个元素。原创 2024-12-04 14:30:52 · 1108 阅读 · 0 评论 -
Atomic
这个包提供了一系列原子类,这些类用于实现不可变对象和基本操作的原子性。:由于其原子操作,原子类可以安全地在多线程环境中使用,而不需要显式的同步代码。:原子类的操作会自动处理内存可见性问题,确保其他线程能够看到最新的更新值。这些原子类在多线程环境中非常有用,可以简化代码,提高性能,并减少并发问题。)相比,原子类通常更高效,因为它们避免了线程上下文的切换和同步开销。这些操作都是原子的,即它们在执行过程中不会被其他线程中断。:这些原子类提供了一系列原子操作,如增加(是一个 Java 并发库中的包,位于。原创 2024-08-30 14:08:06 · 350 阅读 · 0 评论 -
车载蓝牙笔记
车载蓝牙原创 2024-05-28 15:47:22 · 216 阅读 · 0 评论 -
js微博多次拉黑多名用户
【代码】js微博多次拉黑多名用户。原创 2024-03-21 14:19:39 · 234 阅读 · 0 评论 -
js发微博
【代码】js发微博。原创 2024-03-21 14:17:39 · 282 阅读 · 3 评论 -
js自动多次转发微博
【代码】js自动多次转发微博。原创 2024-03-18 10:19:34 · 895 阅读 · 5 评论 -
js微博评论(F12)
【代码】js微博评论(F12)原创 2024-03-18 10:17:04 · 545 阅读 · 0 评论 -
同步图片转起来动画
【代码】同步图片转起来动画。原创 2024-03-13 11:33:56 · 134 阅读 · 0 评论 -
判断当前是否有通话
判断当前是否有通话(正常通话和网络通话)原创 2023-08-18 09:39:39 · 194 阅读 · 0 评论 -
onScrollStateChanged( )
方法来监听滚动状态的变化,并在状态发生变化时执行相应的操作。例如,你可以在滚动状态为空闲时加载更多数据,或者在滚动状态为拖拽时暂停一些操作。是 RecyclerView 的一个回调方法,用于监听滚动状态的变化。它在 RecyclerView 的滚动状态发生变化时被调用。下面是一个示例代码,演示如何使用。通常情况下,你可以使用。原创 2023-07-16 13:14:13 · 1175 阅读 · 0 评论 -
LocalDate类
LocalDate是Java 8中的一个日期类,它表示一个不包含时间的日期。它提供了许多方法来处理日期,如获取年、月、日等。LocalDate类是不可变的,因此它的实例是线程安全的。这些方法使得处理日期变得更加简单和方便,可以用于各种日期操作和计算。原创 2023-07-06 11:00:14 · 432 阅读 · 0 评论 -
子线程运行的任务有返回值
在上面的示例中,我们定义了一个实现了Callable接口的MyTask类,其中的call()方法返回一个随机数。通过调用FutureTask的get()方法,我们可以获取子线程的返回值。子线程可以运行具有返回值的任务。你可以通过实现Callable接口的call()方法来定义任务的逻辑,并在任务完成后返回一个结果。请注意,get()方法是一个阻塞方法,意味着它会一直等待子线程的任务完成并返回结果。因此,在调用get()方法之前,最好确保子线程已经完成了任务,以避免主线程被阻塞。原创 2023-06-29 10:36:24 · 291 阅读 · 0 评论 -
保护电话号码隐私
因为有时获取到的电话号码是带空格或“-”的格式。原创 2023-06-09 14:11:52 · 143 阅读 · 0 评论 -
第一行代码 第三版 Kotlin部分笔记(4)
定义:如果一个函数接收另一个函数作为参数,或者返回值的类型是另一个函数,那么该函数就称为高阶函数。(Kotlin 又增加了一个函数类型的概念)定义一个函数类型:->左边的部分就是用来声明该函数接收什么参数的,多个参数之间使用逗号隔开,如果不接收任何参数,写一对空括号就可以了。而->右边的部分用于声明该函数的返回值是什么类型,如果没有返回值就使用Unit,它大致相当于Java中的void。现在将上述函数类型添加到某个函数的参数声明或者返回值声明上,那么这个函数就是一个高。原创 2023-06-13 17:43:48 · 287 阅读 · 0 评论 -
第一行代码 第三版 Kotlin部分笔记(3)
仅为个人笔记。原创 2023-05-23 17:29:02 · 423 阅读 · 1 评论 -
第一行代码 第三版 Kotlin部分笔记(2)
仅为个人笔记。原创 2023-05-23 13:53:39 · 715 阅读 · 1 评论 -
ssh拉代码
命令: ssh-keygen -t rsa -C “邮箱名称”2、初始化自己的用户名和邮箱。1、查看本机ssh公钥。原创 2023-05-17 11:26:25 · 294 阅读 · 0 评论 -
查询通话记录
【代码】查询通话记录。原创 2023-05-17 10:38:21 · 293 阅读 · 1 评论 -
Toast设置背景、字体
【代码】Toast设置背景、字体。原创 2023-05-17 10:14:51 · 355 阅读 · 1 评论 -
第一行代码 第三版 Kotlin部分笔记(1)
个人阅读《第一行代码 第三版》后做的笔记原创 2023-05-09 11:37:08 · 445 阅读 · 0 评论 -
Android studio创建Android模拟器时提示No System Image Available
Android studio创建Android模拟器时提示No System Image Available原创 2023-01-09 15:20:01 · 2109 阅读 · 0 评论 -
以特定某个字符分隔字符串
以特定某个字符分隔字符串原创 2023-01-09 10:02:26 · 126 阅读 · 0 评论 -
android 防连点
【代码】android 防连点。原创 2023-05-17 09:58:57 · 325 阅读 · 0 评论