实习Day 13(一点学习和需求优化)

#需求优化#

       考虑到如果同时有多个设备点击同步播放,原先的逻辑会开启多个Relay服务,会导致后面的Relay设备不能正常被接受,讲道理,也不应该存在多个Relay设备,因此添加判断逻辑,如果在点击同步播放时,当前组播地址中已经存在Relay服务器,则不开启Relay服务。

#一点点学习#

1.重新看了下Fragment相关内容,包括Fragment的静态注册,动态注册,以及切换,重新了解Fragment的4个生命周期,以及一些附带的回调函数的方法。

2.Kotlin中的扩展函数以及运算符重载

2.1扩展函数表示即使在不修改某个类的源码的情况下,仍然可以打开这个类,向该类添加新的函数。

例子↓
fun String.lettersCount(): Int {
        var count = 0
        for (char in this) {
          if (char.isLetter()) {
          count++
          }
        }
        return count
}

这个代码是可以实现向String数据类中添加lettersCount函数,来计算字符串中字母数量。

2.2运算符重载是Kotlin提供的一个比较有趣的语法糖。我们知道,Java中有许多语言内置的运算符 关键字,如+ - * / % ++ --。而Kotlin允许我们将所有的运算符甚至其他的关键字进行重载,从而拓展这些运算符和关键字的用法。

例子↓

class Obj {
        operator fun plus(obj: Obj): Obj {
               // 处理相加的逻辑
        }
}
val obj1 = Obj()
val obj2 = Obj()
val obj3 = obj1 + obj2
这种 obj1 + obj2 的语法看上去好像很神奇,但其实这就是 Kotlin 给我们提供的一种语法糖,它会在编译的时候被转换成obj1.plus(obj2) 的调用方式。运算符重载不仅能够处理基本数据类型的变量,如果是自定义的对象,只要写好相应的函数逻辑,都可以进行处理。

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值