kotlin

倚楼听风语4 小时前
java·算法·kotlin
Kotlin 协程与 suspend 原理详解从"怎么写"到"编译器把它变成什么",再到"运行时怎么调度"的完整知识文档。suspend 是 Kotlin 用来标记可以被挂起的函数的修饰符。它的特点:
事圆则缓9 小时前
开发语言·windows·kotlin
Kotlin 集合与序列:给页面一份清楚的数据Android 消息页从仓库取回通知列表,准备筛出未读项并按会话显示。代码里参数类型写着 List,页面却可能在下一次刷新前看到内容变化;图片接口要的是 ByteArray,手上的 List<Byte> 又不能直接传。问题牵涉的并非一套“集合语法”,而是数据能否被修改、怎样组织、何时计算。以下以 Kotlin 2.4.21 及 Android 的 JVM 目标为基线。
事圆则缓9 小时前
android·开发语言·kotlin
Kotlin 异步与并发:从一次搜索请求走到状态流搜索页连续输入两个关键词,第二次结果先回来,第一次结果随后把界面覆盖了。给网络函数加上 suspend 并不能自动解决这个问题:请求属于谁、旧任务何时取消、结果怎样送到界面,是三件需要一起设计的事。**协程用作用域组织任务,用挂起函数表达等待,用 Flow 传递随时间变化的值;共享可变状态还要单独处理并发访问。**本文以 Kotlin 2.4.21 为语言基线,launch、Flow、Mutex 来自 kotlinx.coroutines,Android 生命周期 API 来自 AndroidX。
事圆则缓12 小时前
android·开发语言·kotlin
Kotlin学习导航:从知识树走到项目与面试一个 Android 页面同时碰到接口空值、列表转换、Java SDK、协程请求和 Compose 状态时,按语法关键词查资料很容易越查越散:?. 看懂了,仍不知道平台类型从哪里来;Flow 会收集了,页面退出后任务却还在跑。这八篇按“数据边界 → 行为与状态 → 平台边界 → 并发与交付”串起来读,每篇解决一个明确的问题,也能单独打开查阅。
mmsx1 天前
android·kotlin
Android 插件化架构:40 个 Gradle 模块的拆分、通信与共存拆是几天的活,守是每一天的活——难的不是拆出 40 个模块,而是让每条边界一直有人守着。一个 40 个 Gradle 模块的 Android 工程,最初只有一个 app module。几百个 Activity 挤在同一棵源码树里,改一行公共类,全量编译 8 分钟起步。真正压垮团队的不是这 8 分钟本身,而是它带来的行为变化:没人敢动公共类了,改动被攒到下班前才编译一次,为了省掉一次编译,两个毫不相关的需求被塞进同一个分支。
mmsx1 天前
android·kotlin
Android 不改一行源码:用 AspectJ 做三类拦截AspectJ 织入的是 Java 字节码的调用点,不是方法的实现体。有些麻烦,你第一反应绝不会是「去改别人的源码」。
熊猫钓鱼>_>1 天前
开发语言·人工智能·华为·kotlin·harmonyos·鸿蒙
开源鸿蒙平台 KMP 三方库 kotlin-csv 适配全流程:从编码假设到沙箱真机互通验证欢迎加入 KMP&CMP 鸿蒙社区:https://atomgit.com/CPF-KMP-CMP适配后仓库地址(AtomGit,待提交):https://atomgit.com/oh-tpc/ohos_kotlin-csv
事圆则缓2 天前
kotlin
Kotlin 类型与空安全:从接口数据到页面状态Android 页面从 Intent 读取商品 ID,再把接口返回的价格和标题显示出来:ID 可能缺失,价格单位可能是“分”,标题可能来自没有可空标注的 Java SDK。把这些值都交给类型推断,编译器也无法替业务判断“缺失”和“无效”是否一样。先用类型表达数据范围,再在外部边界收敛 null 和无效值,页面里的计算才有可靠前提。
墨天梦2 天前
gitee·kotlin
D19_系统分享与文件URI发布摘要:先分享文章标题和链接,再用最小 FileProvider 配置分享导出的文本文件,理解 Intent、URI 和临时授权。标签:Intent、FileProvider、Android、文件分享。
应用市场2 天前
android·kotlin·游戏开发
离线小游戏做“每日挑战”:日期当随机种子,整局存成 JSON,再加一个“我不是机器人”说明:这个小游戏是和 AI 编程助手协作开发的,本文也由 AI 协助整理成文。文中代码摘自项目源码(注释改成了中文,有删节),数字来自单元测试的输出。游戏内容纯属虚构,和任何 AI 公司无关。
hai_android2 天前
android·kotlin·android jetpack
LiveEventBusCore 跨 Activity 通讯源码解析源码版本:JeremyLiao / LiveEventBus(master 分支) 核心文件:Activity A 登录成功后需要通知 Activity B 刷新用户头像,常规做法是:
维克兜率天2 天前
android·开发语言·python·算法·kotlin
【维克】统计套利建模:从因子到信号的完整流程上期我们聊了统计套利的基本概念——市场存在短期定价偏差,偏差会均值回归,你从中获利。很多读者看完留言说:"概念我懂了,但到底怎么建一个能跑的模型?"
释厄6233 天前
android·开发语言·kotlin
错误无误公理——错误正确本同源都迭代定律——逆转有价值L0 层:总本源层 · 0 元本体论大一统(综合回归:390-404 全链的公理化)前承(综合对象·全部链条):Step404(全域结构的完整诠释·B=C·A×B→C·制度=固化) + Step403(三信号与连接循环的精确对位·结构=连接·分配=循环·制度=全域结构) + Step402(三信号统一的多领域显化) + Step401(自发逆转集·八例·判据过程 vs 动因**)** + Step400(逆转价值论与两例因果倒置·★「官方与民间之争本同源都要迭代」·「与资社解同构」——本篇定律的直接前身)
程序猿追3 天前
android·开发语言·kotlin
立方体转到九十度:用 kotlin-math 核对鸿蒙上的两种旋转一个线框立方体,八个顶点、十二条边,已经够做一个小型图形数学实验。打开页面,立方体绕 Y 轴自动转动;按下暂停,它停在当前角度;再点“侧面 90°”,就可以把自由转动变成一个固定的问题:这一刻,各个点究竟应该在哪里?
程序猿追4 天前
开发语言·kotlin·harmonyos
kotlin-retry 接入鸿蒙后,怎样确认它真的会停止重试一个失败提示背后可能还有任务在等待。按钮再次可点,未必代表上一次请求已经结束;页面关掉,也未必代表后台没有下一次重试。接入重试库时,成功分支只是其中一种情况,次数上限、异常筛选和取消是否生效,同样需要留下能复查的记录。
应用市场4 天前
android·kotlin·游戏开发
不用一张图片的像素小游戏:小人是字符串,房间是矩形,平衡靠两千个假玩家说明:这个小游戏是和 AI 编程助手协作开发的,本文也由 AI 协助整理成文。文中代码摘自项目源码(注释改成了中文,有删节),数字来自源码和单元测试的输出。游戏内容纯属虚构,和任何 AI 公司无关;文中没有、游戏里也没有任何“防封技巧”。
事圆则缓4 天前
android·开发语言·kotlin
Kotlin 变量与函数:把页面状态和行为写成清楚的契约一个 Android 商品页需要展示价格、处理点击、把埋点发给日志服务。写起来全是 val、var、fun 和花括号,难点却在于:谁可以改状态,谁决定筛选规则,回调被谁持有,以及日志依赖从哪里来。用变量声明约束重新赋值,用函数签名交代输入与结果,再让 Lambda 和扩展只承担清晰、局部的便利。
Kapaseker5 天前
android·kotlin
写了这么久 Kotlin,你真的理解 in、out 和 * 吗?各位 Kotlin 爱好者们,早上好。今天我们深入研究一下 Kotlin 泛型。跟其他语言一样,Kotlin 通过泛型来处理不同的类型。你可以定义适用于不同类型的类、方法和属性,让代码更容易复用,同时保留类型安全。
墨天梦5 天前
android·kotlin·retrofit
D09_Retrofit接口与数据转换摘要:接入玩 Android 首页接口,拆开 HTTP 调用、响应 DTO、业务校验和界面模型,分别定位断网、协议错误、业务失败与解析失败。