Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

Android Studio配置Kotlin环境

$
0
0

在上周末召开的Google IO大会上,Google将Kotlin作为Android所支持的开发语言,并宣布以后会大力支持Kotlin,可以说Kotlin就是ios的swift。更多资料请查看:Google IO大会

1,安装Kotlin插件

打开Settings面板,找到Plugins选项,点击Browse repositories(浏览仓库),输入“Kotlin”查找,然后安装即可。
这里写图片描述

2,配置Kotlin开发环境

点击菜单栏的“Tools”选项,选择“Kotlin”,然后选择“Configure Kotlin in Project”。
这里写图片描述

在弹出的窗口中选择需要使用Kotlin的模块和Kotlin编译器和运行时的版本。
这里写图片描述
点击确定之后,Kotlin插件会自动开始配置。配置完成之后,同步一下工程(Sync Project)即可。

注:我们可以选择“Convert Java File to Kotlin File”即可根据之前配置将已有的Java文件转换为Kotlin文件。

推荐build配置

打开模块下的build.gradle文件,在apply plugin: ‘kotlin-android’下面加入一行:

apply plugin: 'kotlin-android-extensions'

这是一个Kotlin的扩展模块,可以让Activity自动关联xml布局中的View而不需要findViewById。

Kotlin编写单元测试

在Android开发中免不了要进行各种单元测试,使用Kotlin编写单元测试可以简化代码,提高效率。
将工程切换到Project视图,展开模块下的src目录,这个目录下默认会有三个文件夹。

  • main文件夹通常用来存放模块代码;
  • androidTest文件夹通常用来存放Android相关的单元测试;
  • test文件夹通常用来存放Java(Kotlin)相关的单元测试。

Kotlin的单元测试

在测试包下新建一个Kotlin Class,命名为UnitTest。

package cc.duduhuo.kotlintest

import org.junit.Test

import org.junit.Assert.*

class UnitTest {
    @Test
    fun addition_isCorrect() {
        assertEquals(4, (2 + 2).toLong())
    }
}

Android的单元测试

Android的测试也比较简单,例如:

package cc.duduhuo.kotlintest

import android.support.test.InstrumentationRegistry
import android.support.test.runner.AndroidJUnit4
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith

@RunWith(AndroidJUnit4::class)
class AndroidTest1 {

    @Test
    fun useAppContext() {
        // Context of the app under test.
        val appContext = InstrumentationRegistry.getTargetContext()

        assertEquals("cc.duduhuo.kotlintest", appContext.packageName)
    }
}

附:Kotlin的一些资料

Kotlin官网:http://kotlinlang.org/
Kotlin用户手册(英文):http://kotlinlang.org/docs/reference/
Kotin开源地址:https://github.com/JetBrains/kotlin

作者:xiangzhihong8 发表于2017/5/22 18:16:45 原文链接
阅读:40 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>