Kotlin
llayjun
努力奋斗!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
let,with,run,apply,also函数区别
let,with,run,apply,also函数区别 函数名 定义inline的结构 函数体内使用的对象 返回值 是否是扩展函数 适用的场景 let fun <T, R> T.let(block: (T) -> R): R = block(this) it指代当前对象 闭包形式返回 是 适用于处理不为null的操作场景 with fun <T, R> with(receiver: T, block: T.() -> R): R = receiver.原创 2021-06-16 16:41:38 · 246 阅读 · 0 评论 -
Android自定义的属性使用双向绑定
目标: 在xml中自定义属性双向绑定,常用于一些自定义view中的EditText监听数据变化 使用 <EditText app:bindingName='@={binding.name}' ... > 自定义属性的 setXXX @BindingAdapter("bindingName") @JvmStatic fun setBindingName(edt : EditText, txt : String){ edt.setText(txt) } 自定义属性的 getX原创 2020-09-04 14:10:35 · 896 阅读 · 0 评论 -
移动端双Token免登录(附代码)
参考自:https://blog.youkuaiyun.com/huweijian5/article/details/88903561 前奏 在安卓中一开始使用一个Token进行接口安全,但是Token假如过期时间设置的长,难免会有安全风险,假如设置的时间端,就会出现用户没用多久,就会使得用户需要重新登录 采用双Token的方式,来使用户无感知的刷新Token,实现真正的免登录 设计 用户在登录之后返回access_token和refresh_token(这里假定他们的有效期分别是2小时和7天) 当access_原创 2020-07-28 09:11:16 · 2064 阅读 · 0 评论 -
kotlin的属性委托
Kotlin 标准库为几种有用的委托提供了工厂方法。 参考文章 延迟属性Lazy val lazyValue: String by lazy { println("computed!") "Hello" } fun main() { println(lazyValue) println(lazyValue) } 输出 computed! Hello Hello 可观察属性 Observable import kotlin.properties.Delegates原创 2020-07-16 16:04:55 · 772 阅读 · 0 评论 -
Kotlin的匿名方法实现接口回调
Kotlin的匿名方法使用 还在为每次接口回调定义接口名字儿苦恼吗?是时候来学习一波儿Kotlin匿名方法实现接口回调了 以往的方法 定义 // 通用办法 class A (val aListener: AListener){ fun clickButton (text: String?) { aListener.onAListener(text) } // 定义接口 interface AListener { fun onAListe原创 2020-07-08 17:12:20 · 2027 阅读 · 0 评论
分享