Kotlin for Android(一)

作者: 程序亦非猿580230 | 来源:发表于2017-06-07 16:02 被阅读80次

    一、Kotlin是什么
    近日召开的 Google IO 2017 , Google 将 Kotlin 列为 Android 官方开发语言了,Android Studio 3.0 也默认集成了 Kotlin plugin,那 Kotlin 是什么?

    Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,它也可以被编译成为 JavaScript 源代码。它主要是由俄罗斯圣彼得堡的 JetBrains 开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛。2012 年 1 月,著名期刊《 Dr. Dobb’s Journal 》中 Kotlin 被认定为该月的最佳语言。虽然与 Java 语法并不兼容,但 Kotlin 被设计成可以和 Java 代码相互运作,并可以重复使用如 Java 集合框架等的现有 Java 类库。

    二、配置环境(Android Studio
    1.Android Studio是Intellij IDEA的插件实现,Intellij IDEA是由JetBrains开发,Kotlin就是JetBrains创造的。

    安装Kotlin插件

    Paste_Image.png Paste_Image.png Paste_Image.png

    点击安装后restart AS 打开

    2.安装Kotlin插件,新建好一个普通Android工程后,点击Code->Convert Java File to Kotlin File。

    Paste_Image.png Paste_Image.png

    配置工程项目Gradle

    
    buildscript {
    
        repositories {
            jcenter()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.2'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.1"
            // 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
    }
    
    

    配置模块Gradle

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    android {
        compileSdkVersion 25
        buildToolsVersion "25.0.2"
        defaultConfig {
            applicationId "cktd.wawi.com.kotlintest"
            minSdkVersion 14
            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'
    }
    
    

    最后写个小demo

    <?xml version="1.0" encoding="utf-8"?>
    <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="cktd.wawi.com.kotlintest.MainActivity">
    
        <TextView
            android:id="@+id/textView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Hello World!"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
    
    </android.support.constraint.ConstraintLayout>
    
    

    activtity

    
    class MainActivity : AppCompatActivity() {
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            textView.text = "Hello Kotlin"
        }
    }
    

    运行结果

    Paste_Image.png

    相关文章

      网友评论

        本文标题:Kotlin for Android(一)

        本文链接:https://www.haomeiwen.com/subject/kozofxtx.html