Kotlin从入门到精通
文章平均质量分 89
Android_HQK
这个作者很懒,什么都没留下…
展开
-
Android—Flow与Jetpack Paging3
前言在上一篇中,主要讲解了Jetpack—Paging2的故事。因为Paging3改动较大,并且为了让更多人同时适应两个版本,因此在本篇中将会结合Flow与Paging3进行组合讲解。原创 2021-12-26 17:56:54 · 920 阅读 · 1 评论 -
Android—Kotlin协程Flow综合应用
前言在前几篇中,已经讲解了Flow相关的基础知识。在本篇中,将会开启几个小实战来巩固之前所讲解的知识点。原创 2021-12-16 11:32:11 · 2905 阅读 · 1 评论 -
Android—kotlin—Channel超详细讲解
前言在上一篇,主要讲解了关于Flow异步冷流相关的知识点。在本篇中将会讲解Channel通道(热流)相关的知识点!原创 2021-12-15 15:50:56 · 3414 阅读 · 2 评论 -
Android—Kotlin-Flow异步流超详细讲解
前言本来这一篇准备写Jetpack对应的paging的,但在整理资料的时候,发现Kotlin还有Flow未讲解,这个也是一大重点,因此本篇将对Flow进行详解!原创 2021-12-10 17:20:03 · 5268 阅读 · 2 评论 -
Android—Kotiln进阶教程(五)
前言在上一篇中对Kotlin协程里的调度器进行对应的讲解。在本篇中,将会对Kotlin协程对应上下文相关的知识点进行讲解。1、上下文中的作业协程的 Job 是上下文(CoroutineContext )的⼀部分,并且可以使⽤ coroutineContext [Job] 表达式在上下⽂中检索它:fun main() = runBlocking<Unit> { val job = launch { println("My job is ${coroutineCont原创 2021-11-21 17:23:18 · 549 阅读 · 0 评论 -
Android—Kotiln进阶教程(四)
前言在上一篇中,讲解了关于Kotlin协程对应的释放资源、超时、组合挂起函数相关知识点。在这一篇中,将会讲解Kotlin协程对应的同步,以及初探协程上下文以及调度器。话不多说,直接开始!先看上一篇例子suspend fun doSomethingUsefulOne(): Int { println("doSomethingUsefulOne") //所有kotlinx.coroutines中的挂起函数都是可被取消的。 delay(1000L) return 13}原创 2021-11-20 17:42:43 · 481 阅读 · 0 评论 -
Android—Kotiln进阶教程(三)
前言在上一篇中,对Kotlin协程对应取消组合挂起函数进行了初步的认识。在这篇中,将会讲解Kotlin协程对应的释放资源、超时、组合挂起函数相关知识点!话不多说,直接开始!先看上一篇的例子:fun main() = runBlocking<Unit> { val job = launch { repeat(1000){ i -> println("job:I'm sleeping $i") delay(10L)原创 2021-11-19 16:26:40 · 681 阅读 · 0 评论 -
Android—Kotiln进阶教程(二)
前言在上一篇中,对Kotlin协程进行了初步认识。在这篇中,将会讲解Kotlin对应取消超时组合挂起函数!话不多说,直接开始!1、提取函数重构先看上一篇的例子:fun main() = runBlocking<Unit> {// this : CoroutineScope launch { delay(1000L) println("Kotlin!") } println("Hello,")}这是上一篇的例子,这里我们看到在原创 2021-11-18 17:22:40 · 339 阅读 · 0 评论 -
Android—Kotiln进阶教程(一)
前言在前面的文章中,已经讲解了Kotlin基础相关的知识点。从这一篇开始,将开始对Kotlin对应的协程进行详解!话不多说,直接开始!????1、Kotlin基本使用 ????class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentVi原创 2021-11-17 18:25:08 · 758 阅读 · 0 评论 -
Android—Kotiln基础教程(九)
前言在上一篇中,主要讲解了Kotlin对应的函数式编程。在这一篇中,将会讲解Kotlin与Java之间的相互调用!话不多说,直接开始!1、Kotlin调用Java1.1 属性读写操作进入TestJavapublic class TestJava { public int getHitPoints() { return hitPoints; } public void setHitPoints(int hitPoints) { this.h原创 2021-11-16 17:08:37 · 969 阅读 · 0 评论 -
Android—Kotiln基础教程(八)
前言在上一篇中主要讲解了Kotlin对应的泛型、扩展函数的知识点。在这一篇中,将会讲解Kotlin里面的函数式编程。原创 2021-11-15 16:44:10 · 1456 阅读 · 0 评论 -
Android—Kotiln基础教程(七)
前言在上一篇中,讲解了Kotlin对应的对象,接口,抽象类相关的知识点。在这一篇中,将会讲解Kotlin对应的泛型、扩展函数。话不多说,直接开始!1. 泛型1.1 单泛型参数open class Human(val age: Int)class Boy(val name: String, age: Int) : Human(age)class Man(val name: String, age: Int) : Human(age)class Dog(val weight: Int)cl原创 2021-11-14 16:48:57 · 851 阅读 · 0 评论 -
Android—Kotiln基础教程(六)
前言在上一篇中,讲解了Kotlin关于对象的基础知识,在这一篇中,将会讲解Kotlin对应的对象,接口,抽象类相关的知识点。1. 类的单例1.1 示例一object ApplicationConfig { init { println("loading config ...") } fun setSomeThing() { println("setSomething") }}fun main{ ApplicationC原创 2021-11-13 17:57:52 · 848 阅读 · 0 评论 -
Android—Kotiln基础教程(五)
前言在上一篇中主要讲解了Kotlin关于集合相关的知识点,在本篇中,将会对Kotlin的对象进行详解!1. 对象1.1 示例一(无构造函数)class Player { //分析点1 var name = "abc" get() = field.capitalize() set(value) { field = value.trim() } var age = 10 get() = fiel原创 2021-11-12 15:23:02 · 934 阅读 · 0 评论 -
Android—Kotiln基础教程(四)
前言在上一篇中,主要讲解了Kotlin字符串、数字类型、标准库函数对应的知识点。在本篇中,将会讲解Kotlin集合相关的知识点。1. 只读集合val list = listOf("json", "jack", "jacky")fun main{ //只读列表 ;不能写入,不能更改属性 println(list.getOrElse(10) { "Unknown" }) println(list.getOrNull(10)) println(list.getOrNull(原创 2021-11-11 11:24:14 · 814 阅读 · 0 评论 -
Android—Kotiln基础教程(三)
前言在上一篇中,讲解了Kotlin对null处理以及自定义异常,在本篇中,将会以字符串、数字类型、标准库函数对Kotlin进行讲解。1. 字符串1.1 分割字符串示例一fun main() { val name="Jimmy's friend" var index=name.indexOf("\'") val str=name.substring(0 until index ) println(str)}运行效果Jimmy这没啥好说的,和java差不原创 2021-11-09 17:14:31 · 1099 阅读 · 1 评论 -
Android—Kotiln基础教程(二)
前言在上一篇中,主要是了解性的初探了Kotlin,发现了与Java还是有明显的区别的。在这一篇中将会重点以Kotlin对应的Null与异常进行详解。1. Null类型如图所示在我们定义变量的时候,如果没有赋初始值,那么编译器就会直接提示语法错误!当你准备直接赋初始值为null的时候,又会提醒你Show usages of variable 'name'。其实这个是Kotlin的特性之一。就是为了避免出现非空而设定的。毕竟变量的类型要根据变量的属性值而确定,属性值为空,它就自然不知道是什么类型的变原创 2021-11-08 18:16:24 · 548 阅读 · 0 评论 -
Android—Kotiln基础教程(一)
前言众所周知Kotlin已经成为Android开发必不可少的开发语言!在本专栏里,我将带你从零基础开始学习Kotlin,从基础语法的掌握到对协程的精通,让你完完全全的从Java百分百转移到Kotlin大军来!敬请期待吧!注:在Kotlin基础教程中,将会以IDEA作为编译器。本篇内容仅仅是语法的初探,不会刻意深入。先掌握最基础的,然后再循序渐进学习Kotlin。1. HelloWord学习一门语言,满满的仪式感还是要有的。fun main() { var hello="Hello w原创 2021-11-07 19:16:30 · 1022 阅读 · 2 评论