Kotlin初体验

创建Project

和以往创建工程无差别,略

插件

apply plugin: 'kotlin-android'

//这个插件将布局中的控件,直接用id即可在kt中使用,省去写findViewById,本示例没添加
apply plugin: 'kotlin-android-extensions'

kotlin安装教程csdn一大堆,如果下载失败,可以考虑下载到本地再安装插件
plugin 下载地址

添加依赖包

  1. 工程 build.gradle
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  2. module build.gradle
    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    如有需要可增加 anko依赖,直接在kt中写布局,本示例未使用
    compile "org.jetbrains.anko:anko:$anko_version"
    github anko官方示例

PS: 如果遇到构建工程半天的都下载不来jar包,可以把build.gradle中的jcenter/maven/mavenCentral下载地址替换为国内镜像地址,如开源中国(http://maven.oschina.net/content/groups/public/)或阿里云镜像,以阿里云举例

repositories {
        maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/'}
}

新建kt文件

如上图,新建 Kotlin File/Class 或者 Kotlin Activity 都可以,差别是Kotlin Activity构建类结构并继承Activity类,若创建Activity记得在xml中注册。

功能

  • 界面
    1. 在主页中显示一个列表,kotlin+listview
    2. 二级页面用 java 写简单页面
    3. 三级页面用 kotlin 简单页面
  • 目的

    1. kotlin 调用 java 写的activity
      startActivity(Intent(this@MainActivity, JavaActivity::class.java))

    2. java 调用 kotlin 写的activity,和java调用无差别
      startActivity(new Intent(this,TestActivity.class));

部分代码
{ ···
var button = findViewById(R.id.button) as Button
        button.setOnClickListener { view ->
            startActivity(Intent(this@MainActivity, JavaActivity::class.java))
        }
        var listView = findViewById(R.id.listView) as ListView
        var data: ArrayList<String> = ArrayList()
        for (i in 0..20) {
            data.add("测试示例:" + i)
        }
        var adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, android.R.id.text1, data)
        listView.adapter = adapter
}

首页界面预览

工程代码 github 地址

猜你喜欢

转载自blog.csdn.net/ganfanzhou/article/details/74854426