Android开发指南之Kotlin使用技巧
程序员文章站
2022-04-27 16:27:37
Android开发指南之Kotlin使用技巧。
在一中大概阐述了Kotlin是什么,这篇文章中,我想更加详细的展现一下kotlin和Java相比一些具体的不同和如何在Androi...
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库等等一系列的功能。
推荐阅读
-
Android开发——Kotlin开发APP使用笔记
-
Android开发笔记之:一分钟学会使用Logcat调试程序的详解
-
Android开发之使用150行代码实现滑动返回效果
-
Android开发之TextView使用intent传递信息,实现注册界面功能示例
-
Android之使用Android-query框架开发实战(二)
-
Android开发之OkHttpUtils的具体使用方法
-
Android开发学习之控件GridView的使用讲解
-
Android开发之组件GridView简单使用方法示例
-
Android开发指南之Android进程浅析
-
Android开发笔记之 RecyclerView和ScrollView嵌套使用,ListView和ScrollView嵌套使用对比