![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
kotlin
文章平均质量分 57
卡布哥哥学安卓
android开发
展开
-
2022年学习计划完成情况贴
正式将今年的学习计划搬到csdn来更新,原因无他,掘金没有置顶功能 学习计划完成情况 20220403 使用RecycleView优雅的实现数据列表更新 android使用知识增加键盘弹出和关闭操作方法 20220326 compose中返回键的监听方式实现 20220326 Compose实用知识整理,增加了防快速点击效果操作符,和Compose跳转activity并返回结果的方法 20220107 使用compose实现淘票票选电影座位的效果 20220102 android事件流原创 2022-04-03 17:38:15 · 1587 阅读 · 0 评论 -
使用kotlin委托实现ViewBind懒加载
本文我们使用继承 Lazy 和 lazy 关键字实现 Viewbinding 的注入 继承 Lazy 方式 实现代码 fun <T : ViewBinding> AppCompatActivity.binding(inflate: (LayoutInflater) -> T): Lazy<T> { return MainLazy(this, inflate) } class MainLazy<T : ViewBinding>( val activi原创 2022-04-03 08:20:43 · 2617 阅读 · 0 评论 -
协程知识总结
这篇是许久之前初学协程之时整理的笔记,今天偶然翻到便整理成md发出来。现在的我真的越来越难总结出这么多又臭又长的东西了。 协程 定义 官方描述:协程通过将复杂性放入库来简化异步编程。程序的逻辑可以在协程中顺序地表达,而底层库会为我们解决其异步性。该库可以将用户代码的相关部分包装为回调、订阅相关事件、在不同线程(甚至不同机器)上调度执行,而代码则保持如同顺序执行一样简单。 协程与线程的区别 协程是编译器级别的,线程是系统级别的 优势 协程就像轻量级的线程,线程是由系统调度的,线程的阻塞和切换开销都很大。而.原创 2021-12-31 23:22:35 · 969 阅读 · 0 评论 -
kotlin几个注解
注解 @JvmField 我们都知道kotlin默认会给var的变量生成get和set方法,当我们给变量复制或者获取变量值的时候实际上相当于调用了get和set方法。 那么如果我们单纯的就是想设置变量值或者获取值,似乎就不需要默认生成get、set方法了。 如下例子: class Person { var name: String="李白"//变量的get和set方法无论是否复写,都会被创建,但是实际上完全可以不需要, get() = field set(value)原创 2021-11-21 19:06:30 · 1648 阅读 · 0 评论 -
Kotlin泛型简单理解
泛型使用方法 在类上使用泛型 类上面使用泛型,需要把泛型声明在类名后,使用尖括号表示 class C1<T>{ fun print(t:T){ print(t.toString()) } } 泛型函数 在fun关键字后使用声明 fun <T> method1(t:T):String{ println(t.toString()) return t.toString() } 型变 Java的型变 Java是不型变的,可以这么理解: L原创 2021-08-15 20:16:13 · 176 阅读 · 0 评论