Kotlin
tigershin
这个作者很懒,什么都没留下…
展开
-
Kotlin实战01 — Kotlin是什么和为什么
Kotlin到底是什么呢?它是一个目标为Java平台上的新的编程语言。它是简洁、安全、实用和可以跟Java互操作。它能用到所有Java可以用到的地方: 服务端开发,Android应用开发,或者更多。Kotlin可以和所有存在的Java库和框架一起良好工作,有Java一样的效率。1 体验Kotlin用一个小例子来Kotlin来看是什么样子的。这个例子定义了一个Person类、创建人的集合,找到年龄最大翻译 2017-06-23 16:32:57 · 1022 阅读 · 0 评论 -
Kotlin协程高级技巧和诀窍
Kotlin协程出奇地简单:仅仅让一些长期运行的操作放在launch里面,然后就好了,是这样的把?对于简单的情况,当然如此了。但是很快,并发和并行固有的复杂性开始积累。当你深入协程战壕时,下面内容是你需要知道的。取消 + 阻塞式的工作 =翻译 2019-01-29 21:22:36 · 4636 阅读 · 2 评论 -
kotlin coroutine文档:共享可变状态和并发
共享可变状态和并发可以使用Dispatchers.Default等多线程调度程序并行执行协程。 它产生了所有常见的并发问题。 主要问题是同步访问共享可变状态。 在协程域中解决这个问题的一些解决方案类似于多线程世界中的解决方案,但其他解决方案却是独一无二的。问题让我们开启一百个协程,它们都做了一千次相同的动作。 我们还将测量完成时间以进行进一步比较:suspend fun Coroutine...翻译 2019-01-26 23:03:21 · 834 阅读 · 0 评论 -
kotlin coroutine文档:通道
通道延迟值提供了在协同程序之间传输单个值的便捷方法。 通道提供了一种传输值流的方法。通道是kotlinx.coroutines的实验性的功能。 他们的API预计将在接下里的kotlinx.coroutines库更新中变化,并且可能会发生重大变化。通道基础Channel在概念上与BlockingQueue非常相似。 一个关键的区别是,它不是阻塞式的put操作,而是具有挂起的send,而不是阻...翻译 2019-01-26 20:37:32 · 670 阅读 · 0 评论 -
kotlin coroutine文档:组合挂起函数
组合挂起函数这部分讲述组合挂起函数的不同方法默认是顺序的假设我们有两个在别处定义的挂起函数,它们做一些有用的东西,像某种服务请求或者计算。我们假设它们仅仅是有用的,但是为了说明这个例子,每个实际上仅仅延迟一秒:suspend fun doSomethingUsefulOne(): Int { delay(1000L) // 假设我们在这里做一些有用的事情 return 13...翻译 2019-01-13 20:03:04 · 485 阅读 · 0 评论 -
kotlin coroutine文档:取消和超时
取消和超时这部分讲述协程的取消和超时取消协程的执行在一个长期运行的应用,你可能需要细粒度地控制后台协程。例如,一个用户可能关闭页面,这个页面启动了一个协程,它的结果现在不再需要了,它的运行应该要取消。launch函数返回一个Job,它可以用来取消运行的协程:import kotlinx.coroutines.*fun main() = runBlocking {//例子开始 ...翻译 2019-01-13 12:09:24 · 1877 阅读 · 0 评论 -
kotlin coroutine文档:基础
协程基础这部分讲述协程基础概念。第一个协程运行如下代码:import kotlinx.coroutines.*fun main() { GlobalScope.launch { // 在后台启动新协程,然后继续运行 delay(1000L) // 非阻塞式延时1秒(默认时间单位是毫秒) println("World!") // 在延时后打印 ...翻译 2019-01-12 23:27:42 · 201 阅读 · 0 评论 -
kotlin coroutine文档:协程上下文和调度器
Coroutine context and dispatchersCoroutines always execute in some context which is represented by the value of CoroutineContext type, defined in the Kotlin standard library.The coroutine context is...翻译 2019-01-18 11:01:02 · 2016 阅读 · 4 评论 -
Kotlin Coroutines 模式与反模式
原文在此,可能需要翻墙文章目录简介处理异常时,用coroutineScope或者使用SupervisorJob包装异步调用主协程最好选择Main调度器避免使用多余的async/await避免取消域的job避免编写用隐式调度器的挂起函数避免使用全局域简介决定写一些东西,在我看来当你使用Kotlin coroutines时,这些东西你应该做和不应该做(或者说,至少试着避免做)。处理异常时,用c...翻译 2018-12-16 21:17:03 · 402 阅读 · 0 评论 -
Kotlin实战02 — Kotlin基础
这章将讲述 - 声明函数、变量、类、枚举和属性 - Kotlin的控制结构 - 智能强转 - 抛和处理异常1 基本元素: 函数和变量Kotlin的两大元素:函数和变量。你将明白,你可以省略类型声明,还有鼓励你使用不变而不是可变的数据。1.1 Hello, world!让我们以一个经典的例子开始:打印“Hello, world!”,在Kotlin中,你只需要一个函数:fun翻译 2017-07-18 17:37:20 · 1206 阅读 · 0 评论 -
Kotlin实战00---前言
这本书包括Kotlin 1.0 和 1.1。新版本还在开发,完整的引用, 和新特性和改变的持续更新,完整的文档为https://kotlinlang.org这本书主要适合有一定基础和经验的Java开发者,因为kotlin是建立在Java中的许多概念和技巧。如果你有一定其他的语言(比如C#,JS),需要参考其他资源来来理解Kotlin这么和JVM交互。我们在整体上关注Kotlin语言,而不是具体的问翻译 2017-06-23 16:29:34 · 279 阅读 · 0 评论 -
如何使用协程Flow定义链式调用DSL
定义DSL定义启动flow的函数: protected val _spinner: MutableLiveData<Boolean> by lazy { MutableLiveData<Boolean>() } val spinner: LiveData<Boolean> get() = _spinner ...原创 2019-07-25 16:59:15 · 919 阅读 · 0 评论