Android Weekly #415

Android Unidirectional Data Flow — Kotlin Flow vs. RxJava

https://proandroiddev.com/udf-flowvsrx-a792b946d75c

flow_vs_rxjava.png
flow_vs_rxjava.png

基于以上业务场景,对比FlowRxJava两种实现方式的代码异同,值得一读(前提是了解这两种技术的基础知识)。

StateFlow, End of LiveData?

https://medium.com/scalereal/stateflow-end-of-livedata-a473094229b3

Kotlin 协程库在1.3.6版本推出StateFlow的release版,本文通过Activity - ViewModel - StateFlow的代码样例,简单展示了StateFlow的用法。与LiveData非常相似,不过目前,考虑到它刚刚推出,不建议直接替代成熟的LiveData

Reification of the Erased

https://medium.com/androiddevelopers/reification-of-the-erased-41e246725d2c

Kotlin提供了refied关键字,结合inline函数,可以扩展泛型的功能,实现在Java中无法实现的效果。

1
2
3
4
5
6
7
8
inline fun <reified T> printType() {
print(T::class.java)
}

fun printStringType(){
//calling the reified generic function with String type
printType<String>()
}

The Result Monad

https://adambennett.dev/2020/05/the-result-monad/

文章质量不错。

在处理Kotlin中一系列操作时,借助kotlin-result库,可以简化异常处理流程。