- 博客(6)
- 收藏
- 关注
原创 Jetpack---LiveData
1.livedata 是一个可被观察的数据容器类,可将数据包装起来,是数据成为被观察者,当数据发生变化的时候能够让观察者得到通知,使用不需要自己实现观察者模式,livedata内部已经实现好。同时livedata具有生命感知能力,可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。页面处于(Lifecycle.State.ON_STARTED或Lifecycle.State.ON_RESUME)页面能够收到livedata的通知,若页面被销毁(Lifecycle.State.ON_DEST
2020-08-17 16:40:37 149
原创 Jetpack---ViewModel ,View与Model间的桥梁
1.使用背景:在页面中通常会将ui交互,与数据获取等相关业务都写在一个页面中,这样做不符合单一功能原则。为了更好的划分清楚 使用viewModel存放页面所需要的数据,页面只需要做交互和展示即可。 2.横竖屏转换:ViewModel生命周期 旋转屏幕会导致activity重建,但不影响viewModel的生命周期 3.viewModel与onSaveInstanceState() 区别 onSaveInstanceState只能保存少量的 支持序列化的数据 viewModel没有这个限制,..
2020-08-03 13:56:04 279
原创 Jetpack---LifeCycle 组件内部管理自己的生命周期
1.使用背景:我们希望组件不依赖于页面生命周期的回调方法,同时在生命周期变化的时候也能及时收到通知的背景下使用。 2.原理:观察者模式:两个类分别是LifecycleOwner(被观察者) 和LifecycleObserver(观察者),新版本SDK中 SupportActivity默认实现了LifecycleOwner接口中的getLifecycle(LifecycleObserver)方法 详细看代码。所以只需要实现观察者LifecycleObserver那部分代码即可。 3.使用方法: .
2020-08-03 12:00:17 187
原创 Android实时获取音量分贝,MediaRecorder和AudioRecord
主要参考https://blog.csdn.net/greatpresident/article/details/38402147。 根据两类 波动较小AudioRecord。波动大MediaRecorder。 亲测AudioRecord 很难达到90.达不到需求, 这就需要设配器模式进行封装。 分贝值小 使用AudioRecord。 分贝值大 使用MediaRecorder。 ...
2019-12-03 14:03:57 1716
原创 关于Android针孔摄像头检测方法
1.获取wifi下 ip地址 和 mac 地址: 参考https://blog.csdn.net/github_30662571/article/details/72862459 https://blog.csdn.net/github_30662571/article/details/75088644 这里不多赘述。 2.需要将mac地址进行厂商划分类型,需要了解常见...
2019-11-28 17:12:17 1080 1
转载 RxJava(一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库)
http://gank.io/post/560e15be2dca930e00da1083#toc_1
2018-05-17 15:23:12 195
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人