- 博客(3)
- 收藏
- 关注
原创 从源码角度看ViewModel基本原理
先抛出问题:ViewModel为什么能够在activity发生配置变更时保留状态?直接看源码,看它是怎么拿到viewModel的,也就是viewModel从哪里来的,这里先拿activity中的viewModels来举例,fragment其实也是一样的:入参我们一般不传,所以先不看,默认是null,直接看最后,return了一个 :第一个入参是想要的viewModel类,后两个参数store和factory先忽略,有个印象即可;可以看到还实现了接口,为什么?因为我们一般使用方式是:,注意这里使用了by,
2023-04-24 21:51:19
223
2
原创 Kotlin高阶函数、扩展函数
首先理解一下函数类型这个东西,在kotlin中,函数和Int、String等一样,,也有相应的对象,意味着可以声明变量类型或者作为方法的参数/返回类型。函数类型和扩展函数不一样!扩展函数相当于只是在原有的类中新增了一个方法,ageage和普通方法的区别就是没有方法名,但是注意,它是一个,它不是一个函数!正是因为它是一个函数类型的对象,所以才可以被赋值给变量后者传参。age同时也意味着它不能作为顶层函数,也不能作为一个普通函数写在类里面,会报错的。age这里的::funcage。
2023-04-17 20:24:03
176
原创 Gradle 7发布开源项目到JitPack
然后等它编译完成,Log那里的图标是绿色的代表发布成功了,红色的代表有问题失败了,成功后会有依赖提示。将代码上传到github,新建一个release版本并发布,复制仓库地址,打开。如果没有问题的话会显示BUILD SUCCESSFUL。在下方会显示一个新的版本,点击Get it。
2023-04-15 18:20:10
176
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人