- 博客(10)
- 收藏
- 关注
原创 ViewModel基本使用与数据共享简单分析
官方介绍ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel类让数据可在发生屏幕旋转等配置更改后继续留存。如果系统销毁或重新创建界面控制器,则存储在其中的任何瞬态界面相关数据都会丢失。例如,应用可能会在它的某个 Activity 中包含用户列表。为配置更改重新创建 Activity 后,新 Activity 必须重新提取用户列表。对于简单的数据,Activity 可以使用 onSaveInstanceState() 方法从 onCreate() 中的捆绑包恢复其数据
2021-06-15 09:59:05 2098
原创 LiveData基本使用与问题分析
介绍LiveData是可观察的数据存储类,且具有生命周期感知,能实现只更新活跃的观察者(如 Activity、Fragment onResume 等活跃生命周期状态)理解:数据存储类,可理解为对原数据的包装,持有原数据可观察的,LiveData可以被Observer(观察者)观察,数据更新时通知Observer(活跃状态)活跃状态,更新时只通知活跃状态的观察者,节省资源,也无需担心因生命周期结束后继续操作相关组件导致闪退(如Activity finish 后操作界面);非活跃状态的观察者可延迟更新
2021-06-07 14:14:44 814
原创 Kotlin协程基本使用
协程官方提供的线程API,类似于Executor,方便对线程做操作GlobalScope.launch(Dispatchers.Main) { val str = withContext(Dispatchers.IO) { optList() } tv_content.text = str}Launch函数创建一个新的协程,可以指定运行的线程,如 Dispatchers.Main、Dispatchers.IO 等。{}中的代码块就是协程。withConte
2021-06-04 14:28:24 1017 1
原创 kotlin介绍与基本使用
Lambda可理解为一段代码块,{ }包围,可当做值进行传递,lambda是未声明的函数,以表达式的形式传递val sum = {num1: Int, num2: Int -> num1 + num2}-> 前为参数列表,-> 后为要执行的函数体。参数需指定参数类型,若可以推断出类型,可以省略。val sum2: (x: Int, y: Int) -> Int = { num1, num2 -> num1 + num2 }把lambda作为函数的参数传递(高阶函数
2021-06-04 14:19:59 255
原创 Android ViewPager“无限循环”的简单实现
怎么实现无限循环?可以给ViewPager添加无穷多的循环数据,当然这也是不可能做到的。这里实现“无限循环”,也只是视觉效果上达到了无限,“无限循环”的效果,无非是第一项右滑显示的是数据的最后一项,最后一项左滑显示的是数据的第一项。当然正常情况下ViewPager是实现不了这个效果的,需要对数据做点处理。图中1-4是原数据,位置0与4的数据相同,位置5与1的数据相同,就能过实现上述效果,1...
2019-10-18 15:12:28 1461
原创 Android图片查看(一)
使用ViewPager、PhotoView、rebound Android实现查看网格图片及动画效果的实现,滑动图片后图片可回退到对应位置。具体效果,图片经过压缩,实际效果可安装apk查看 项目中使用的各个库地址:PhotoView、rebound Android 、DWCorePhoto_Android
2017-06-22 12:25:11 2755
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人