本人是刚参加工作一年的Android开发菜鸟一枚,第一次在简书上写笔记。最近公司比较闲,就打算接触一下Kotlin,赶一回时尚。
本文用来记录一下我Kotlin的学习过程。
一、Kotlin的开发前准备工作
1.安装Kotlin插件
打开AS,File—>Settings—>Plugins—>Install JetBrains plugin,输入Kotlin然后点击Install,安装好之后重启AS。
2.配置Kotlin
重启AS之后创建Activity,选择Kotlin。
我用的是AS3版本的,第一次创建Kotlin的时候自动给我添加了相关的依赖,下载过程需要几分钟,耐心等待。相关jar包下载好之后我看到有提示更新Kotlin插件的,顺手就点了Install(明明刚刚才下载的,一般我第一次使用新东西都喜欢用目前最新的版本,因为以后用习惯了就不太想更新了,所以第一次尽量更新到最新)。
查看根目录和app下的build文件,如果已经添加了Kotlin相关的依赖说明已经配置好了。
在xml文件中和以前一样添加个TextView。
<TextView
android:id="@+id/tv_kotlin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="50dp"
android:text="你好Kotlin!" />
接下来就是见证奇迹的时刻!!
在java文件中,啊不是,在Kotlin文件中Settext
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
tv_kotlin.text="卧槽,这么简单?"
}
注意:在写tv_kotlin的时候需要导包,关联对应的id就可以了。然后运行看看,这不要太简单啊,直接id.text就代替了java的那么多代码。
然后这个时候我注意到左边多了一个用java写的时候没有的AnkoLayoutPreview而且它还报错了,显示的是灰色的。(后来发现是我之前无意之中添加了的anko support插件)
通过百度我添加了相应的依赖,并且修改了插件默认添加的依赖报的过时问题。
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "org.jetbrains.anko:anko:$anko_version"
在根目录中修改版本为最新版本
buildscript {
ext.kotlin_version = '1.3.21'
ext.anko_version='0.10.8'
...(省略)
}
这个anko库有点东西,比如startActivity,它可以这么写:
tv_kotlin.onClick {
startActivity<MainActivity>("key1" to "value1","key2" to "value2")//传递参数跳转
}
注意:.onClick必须在Kotlin1.3版本以上才可以这么写。
anko的官方描述:Anko 是一个提供围绕 Android API 的 Kotlin 友好的包装器的库 ,以及一个可以用 Kotlin 代码替换布局 .xml 文件的 DSL。
然后我发现AnkoPreview还是灰色的,研究了一下午还是无法解决,好像是bug,我就暂时放下anko,先使用xml来写布局。
From Java To Kotlin这里列出了我们平时常用的Java和Kotlin不同