
Kotlin
QM_姚丹
这个作者很懒,什么都没留下…
展开
-
android使用JetPack中的ViewModelSavedState保存数据
如何解决当进程被系统回收后,如何保存数据。使用ViewModel中的SavedStateHandle也可以解决这个问题。下面代码中存在的一些小知识:MutableLiveData:个人的理解就是当数据有变化时,可以通知界面更新数据首先我们创建一个页面SaveStateActivitypackage com.java.jetpackdemo.savestateimport andr...原创 2019-12-25 17:06:54 · 3716 阅读 · 5 评论 -
Kotlin第一次亲密接触
基本数据 var : 是一个可变变量,这是一个可以通过重新分配来更改为另一个值的变量。这种声明变量的方式和java中声明变量的方式一样。 val: 是一个只读变量,这种声明变量的方式相当于java中的final变量。一个val创建的时候必须初始化,因为以后不能被改变。 数字类型中不会自动转型: val i:Int=7 val d: Double = i.toDoubl...原创 2018-03-27 16:44:45 · 205 阅读 · 0 评论 -
Kotlin之lambda表达式
一开始我有点懵逼,lambda表达式是匿名函数我可以理解,可是一会是()->Unit,一会是{a:Int,b:Int->a+b}是什么鬼,后来才理解了。lambda函数其实是匿名函数另一种写法,比如求a和b的和//一般函数写法var sumTwo = fun(a1: Int, a2: Int) = a1 + a2---------------------------------...原创 2019-08-20 18:20:14 · 215 阅读 · 1 评论 -
kotlin之函数通常使用方法
kotlin的函数可以这样写//表示传的参数为a1和a2,它们的数据类型都是Int型,这个函数返回值也是Int//fun sumOne(a1: Int, a2: Int): Int { return a1 + a2}//类似java的int sumOne(int a1, int a2) { return a1 + a2; }---------------...原创 2019-08-21 09:49:18 · 419 阅读 · 0 评论 -
kotlin的代理和委托
其实主要是思想就是,定义一个接口,比如Person,里面有一个抽象方法walk()。然后有一个类比如Man实现了这个接口,但是不想重写想写抽象方法walk,所以就让另一个类,比如Father来重写这个抽象方法,而Father也要实现这个接口。下面是示例代码。定义一个接口Personinterface Person { fun walk()}定义一个类Father,并且实现P...原创 2019-08-21 14:47:54 · 378 阅读 · 0 评论 -
kotlin-高阶函数之自定义DSL入门
DSL:领域特定语言可以根绝自己的需求自定义扩展语言,比如我们想给某个类型的List增加一个我们自定义的方法,就可以通过下面的方式写data class PeopleBean(var name: String, var age: Int)var peopleList = listOf<PeopleBean>( PeopleBean("李丽", 41), Peop...原创 2019-08-21 17:00:12 · 692 阅读 · 0 评论 -
kotlin如何写类似java的静态方法
kotlin如果想实现类似java的静态方法有两种:第一种方法:是直接创建一个kotlin文件,然后直接创建一个方法,代码如下然后在主函数直接调用fun main(array: Array<String>) { //直接调用上述fang staticMethod()}第二种方式:通过伴生对象,伴生对象一个类只能写一个,代码如下class StaticClass ...原创 2019-08-28 11:22:48 · 1299 阅读 · 0 评论