Android开发指南之Kotlin使用技巧
Android开发指南之Kotlin使用技巧。
在一中大概阐述了Kotlin是什么,这篇文章中,我想更加详细的展现一下kotlin和Java相比一些具体的不同和如何在Android Studio中使用Kotlin。
Kotlin和Java的不同
1.表现方式的不同
在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独有的安全调用操作符(?)
2.Kotlin独有的安全调用操作符(?)
Java中:空指针异常是一个很常见的问题,在使用之前要去判断是否为空。
Kotlin中使用?来进行空指针的安全判断
这样写就不行,因为Data不能为空
var notNullData: Data= null
但是接一个?就可以了
var data: Data? = null
此时的Data就可以为空,在添加打印方法的时候 data?.print(),不为空的时候才会打印。
3.Kotlin可以给任何类添加函数
3.Kotlin可以给任何类添加函数
一般称之为扩展方法,例如,可以给一个Fragment增加一个toast方法
fun Fragment.toast(message: CharSequence, duration: Int = Toast.LENGTH_SHORT) {Toast.makeText(getActivity(),message,duration).show())
4.函数式支持(Lambdas)
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
5.其他在安卓方面的一些小tip
安卓开发中最让人头疼的无非是当界面中有无数的控件需要初始化的时候,要一个一个的去findViewById,当然可以使用ButterKnife去简化操作,但是在kotlin中,可以直接使用,例如id.onClick textView.text = “hello kotlin “…. 其中id和textView都是xml中控件,我们需要做的只是在项目中导入下面一句话
import kotlinx.android.synthetic.main.load_activity.*
彻底告别findViewById
另外,还有DSL和AnKo库等等一系列的功能。
上一篇: delphi反汇编初探
推荐阅读
-
iOS开发之topLayoutGuide和bottomLayoutGuide的使用小技巧分享
-
Android UI设计与开发之使用ViewPager实现欢迎引导页面
-
Android开发之缓冲dialog对话框创建、使用与封装操作
-
Android 开发随手笔记之使用摄像头拍照
-
Android 开发之Dialog中隐藏键盘的正确使用方法
-
Android开发之WebView组件的使用解析
-
Android开发之瀑布流控件的实现与使用方法示例
-
Android开发之自带下载器DownloadManager的使用示例代码
-
Android编程开发之性能优化技巧总结
-
Android UI设计与开发之使用ViewPager实现欢迎引导页面