欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android开发指南之Kotlin使用技巧

程序员文章站 2022-10-02 15:10:50
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独有的安全调用操作符(?)

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库等等一系列的功能。