高阶函数的应用kotlin

高阶函数的应用

是什么
高阶函数是指将函数用作一个函数的参数或者返回值的函数。
高阶函数简化SharedPreferences
fun SharedPrerences.open(block:SharedPreferences.Editor.() -> Unit){
	val editor = edit()
	editor.block()
	editor.apply()
}

  • open是拓展函数,添加到SharedPrerences中。它还接受了一个函数类型的参数
        getSharedPreferences("data", Context.MODE_PRIVATE).open { 
            putString("name","Tom")
            putBoolean("married",false)
            putInt("age",28)
        }
简化ContentValues的用法
"Apple" to 1 创建键值对,用着语法结构的时候会创建做出一个 Pari 对象。
  1. 创建一个ContentValues.kt文件,并在里面定义一个cvOf()方法

    1. eg

          fun cvOf(vararg pair: Pair<String,Any?>):ContentValues{
             
          }
      
    varary 关键词-》类似java里面的可变参数。
    
    Any?相当于可以传(字符串型,整型,浮点型,null)
    
  2. 使用高阶函数优化cvOf函数

    fun cvOf(varary pairs:Pair<String,Any?>) = ContentValues().apply{
    	for(pair in pairs){
    		val key = pair.first
    		val	value = pair.second
    		when(value){
    			is Int ->put(key , value)
    			is Long ->put(key,value)
    			is Short -> put(key ,value)
    			is Float  -> put(key ,value)
    			is Double -> put(key ,value)
    			is String -> put(key ,value)
    			is Byte -> put(key ,value)
    			is ByteArray -> put(key ,value)
    			null -> putNull(key)
    		}
    	}
    }
    

    apply函数返回的正式ContentValues对象

    使用

    val values = contentValuesOf("name" to "Game of Thrones","author" to "TanGan","page" to 1038,"price" to 20.34)
    db.insert("Book",null,values)
    
  • 这样就可以更加简化地put数据
參考第一行代碼 郭霖老師
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值