Kotlin问世于2011年,直到近两年被JetBrains,Google等公司扶持下,才被逐渐重视起来。尤其是2017年5月份谷歌宣布把Kotlin作为Android的官方开发语言,紧接着10月份Android Studio3.0正式集成了Kotlin开发环境,11月份更完善的Kotlin1.2版正式发布。尽管Java由来已久,根深叶茂,但作为Android开发人员,尽快了解Kotlin是大势所趋。Kotlin的各种优点多如牛毛,简洁的就像Python一样,更健壮,无缝兼容Java,函数式编程,不多说了,直接看看怎么使用吧。

一、打开Android Studio 3.0+,新建一个Android项目,就像你从来没听过Kotlin时候 一样。

来到MainActivity.java页面,File-Setting-Plugins,输入搜索Kotlin,Install,Restart Android Studio,我一般都是Ctrl+Alt+S,打开Setting的。安装后就是下图这样的。重点关注Version:1.151-release-Studio3.0-1,一会儿还要用。

好上面就是第一步,安装插件。

二、导入Kotlin的核心库及其扩展库Anko库

1.在项目根目录下的(project)build.gradle文件中指定kotlin插件的版本及路径

Anko 是一个可以让安卓应用开发更加高效和简单的依赖库,它使用了更简洁,可读性更高的代码方式来开发安卓应用程序,Anko包含了如下部分:

  • Anko Commons: 操作Intents,dialogs和日志等等的轻量级依赖包
  • Anko Layouts: 一个更加快速 安全的安卓动态布局开发包(目测目前只需要Adroid Extansions开发包就可以替代该包)
  • Anko SQLite: 数据库操作包
  • Anko Coroutines: utilities based on the kotlinx.coroutines library. 
// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    //手动添加以下两行,其中1.1.51摘自Setting-Plugin-Kotlin:Version: 1.1.51-release-Studio3.0-1    ext.kotlin_version = "1.1.51"    ext.anko_version = "0.9"    repositories {        google()        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:3.1.1'        //手动添加以下两行        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"    }}allprojects {    repositories {        google()        jcenter()    }}task clean(type: Delete) {    delete rootProject.buildDir}

2、在app的build.gradle文件中将kotlin插件编译进来

apply plugin: 'com.android.application'//添加插件apply plugin: 'kotlin-android'apply plugin: 'kotlin-android-extensions'android {    compileSdkVersion 27   ...   }dependencies {    implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"    implementation "org.jetbrains.anko:anko-common:$anko_version"   ...}

三、试一把

回到MainActivity.java页面,点击Code-Covert Java File to  Kotlin File

嚯!敢教日月换新天

布局文件可以写个Button,TextView试试

<?xml version="1.0" encoding="utf-8"?>    

然后回到.kt文件

import android.os.Bundleimport android.support.v7.app.AppCompatActivityimport kotlinx.android.synthetic.main.activity_my_kotlin.*//引入控件变量自动映射功能import org.jetbrains.anko.toastclass MyKotlinActivity : AppCompatActivity() {    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_my_kotlin)        btnClick.setOnClickListener {            textView.text = "点击后文本变化"            toast("您点击了一下下哈")        }    }}

首先import kotlinx.android.synthetic.main.activity_my_kotlin.*是为了引入控件变量自动映射功能,从此再也不用findViewById,id就能直接拿来当控件用;

Button监听也被简洁到令人发指,莫不是lambda表达式的骚操作。

textView等控件的set/getText()方法也简写成了text,说好的get/set体现我面向对象特性-封装呢,就这样措不及防的被简洁了;

toast()和longToast() 取代了Toast.makeText(this, "", Toast.LENGTH_SHORT/LONG).show();老大再也不用担心我Toast忘了写show()的尴尬症了。这其实是Anko库作为Android增强库的对代码的简化操作。

。。。

更多相关文章

  1. 第15章、布局Layouts之TableLayout表格布局(从零开始学Android)
  2. Android(安卓)下拉刷新上拉加载 PullToRefresh
  3. Android(安卓)bitmap图片处理
  4. 【Android源码】Android(安卓)UI 之一步步教你自定义控件
  5. Android(安卓)应用程序窗体显示状态操作
  6. 浅析Android.jar文件中的包
  7. AsyncTask的使用方法(异步任务的处理)
  8. Android官方技术文档翻译——Gradle 插件用户指南(6)
  9. Android之toolbar的使用

随机推荐

  1. 终于有人把自然语言处理、机器学习、深度
  2. ARCH及其扩展模型的操作步骤, 程序和各种
  3. *中国县域统计年鉴, 人口与就业统计年鉴1
  4. 人工智能自拍之后,会怎样给自己P图?
  5. ARIMA时间序列模型的步骤, 程序和各种检
  6. 添加一个新变量能使以前不显著的变量变得
  7. 线索二叉树(C语言)
  8. 谷歌、脸书、魔兽世界都在用!InnoDB是什么
  9. 从1997投稿到2021年被Top5刊接受, 从不惑
  10. 加入其他控制变量后, 估计系数的符号相反