LiveData LiveDataLiveData | Android Developers (google.cn) [TOC] LiveData的定义LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期 2022-11-05 Android #Jetpack #Architecture #LiveData
Kotlin互操作性与可空性 互操作性与可空性 互操作性与可空性 互操作性与可空性 类型映射 属性、异常与互操作 属性访问 Java调用Kotlin @file:JvmName(“name”) @JvmField @JvmOverloads 伴生对象和@JvmStatic @Throws 函数类型操作 互操作性与可空性Java世界里所有对象都可能是null,当一个Kotlin函数返回String类型值,你不能想当 2022-09-15 kotlin
Kotlin函数式编程 函数式编程 函数式编程 什么是函数式编程 函数类别 变换transform map flatMap 过滤filter filter 找素数 合并combine zip fold 为什么要使用函数式编程 序列 generateSequence 使用序列查找素数 什么是函数式编程我们一直在学习面向对象编程范式,另一个较知名的编程范式是诞生于20世纪50年,基于抽象数学的入演算发展 2022-09-14 kotlin
Kotlin拓展函数和拓展属性 拓展函数 拓展函数 定义拓展函数 在超类上定义拓展函数 泛型拓展函数 拓展属性 定义拓展属性 其他拓展特性 可空类拓展 infix关键字 Kotlin标准库中的扩展 DSL apply函数详解 什么是DSL 定义拓展函数扩展可以在不直接修改类定义的情况下增加类功能,扩展可以用于自定义类,也可以用于比如List、String,以及Kotlin标准库里的其他类。和继承相似,扩展也能共 2022-09-13 kotlin
Kotlin泛型 泛型 泛型 定义泛型类 泛型函数 多泛型参数 泛型类型约束 配合vararg关键字实现多参 out(协变) in(逆变) 为什么使用in&out reified 定义泛型类泛型类的构造函数可以接受任何类型。 MagicBox类指定的泛型参数由放在一对<>里的字母T表示,T是个代表item类型的占位符。MagicBox类接受任何类型的item作为主构造函数值(item: T 2022-09-12 kotlin #Generic #泛型
Kotlin接口与抽象类 接口 接口 接口定义 默认实现 抽象类 接口定义Kotlin规定所有的接口属性和函数实现都要使用override关键字,接口中定义的函数并不需要open关键字修饰,他们默认就是open的。 interface Movable { var maxSpeed: Int var wheels: Int fun move(movable: Movable): St 2022-09-12 kotlin
Kotlin面向对象_继承与对象 面向对象 面向对象 继承 open关键字 类型检测与转换 智能类型转换 Any超类 对象 Object关键字 对象声明 对象表达式 伴生对象 嵌套类 数据类 copy关键字 结构声明 运算符重载 枚举类 枚举类定义函数 代数数据类型 密封类 继承open关键字类默认都是封闭的,要让某个类开放继承,必须使用open关键字修饰它。 open class Product(val name: 2022-09-11 kotlin
Kotlin面向对象_定义类和初始化 面向对象 面向对象 定义类 定义类与field关键字 计算属性 防范竞态条件 初始化 主构造函数 在主构造函数里定义属性 次构造函数 默认参数 初始化块 初始化顺序 延迟初始化 惰性初始化 初始化陷阱 定义类定义类与field关键字在Kotlin中,定义类的属性后会自动生成默认getter和setter方法(可变属性才有),使用形如p.name的方法获取或者修改对象属性时,本质是调用 2022-09-10 kotlin
Kotlin集合与数组 Kotlin集合与数组List集合List的创建与元素获取fun main() { // 创建List val list = listOf("Yorick", "Jerry", "Sandy") // 普通获取 println(list[2]) // 使用安全索引函数获取 // g 2022-09-08 kotlin #Collection #Array #List #Set #Map
Kotlin标准库函数 标准库函数 标准库函数 apply let run with also takeIf takeUnless applyapply函数可看作一个配置函数,你可以传入一个接收者,然后调用一系列配置以便它使用,如果提供lambda给apply函数执行,它会返回配置好的接收者。 fun main() { // 配置一个File实例 val file1 = File(&quo 2022-09-08 kotlin