将 Android 项目迁移至 Kotlin Coroutines

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 的应用.

将 Android 项目迁移至 Kotlin Coroutines_第1张图片

Kotlin IDE 插件

如果你在使用 Android Studio 2.3 及以下版本, 请升级到3.0及以上吧, 如果你还在使用 Eclipse 开发 Android 项目, 嗯…

你可能感兴趣的:(将 Android 项目迁移至 Kotlin Coroutines)