Android Studio 下的Kotlin HelloWorld

一、Android Studio下Kotlin环境配置

Kotlin的一轮浪潮迅猛扑过来,借助这个风口,先多学习学习。

【某人说,在风口,猪也能飞起来。笨鸟先飞罗 ~_~】


1,安装Kotlin的相关插件

执行 Settings -> plugins -> BrowseRepositories中搜索“Kotlin”
安装kotlin插件。

Android Studio 下的Kotlin HelloWorld_第1张图片

【关于是否安装Kotlin Extensions不同博客有不同说明,实际测试中没有安装也可行】

2,新建Kotlin Activity

Android Studio 下的Kotlin HelloWorld_第2张图片


3,配置Kotlin Configure

Android Studio 下的Kotlin HelloWorld_第3张图片

Android Studio 下的Kotlin HelloWorld_第4张图片

配置成功后,在Module下的Build.gradle中有添加内容:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.1"
    defaultConfig {
        applicationId "com.future.customcontrolsfirstdemo"
        minSdkVersion 11
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    compile 'com.android.support:appcompat-v7:25.3.1'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    testCompile 'junit:junit:4.12'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
}
repositories {
    mavenCentral()
}
项目路径下的Build.gradle也有添加内容:

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
经过编译后,项目应该能够正常运行。


4,HelloWorld的具体实现

xml文件大体和原先项目一致:




    




Activity中的实现:

class Main2Activity : AppCompatActivity(), View.OnClickListener {
    private var textView: TextView? = null

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

        textView = findViewById(R.id.kotlin_tv) as TextView
        textView!!.text = "hello kotlin!"
    }

}

是的,如此,就算是踏入Kotlin的大门了吧,或许早了点,看见门了。。。。

Android Studio 下的Kotlin HelloWorld_第5张图片

二、Kotlin HelloWorld的扩展实现

如上边实例所表述,XML没有什么变化,控件的实例化没有什么变化,控件的使用也没有什么变化。那Kotlin为何能够迅速推广开来呢?

我们做点小小的改动,初窥门径。

Module下Build.gradle顶部添加:

apply plugin: 'kotlin-android-extensions'


在类的实现中添加:
import kotlinx.android.synthetic.main.activity_main.*


其中activity_main是指XML的名称。
有那么一点神奇的事情发生了,我们不需要findViewByID();


class Main2Activity : AppCompatActivity(), View.OnClickListener {
    private var textView: TextView? = null
    var t: Toast? = null

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

        textView = findViewById(R.id.kotlin_tv) as TextView
        textView!!.text = "hello kotlin!"

        btn1.setOnClickListener(this)
        btn2.setOnClickListener(this)
    }

    override fun onClick(v: View?) {
        when (v?.id) {
            R.id.btn1 -> Toast.makeText(this@Main2Activity, "${btn1.text}", Toast.LENGTH_SHORT).show()
            R.id.btn2 -> if (t == null) {
                Toast.makeText(this@Main2Activity, "${btn2.text}", Toast.LENGTH_SHORT).show()
            } else {
                t?.setText("${btn2.text}")
                t?.show()
            }
        }
    }

}

Android Studio 下的Kotlin HelloWorld_第6张图片



三、细节扩展
在Android Studio编译工具下,安装插件以后,能够将之前的Java文件进行转换成为Kotlin代码。

Android Studio 下的Kotlin HelloWorld_第7张图片


面对一个新事物,我们应该学习和接纳他,同时也需要省视他。推荐一篇文章,也是给自己做一个标记:
http://www.jianshu.com/p/f364e3f9cc36   Kotlin --这次入门就不用放弃了 



一个迷茫阶段,没有把自己直接提升一个境界的好方法,也不确信在未来能够有更好的处理办法。甚至于觉得自己并不是那种聪明的人,在这一片沼泽地里,迷失方向的小孩只有:适当的坚持锻炼,维持一个还不错的身体;继续在自己所选择的路上慢慢积累,尽管那么的不明显,收效相对的微小。


你可能感兴趣的:(Android进阶等级二)