谷歌在 5/18 举行的 I/O 开发者大会上宣布,将 Kotlin 语言作为安卓开发的一级编程语言,Kotlin 成为了 Android 界的 Swift,谷歌这个动作可以看出谷歌的决心,所以还是有必要开始学习Kotlin语言的。
-Kotlin是一种兼容Java的语言;
-Kotlin比Java更安全,能够静态检测常见的陷阱。如:引用空指针;
-Kotlin比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现;
-Kotlin可与Java语言无缝通信。这意味着我们可以在Kotlin代码中使用任何已有的Java库;同样的Kotlin代码还可以为Java代码所用;
-Kotlin在代码中很少需要在代码中指定类型,因为编译器可以在绝大多数情况下推断出变量或是函数返回值的类型。这样就能获得两个好处:简洁与安全;
现在简单构建一个Kotlin Android 项目。
第一步还是像往常一样新建一个Android项目,过程略
第二步配置项目build.gradle文件
buildscript {
ext.kotlin_version = '1.1.2-4'
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
说明:当前kotlin_version最新是1.1.2-4.具体信息可以浏览官网—-Kotlin官网地址
第三步配置app 的build.gradle文件
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.it.***.kotlin"
minSdkVersion 21
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.2.0'
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()
}
增加的是:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version
第四步可以去新建项目的任何一个Activity里将java文件转换成Kotlit文件,在菜单栏code目录下有个“convert Java File to Kotlit File”,转换成功后代码如下:
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
firstTv.text="第一次使用Kotlin"
}
}
我的布局文件里只有一个id名叫firstTv的Textview,是不是发现以前findViewByid没有了,也不用使用ButterKnife来简化操作了,Kotlit采用Import来解决,activity_main就是我们布局文件名,而给TextView设置text也直接使用firstTv.text=”“,其他操作可以继续学习。
import kotlinx.android.synthetic.main.activity_main.*
firstTv.text="第一次使用Kotlin"
至此讷,我们的第一个Kotlin项目也就成功构建完成了,但是要学习的东西还是非常多的。
另外在创建文件的时候也可以直接创建Kotlin文件,另外像以上方法直接将java类直接转换成Kotlin的方法还是要尽量避免,因为转换并不是很智能。