前些天,谷歌推荐把KotLin作为Android开发的第一语言.因此学习KotLin,个人感觉还是很有必要的.
关于什么是KotLin,使用KotLin有什么优点,以及它的一些特性,可以点击这篇文章进行了解.在此感谢作者的分享!
下面直接说下KotLin在AndroidStudio中的基本用法.鄙人也是刚开始学习,一边学习一边记录下来,希望能帮到后来的童鞋,也为自己理顺思路,有不对的地方还望务必指出!不胜感激!
一, 在AndroidStudio中配置KotLin插件
Studio3.0之后是直接支持KotLin的,无需安装插件.
1,首先像以前一样新建一个工程,然后点击File - Setting,在打开的页面中,左侧列表中点击Plugins,然后点击中间下方的Browse repositories...按钮
然后在弹出页面的左上角的搜索框中输入kotlin,在下方列表中会找到kotlin插件,双击kotlin插件进行安装.完成后,重启AndroidStudio.
启动后,看一下菜单File - new 下面,会多出KotLin File/Class 和 KotLin Activity 两个选项,表示安装成功.
二,在gradle中配置KotLin(如果你嫌这一步比较麻烦,可以直接省略掉这一步,直接跳到第三步, 即先转换工程再配置.但我觉得自己写一遍印象可能会更深刻)
1,在主工程下的build.gradle里添加KotLin的依赖,添加完成后点击右上角Sync Now
buildscript {
ext.kotlin_version = '1.1.2-4'
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.2.3'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
2,在app下的build.gradle下添加kotlin的依赖, 添加完成后点击右上角Sync Now
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
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'
testCompile 'junit:junit:4.12'
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
}
repositories {
mavenCentral()
三,将Java工程转换成KotLin工程
1,点击选中主工程,选择菜单栏里的Code - Convert Java File to Kotlin File ,即可将代码自动转换到KotLin.
2,然后之后可能会弹出如下提示框,大概意思是说在执行转换之后你的工程中有代码需要修改,同步之类的,点击OK即可.
3,如果你在上边第二大步完成了build.gradle的配置,请忽略这一步,直接看"4";如果没有,请继续往下看.
转换完成后,在你的代码页,会提示KotLin没有配置,此时点击最右侧的Configure,
选择Android with Gradle
然后会让你选择配置哪些moudle, 我选择的是中间的:所有的包含KotLin文件的moudle,点击OK,配置完成.此时工程下的build.gradle和app下的build.gradle里面便已经自动帮你配置好了KotLin的依赖.
4,转换完成后的代码大概如下所示:
仔细观察,你会发现代码格式已经发生变化.其主要区别大致如下.
- 继承的时候使用的是冒号":",而不是extends
- 显示的使用"override"关键字
- 函数前面使用fun修饰
- 函数和参数的顺序是返过来的,中间使用":"来分隔
- ";"分号可写可不写
- 符号"?",在变量类型后边加上?,代表该变量是可空变量
- 其它更多...
至此,KotLin的项目已经创建完成.关于KotLin的语法等相关内容,将在后面的文章中提到.
有问题欢迎留言讨论!