Android kotlin 委托获取 intent 参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android kotlin 委托获取 intent 参数相关的知识,希望对你有一定的参考价值。

参考技术A 通过 Kotlin 中的两个接口:ReadOnlyProperty 和 ReadWriteProperty,可以方便的实现属性委托或局部委托。对于 val 变量使用 ReadOnlyProperty,而 var 变量实现ReadWriteProperty。

这里通过 kotlin 实现委托获取界面跳转时 intent 传递的数据:

使用姿势:

就这么简单。

Android-Kotlin-代理和委托

代理和委托,在生活中的案例有很多:

 例如:小明工作很忙,需要办理银行卡,此时他委托给>>小李去给自己办理银行卡,小李来到办理中心 把自己的身份证/小李的身份证,给办理人员,说是小明委托我,给他办理银行卡的

 



 

 

在Kotlin的代理委托是使用by关键字来处理

 

定义描述寻找的接口,规范寻找的功能的标准:

package cn.kotlin.kotlin_oop07

/**
 * 定义描述寻找的接口
 */
interface ISeek {

    /**
     * 寻找的功能/行为
     */
    fun seekAction()

}

 

老大有寻找的功能 Person1:

package cn.kotlin.kotlin_oop07

/**
 * 老大有寻找的功能
 *
 * by Person2() by 关键字是(委托代理)
 */
class Person1 : ISeek by Person2() {

    /**
     * 老大想寻找 王龟蛋,愿意花1000000元找寻他,这属于(委托代理), 于是给老二1000000元为酬劳
     *
     *  老大说>>>>> "老二 去帮我找到王龟蛋,给你1000000元为酬劳 ....... "
     */
}

 

老二也有寻找的功能 Person2:

package cn.kotlin.kotlin_oop07

/**
* 老二也有寻找的功能
 *
 * by Person3() by 关键字是(委托代理)
*/
class Person2 : ISeek by Person3() {

    /**
     * 由于老大吩咐我找王龟蛋
     * 我愿意花1000元,找寻王龟蛋,所以吩咐 老三去找寻 这属于(委托代理), 于是给老三1000元为酬劳,自己不出力 还赚了999000
     *
     *  我说>>>>> 老三 去帮我找到王龟蛋,给你1000元为酬劳 .......
     */
}

 

老三也有寻找的功能 Person3:

package cn.kotlin.kotlin_oop07

/**
 * 老三也有找寻的功能
 */
class Person3 : ISeek {

    /**
     * 老三在不辞劳苦的找寻王龟蛋,只为赚那1000元
     */
    override fun seekAction() {
        println("经过三周时间,终于找到王龟蛋了....")
    }
}

 

main测试方法:

package cn.kotlin.kotlin_oop07

fun main(args: Array<String>) {

    // 只让 老大去寻找
    var person1 = Person1()

    // 只让 老大去寻找,结果老大委托>>老二去寻找的,然后老二又委托>>老三去寻找的,最后是老三找寻到的
    person1.seekAction()

}

 

执行结果:

 

以上是关于Android kotlin 委托获取 intent 参数的主要内容,如果未能解决你的问题,请参考以下文章

DataBinding——使用Kotlin 委托优化

DataBinding——使用Kotlin 委托优化

Android筑基——Kotlin by 关键字详解

Kotlin 对象枚举委托

委托-kotlin

kotlin 委托