layout: post title: 将 Android 项目迁移至 Kotlin Coroutines summary: 本文将介绍如何将一个 Android 项目迁移至 Kotlin Coroutines featured-img: shane-rounce-205187 categories: [Android, Kotlin]
前言
在2017年 Google I/O 大会上, Google 宣布了 Android 平台对 Kotlin 语言的官方支持. 我思考了很久如何向没有听说过 Kotlin 语言的开发者介绍它呢? 用这个知乎的段子应该是最合适不过了:
Scala:想解决 Java 表达能力不足的问题
Groovy:想解决 Java 语法过于冗长的问题
Clojure:想解决 Java 没有函数式编程的问题
Kotlin:想解决 Java
段子归段子, 事实上, Kotlin 在国外公司的应用已经十分广泛, 如 Pinterest, Gradle, Evernote, Uber, Trello, Square, Google 等等. 那么为什么要使用 Kotlin 呢?换言之, 相比于 Java, Kotlin 能给我带来什么好处?
Lambda 表达式 + 内联函数 = 高性能自定义控制结构
扩展函数
空安全
智能类型转换
字符串模板
属性
主构造函数
一等公民的委托
变量和属性类型的类型推断
单例
声明处型变 & 类型投影
区间表达式
操作符重载
伴生对象
数据类
分离用于只读和可变集合的接口
协程
…[1]
解决了 Why 的问题, 下面我们来解决 How to 的问题.
开始迁移
首先介绍一下本次项目的相关内容. 项目名称为纸飞机(https://github.com/TonnyL/PaperPlane), 是一个集合知乎日报, 豆瓣一刻和果壳精选的综合性阅读 App[2], 项目参考了 Google 推出的 Android Architecture Blueprints 中 todo-mvp 的 MVP 架构, 本次迁移仍然沿袭 MVP 架构, 主要的变化来自 Kotlin 语言以及 Kotlin Coroutines 的应用.
Kotlin IDE 插件
如果你在使用 Android Studio 2.3 及以下版本, 请升级到3.0及以上吧, 如果你还在使用 Eclipse 开发 Android 项目, 嗯…
如有任何疑问可在文章底部留言。为了防止恶意评论,本博客现已开启留言审核功能。但是博主会在后台第一时间看到您的留言,并会在第一时间对您的留言进行回复!欢迎交流!
本文链接: http://leetcode.jp/将-android-项目迁移至-kotlin-coroutines/