美文网首页Kotlin编程
Kotlin笔记 在Android开发中使用kotlin

Kotlin笔记 在Android开发中使用kotlin

作者: yangweigbh | 来源:发表于2017-01-19 22:29 被阅读39次

    1安装Kotlin plugin

    在Android studio 的File | Settings | Plugins | Install JetBrains plugin中搜索kotlin,然后安装,然后重启Android studio

    创建项目

    创建项目后会生成Activity的java文件,打开java文件,从cmd+shift+A调出Find action,选择Convert Java File to Kotlin File或者

    Paste_Image.png

    配置Kotlin

    如果向项目添加Kotlin文件,Android studio会自动提示是否配置Kotlin Runtime。但如果转化java文件,则不会提示。需要手动执行转换

    Paste_Image.png Paste_Image.png

    配置完成后,build.gradle文件会添加一些kotlin插件的配置,然后同步一下工程就OK了

    手工配置

    build.gradle

    buildscript {
        //The buildscript {} block is evaluated before anything else in the script, so have to declare ext in here
        ext.kotlin_version = '1.0.0'
        ....
        dependencies {
            ......
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        }
    }
    

    app/build.gradle

    apply plugin: 'kotlin-android'
    
    android {
        ......
        sourceSets {
            main.java.srcDirs += 'src/main/kotlin'
            test.java.srcDirs += 'src/test/kotlin'
        }
    }
    
    dependencies {
        compile "org.jetbrains.kotlin:kotlin-stdlib:$rootProject.ext.kotlin_version"
    
        testCompile 'junit:junit:4.12'
        testCompile "org.jetbrains.kotlin:kotlin-test-junit:$rootProject.ext.kotlin_version"
    }
    

    Kotlin Android Extensions

    通过在build.gradle中配置

    apply plugin: 'kotlin-android-extensions'

    在activity中可以通过import导入layout中的元素

    import kotlinx.android.synthetic.main.activity_main.*
    
    class MyActivity : Activity() {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
            textView.setText("Hello, world!")
            // Instead of findView(R.id.textView) as TextView
        }
    }
    

    activity_main中的textView(view的id)成为了activity的一个属性

    通过导入kotlinx.android.synthetic.main.activity_main.view.*

    view的配置成为了view的属性,如

        <TextView
                android:id="@+id/hello"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:text="Hello World, MyActivity"
                />
    activity.hello.setText("Hi!")
    

    相关文章

      网友评论

        本文标题:Kotlin笔记 在Android开发中使用kotlin

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