美文网首页
kotlin android开发过程中常用知识点笔记

kotlin android开发过程中常用知识点笔记

作者: 昌标 | 来源:发表于2019-01-17 10:24 被阅读0次

最近开始学习使用kotlin来进行安卓开发,过程中整理出常用的写法

1、定义全局对象不初始化 例如:

private lateinit var mAudioManager : AudioManager   //lateinit是关键,表示延迟初始化

2、继承与接口实现 例如:

MyExoPlayerActivity : AppCompatActivity(),OnOperationListener{}  

类似于java :

MyExoPlayerActivity extends  AppCompatActivity implements OnOperationListener{}

3、var表示可变变量,val表示不可变变量类似java中的final

4、接口回调有两种常用方式 例如:

第一种,回调接口只有一个方法,如setOnClickListener的参数OnClickListener回调监听中只有onClick(View v)一个方法,则可以直接是使用

setOnClickListener{it:View//里面写点击后要做的事情,相当于onClick(View v)方法,it就是v}

第二种,回调接口有多个方法,如setOnScrollListener的参数OnScrollListener含有onScrollStateChanged(AbsListView view, int scrollState)以及onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)两个方法,则可以

setOnScrollListener(object : AbsListView.OnScrollListener{ //鼠标右击这里然后点击弹出栏Generate再点击Implement Methods即可找到对应实现方法})

5、空判断

对于声明可为空的参数如(list: ArrayList<String>?)类型后面加?表示可为空,在使用时进行空判断处理,有两种处理方式

第一种字段后面加!!像java一样抛出异常如list!!.size

第二种字段后面加?为空不做处理直接返回null,或配合?:做空判断处理

list?.size?:0 //表示若为空时返回0,不为空返回list.size

类似java

list != null ? list.size : 0

6、when表达式常用

kotlin没有switch,用when代替,常用方式

when(参数,可以为任意类型){

条件1 -> {}

条件2 -> {}

...

}

7、数组常用方式

var list = arrayListOf("1","2","3")

8、let,with,run函数,可以省略对象名的重复书写,如一个对象user

class user{

    public string name = ”li“

    public string sex = ”man“

}

里含有属性名name和sex,赋值时需

user.name = ”li“

user.sex = ”man“

若用let函数,则可以

var user = User().let {

            it.name = "li"

            it.sex = "nan"

        }

若用with函数,则可以

var user = User()

with(user){

    name = ”li“

    sex = ”man“

}

若用run函数,则可以

var user = User().run { //相比let省了it,相比with少了传参数

            name = "li"

            sex = "nan"

        }

also函数相当于let函数,apply函数相当于run函数,只不过他们最后会return user,而上面函数不会

9、跳转activity

startActivity(Intent(context,XXXActivity::class.java))

10、一个类中的匿名内部类需指定为 inner class才能使用该类的全局变量

11、在string中使用$字符读取字段值 例如:

var mOldX = 1

var string =  "mOldX = $mOldX”

则 string输出值为 mOldX = 1 

12、经过const修饰的常量,才是java中理解的常量

const val LEVEL_LOW = 1;

等于Java,没加const修饰相当于每final

public static final LEVEL_LOW = 1;

相关文章

网友评论

      本文标题:kotlin android开发过程中常用知识点笔记

      本文链接:https://www.haomeiwen.com/subject/zpbbdqtx.html