卢展工平坟真实意图,身故拒赔遭起诉,恭城租房
在一中大概阐述了Kotlin是什么,这篇文章中,我想更加详细的展现一下kotlin和Java相比一些具体的不同和如何在Android Studio中使用Kotlin。
在Java中,当我们要创建一个数据类,我们必须这么写
public class Data{ private long id; private String name; private String url; private String mbid; //这里是各种set和get方法 ....... }
在kotlin中我们可以这么写
data class Data( var id: Long, var name: String, var url: String, var mbid: String)
短短几行所有的属性和访问容器就已经创建好了,其中更包括了getters、 setters、 equals()、 hashCode()、 toString() 以及 copy() 等等方法。
2.Kotlin独有的安全调用操作符(?)
Java中:空指针异常是一个很常见的问题,在使用之前要去判断是否为空。
Kotlin中使用?来进行空指针的安全判断
这样写就不行,因为Data不能为空
var notNullData: Data= null
但是接一个?就可以了
var data: Data? = null
此时的Data就可以为空,在添加打印方法的时候 data?.print(),不为空的时候才会打印。
3.Kotlin可以给任何类添加函数
一般称之为扩展方法,例如,可以给一个Fragment增加一个toast方法
fun Fragment.toast(message: CharSequence, duration: Int = Toast.LENGTH_SHORT) {Toast.makeText(getActivity(),message,duration).show())
4.函数式支持(Lambdas)
Java中,当需要实现一个点击事件的时候,一般是这么做的
textView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { toast("hello kotlin"); } });
在Kotlin中,我们一般这么做
view.setOnClickListener { toast("Hello kotlin!") }
Anko 这个 Android 库的帮助下,我们甚至可以继续简化 OnClickListener 的设置方式:
view.onClick{ toast("Hello kotlin!") }
差别一看便知
5.其他在安卓方面的一些小tip
安卓开发中最让人头疼的无非是当界面中有无数的控件需要初始化的时候,要一个一个的去findViewById,当然可以使用ButterKnife去简化操作,但是在kotlin中,可以直接使用,例如id.onClick textView.text = “hello kotlin “…. 其中id和textView都是xml中控件,我们需要做的只是在项目中导入下面一句话
import kotlinx.android.synthetic.main.load_activity.*
彻底告别findViewById
另外,还有DSL和AnKo库等等一系列的功能。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android studio开发小型对话机器人app(实例代码)
Android通过Java sdk的方式接入OpenCv的方法
Android 通过cmake的方式接入opencv的方法步骤
Android Studio finish()方法的使用与解决app点击“返回”(直接退出)
Android 进度条 ProgressBar的实现代码(隐藏、出现、加载进度)
网友评论