使用Kotlin开发android学习记录(一)
前言
Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。
Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。
在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。
配置环境
Kotlin配置非常简单,在AS中搜索插件Kotlin,安装即可,然后在包目录下右键新建文件,就会出现选择新建一个kotlin文件,然后AS会提示需要修改配置文件,点击确定,重新build(需要下载一些东西)。Kotlin 程序文件以 .kt 结尾。
使用kotlin创建一个Activity
class MyKotlin: Activity() { override fun onCreate(savedInstanceState: Bundle?) { //相当于onCreate生命周期函数 super.onCreate(savedInstanceState) setContentView(R.layout.kotlin_layout); }}
kotlin语法请自行百度掌握
声明变量
在android中基本语句就是定义变量和获得控件对象,而kotlin在定义变量时提供两种关键词:
可变变量定义:var 关键字
不可变变量定义:val 关键字,只能赋值一次的变量(类似Java中final修饰的变量)
kotlin定义变量非空属性必须在定义的时候初始化,但android的组件对象要在onCreate生命周期后才能获得对象,所以kotlin还提供了一种可以延迟初始化的方案,当变量第一次使用时初始化。
对于val 变量使用lazy方案
val button:Button by lazy{ findViewById(R.id.button2) as Button//变量第一次使用时执行初始化}
对于var 变量使用lateinit 方案
private lateinit var name:String
点击事件
kotlin提供非常简单的按钮点击事件
button.setOnClickListener{ Log.e("MyKotlin","点击了按钮")}
完整代码
class MyKotlin: Activity() { val button:Button by lazy{ findViewById(R.id.button2) as Button } private lateinit var name:String override fun onCreate(savedInstanceState: Bundle?) { //相当onCreate生命周期函数 super.onCreate(savedInstanceState) setContentView(R.layout.kotlin_layout); button.text="MyKotlin"; button.setOnClickListener{ Log.e("MyKotlin","点击了按钮") } name="JY" Log.e("name",name); } }
针对控件的使用,AS还提供了一个插件:kotlin-android-extensions,使得可以直接使用控件的id作为对象进行操作
在gradle.build中添加插件
在Activity类文件中使用id作为控件对象
kotlin很强大,对比java,代码简洁了很多,但要使用好,还要认真学习kotlin语法,主要是要理解它的思想,从java转过来学习kotlin,还要时刻分清楚这不是java语言,不能用java思想编程(刚开始学习的时候,第一想法就是用java怎么实现的-_-)
更多相关文章
- Android(安卓)Broadcast机制深入解析
- 初始化有EditText或AutoCompleteEditText的界面时系统自动打开软
- Android(安卓)databinding(详解三)--自定义属性使用
- android模拟器无法启动问题之中文路径
- 转:Activity_dialog效果
- android电话流程(打电话,接电话,挂断电话)
- Android(安卓)自定义RecyclerView.OnScrollListener,实现上拉分页
- Android(安卓)Studio Error: null, Cannot fit requested classe
- 关于Android中传递数据的一些讨论