首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android MVVM框架搭建(三)MMKV + Room + RxJava2

    Flowable&Completable 2. CustomDisposable 3....首先说一下改动思路吧,首先必应每日的壁纸是一样的,因此无论你是请求一次还是多次得到的值都是一样的,因此可以通过一个缓存再来确定设置今天是否有请求过网络接口,有的话再根据一个缓存值判断当前时间是否超过了今天的...,我之前的那种方式虽然可以完成任务,但是并不推荐这样写,显示的调用不太好,你可通过创建线程池去做处理,当然了有更好的框架为什么不去用呢。...Flowable&Completable   好了,下面正式使用吧。首先我们去修改ImageDao中的代码,如下图所示:   这里我增加了一个Flowable和Completable。...(Flowable flowable, Consumer consumer) { compositeDisposable.add(flowable

    1.2K20

    Android MVVM框架搭建(三)MMKV + Room + RxJava2

    Flowable&Completable 2. CustomDisposable 3....首先说一下改动思路吧,首先必应每日的壁纸是一样的,因此无论你是请求一次还是多次得到的值都是一样的,因此可以通过一个缓存再来确定设置今天是否有请求过网络接口,有的话再根据一个缓存值判断当前时间是否超过了今天的...,我之前的那种方式虽然可以完成任务,但是并不推荐这样写,显示的调用不太好,你可通过创建线程池去做处理,当然了有更好的框架为什么不去用呢。...Flowable&Completable   好了,下面正式使用吧。首先我们去修改ImageDao中的代码,如下图所示:   这里我增加了一个Flowable和Completable。...(Flowable flowable, Consumer consumer) { compositeDisposable.add(flowable

    1.3K31

    Android 让你的 Room 搭上 RxJava 的顺风车 从重复的代码中解脱出来

    什么是 Room ?...首先我们需要了解下 Room 的基本组成 前面我们已经说过 Room 的使用,主要由 Database、Entity、DAO 三大部分组成,那么这三大组成部分又分别是什么呢?...我们就不难想到,Google 之所以这样设计,是因为我们于是需要创建临时的 User 对象,但我们又不希望 @Entity 在我们调用构造方法时,就将其存入数据库。...所以我们就有了这个被 @Ignore 的构造方法,用于创建不被自动存入数据库的临时对象,等到我们想将这个对象存入数据库时,调用User(String id, String userName) 即可。...模式 * Flowable:https://www.jianshu.com/p/ff8167c1d191/ */ Flowable getUser();

    1.2K20

    新手学习FFmpeg - 调用API编写实现多次淡入淡出效果的滤镜

    淡入只能从片头开始设置(00:00:00.0位置起) 淡出只能从片尾开始设置 一次只能设置一个类型 如果想在一个视频中间设置多次淡入淡出效果,那么只能先分割视频,分别应该fade之后在合并(可能还有其它方式...如果想一次实现多个fade效果,那么就要通过-filter-complex来组合多个fade,并合理安排调用顺序,稍显麻烦。 这次,ifade就尝试支持在同一个视频中实现多次fade效果。...可以看出ifade就是利用s->fade_status重复利用现有的处理逻辑来实现多次淡入的效果。 实现 上面分析完之后,就可以动手写代码了。 具体代码就不贴出来了,可以直接看源码。

    1.9K30

    Android 架构组件 - 让天下没有难做的 App

    我们没法直接修改 LiveData 的 value,因为它是不可变的(immutable),可变(mutable)版本是 MutableLiveData,通过调用 setValue(主线程)或 postValue...如果把异步获取到的数据封装成 Flowable,通过 toLiveData 方法转换成 LiveData,既利用了 RxJava 的线程模型,还消除了 Flowable 与 UI Controller...类型,也就是说,Room 原生支持响应式,这是对数据驱动最有利的支持,也是 Room 区别于其他 ORM 框架的显著特征。...PositionalDataSource 适用于本地 Room 数据或者使用 Room 做缓存的 Cache 数据。 数据流向的关系图如下所示: ?...Repository 拿到 Dao 的 DataSource.Factory 之后,调用它的 toLiveData 方法并传入 PagedList.Config,然后生成一个分页的 LiveData<PagedList

    1.2K20

    dotnet C# 多次对一个对象调用构造函数会发生什么

    今天来玩一点变态的,使用反射获取到某个类型的构造函数,接着多次对此类型的某个对象调用构造函数方法。...详细请看 dotnet C# 只创建对象不调用构造函数方法 此时虽然 Foo 对象 foo 创建了,但是此对象还没有经过构造函数。...自己去本文末尾拉代码跑跑看 接着再给 foo 对象赋值,如下面代码 foo.F1 = 5; foo.F2 = 5; 然后再次调用构造函数,...因此在调用构造函数的时候,只会改变 F2 属性的值,而不会更改 F1 属性的任何值。...也因为构造函数只是一个函数,因此调用多次就和调用一个方法多次是一样的 本文所有代码放在github 和 gitee 欢迎访问 可以通过如下方式获取本文的源代码,先创建一个空文件夹,接着使用命令行 cd

    78010

    livedatabus详解,阿里是如何用他来做淘宝架构的?

    我们没法直接修改 LiveData 的 value,因为它是不可变的(immutable),可变(mutable)版本是MutableLiveData,通过调用 setValue(主线程)或 postValue...如果把异步获取到的数据封装成 Flowable,通过toLiveData方法转换成 LiveData,既利用了 RxJava 的线程模型,还消除了 Flowable 与 UI Controller 生命周期的耦合关系...类型,也就是说,Room 原生支持响应式,这是对数据驱动最有利的支持,也是 Room 区别于其他 ORM 框架的显著特征。...PositionalDataSource 适用于本地 Room 数据或者使用 Room 做缓存的 Cache 数据。 数据流向的关系图如下所示: ?...LivePagedListBuilder 会将PagedList包装成LiveData给到下游,它在整个数据交互链路中的位置 Repository 拿到 Dao 的 DataSource.Factory 之后,调用它的

    1.2K30

    RxJava2--Flowable与BackPress

    Flowable 大量数据处理需要用Flowable,而小数据则使用Observable即可 由于基于Flowable发射的数据流,以及对数据加工处理的各操作符都添加了背压支持,附加了额外的逻辑,其运行效率要比...Flowable的使用 下例使用了Flowable来发射事件,大体与Observable类似,只是有几点区别: Flowable发射数据时,使用特有的发射器FlowableEmitter,不同于Observable...BackpressureStrategy类型的参数,该参数负责当BackPress产生的时候,对应的Emitter的处理策略是什么样的 onSubscribe中接收的不是Dispose,而是Subscription对象,并且调用了...如果不显示调用request则默认下游的需求量为零,上游Flowable发射的数据不会交给下游Subscriber处理。...而多次调用则会将该数累加: Flowable.create({ emitter -> repeat(3) { Log.e(TAG, "emitter.request

    85330
    领券