编辑
Kotlin示例
本文访问次数:0
  1. 1. 安装Kotlin插件
  2. 2. 新建项目
  3. 3. 配置Kotlin插件
  4. 4. 转换Kotlin
  5. 5. 创建Kotlin类
  6. 6. 官方文档
  7. 7. 使用kotlin-android-extensions插件(可选)
  8. 8. Demo

安装Kotlin插件

打开Preferences (OSX) or Settings (Windows/Linux) > Plugins > Browse Repositories,输入Kotlin并安装,这一操作需要重启Android Studio

新建项目

不在赘述

配置Kotlin插件

双击Shift搜索Kotlin,选择Configure Kotlin

选择Android Configurator

选择使用Kotlin的模块和Kotlin的版本

根目录下的gradle文件增加了以下内容

buildscript {
    ext.kotlin_version = '1.1.1'
    ...
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        ...
    }
}

app模块下的gradle文件增加了以下内容

apply plugin: 'kotlin-android'
...
dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    ...
}
repositories {
    mavenCentral()
}

转换Kotlin

双击Shift搜索Convert Java Kotlin,选择Convert Java File to Kotlin File

package me.zongren.kotlindemo;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

更改为

package me.zongren.kotlindemo

import android.support.v7.app.AppCompatActivity
import android.os.Bundle

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }
}

创建Kotlin类

package me.zongren.kotlindemo

import android.app.Activity
import android.widget.Toast

/**
 * Created by zongren on 2017/4/21.
 */
class HelloWorld {
    companion object {
        fun speak(activity: Activity, word: String = "What do you want me to say?") {
            Toast.makeText(activity, word, Toast.LENGTH_SHORT).show()
        }
    }
}

调用speak方法

HelloWorld.speak(this)
HelloWorld.speak(this,"Are you ok?")

官方文档

更多使用方法参见官方文档

使用kotlin-android-extensions插件(可选)

app模块下的build.gradle文件增加插件

apply plugin: 'kotlin-android-extensions'

MainActivity中导入头文件

import kotlinx.android.synthetic.main.<layout>.*

例如MainActivity的布局文件名为activity_main.xml,那么导入的文件为kotlinx.android.synthetic.main.activity_main.*,然后就可以直接使用activity.textView获取一个idtextViewTextView

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        HelloWorld.speak(this)
        HelloWorld.speak(this,"Are you ok?")
        this.textView.setText("This is a textView")
    }
}

Demo

KotlinDemo

需要输入验证码才能留言

没有任何评论