RxJava操作符学习笔记语言

“没有想过结婚呢?”“都这么久了。”

FlatMap

transform the items emitted by an Observable into Observables, then
flatten the emissions from those into a single Observable

Observable.flatMap()接收一个Observable的输出作为输入,同时输出其余一个Observable。

语言 1

先加一个函数

static Observable<List<String>>query(){
        List<String> s = Arrays.asList("Java", "Android", "Ruby", "Ios", "Swift");
        return Observable.just(s);
}

俺们打印所有query到的语言:

// 注意这里的参数是 query所返回的Observable的输出,并且返会一个Observable<String>
query().flatMap(new Func1<List<String>, Observable<String>>() {
    @Override
    public Observable<String> call(List<String> strings) {
        //结合from处理
        return Observable.from(strings);
    }
}).subscribe(new Action1<String>() {
    @Override
    public void call(String s) {
        System.out.println("_flatMap:"+s);
    }
});

日志:

_flatMap:Java
_flatMap:Android
_flatMap:Ruby
_flatMap:Ios
_flatMap:Swift

注意:query返回的Observable的输出是List<String>,在flatMap中变成了参数,而处理过后,返回一个Observable<String>.

假使那时候大家须求处理一下所得到的结果,大家加个前缀,在确保不修改subscribe的前提下我们得以这样做:

充实个函数,用来扩大个前缀:

static Observable<String>addPre(String lan){
        return Observable.just("addPre_"+lan);
}

代码可以如此写:

query().flatMap(new Func1<List<String>, Observable<String>>() {
    @Override
    public Observable<String> call(List<String> strings) {
        return Observable.from(strings);
    }
}).flatMap(new Func1<String, Observable<String>>() {
    @Override
    public Observable<String> call(String s) {
        //我们在这里调用`addPre`方法,就行处理
        return addPre(s);
    }
}).subscribe(new Action1<String>() {
    @Override
    public void call(String s) {
        System.out.println(s);
    }
});

出口日志

addPre_Java
addPre_Android
addPre_Ruby
addPre_Ios
addPre_Swift

map与flatMap的界别(出自朱凯):

map 是在一个 item 被发射之后,到达 map 处经过转换成为另一个 item
,然后继续往下走;
flapMap 是 item 被发射之后,到达 flatMap 处经过转换成为一个 Observable
,而以此 Observable
并不会直接被发射出来,而是会即时被激活,然后把它发出出的每个 item
都传开流中,再持续走下去。
故而 flatMap 和 map 有三个分别:

  1. 经过 Observable 的变换,相当于再度开了一个异步的流;
  2. item 被分流了,个数暴发了转移。

以此flatMap依然相比较难以知晓,它到底是什么样工作的.
协调还亟需多去询问一下.

知秋给叶梒倒了杯白开水,捧在手里不时地吹着。“叶梒,我觉得自我差点就要错过你了,以为你再也不会回来了,”

操作符

操作符是为了缓解对Observable对象的转移的题材,操作符用于在Observable和最终的Subscriber期间修改Observable发出的轩然大波。
RxJava提供了无数很有用的操作符。

Subscribers更应当做的作业是“响应”,响应Observable发出的轩然大波,而不是去修改。

故此修改就交由操作符吧.

“可是那是自己买给协调的。”叶梒自言自语。

Map

transform the items emitted by an Observable by applying a function to
each item

用来把一个轩然大波转换为另一个轩然大波。
map()操作符就是用来变换Observable对象的,map操作符再次来到一个Observable对象,那样就能够兑现链式调用,在一个Observable对象上反复行使map操作符,最后将最精简的数码传递给Subscriber对象。

语言 2

原理

实效

特性:

  1. 它不用重返Observable对象回来的品类,你可以选取map操作符重临一个生出新的数据类型的observable对象。
  2. 能够对一个Observable数十次行使map

用一个例证来磨炼:

//刚创建的Observable是String类型的
Observable.just("Hellp Map Operator")
.map(new Func1<String, Integer>() {
    @Override
    public Integer call(String s) {
        return 2015;//通过第一个map转成Integer
    }
}).map(new Func1<Integer, String>() {
    @Override
    public String call(Integer integer) {
        return String.valueOf(integer);//再通过第二个map转成String
    }
}).subscribe(new Action1<String>() {
    @Override
    public void call(String s) {
        System.out.println(s);
    }
});

Run起来输出日志:

2015

几人沉默了,唯有滴滴答答的钟表的声响。此时的她们,已经不再期待时刻可以静止,不论是倒流或者快进,都比此刻好度过。

From

convert various other objects and data types into Observables

from()收取一个集合营为输入,然后历次输出一个要素给subscriber.

  1. from(Iterable<? extends T> iterable)
  2. from(T[] array)

from

看个例证,将聚集的多少都输出:

List<String> s = Arrays.asList("Java", "Android", "Ruby", "Ios", "Swift");
Observable.from(s).subscribe(new Action1<String>() {
    @Override
    public void call(String s) {
        System.out.println(s);
    }
});

Log:

Java
Android
Ruby
Ios
Swift

另外from也经受数组类型:

Observable.from(new String[]{"Java","Android"}).subscribe(new Action1<String>() {
    @Override
    public void call(String s) {
        System.out.println(s);
    }
});

他感觉叶梒的手指头在有点地动,眼睛一点点睁开了。

更加多操作符

  1. filter 过滤,把不符合条件的过滤掉,留下符合条件的
  2. take 指定最多输出的数目
  3. doOnNext
    允许大家在历次输出一个元素以前做一些附加的政工(其实就是在onNext里调用的)

就用一个例子来演示一下吗:

query().flatMap(new Func1<List<String>, Observable<String>>() {
    @Override
    public Observable<String> call(List<String> strings) {
        return Observable.from(strings);
    }
}).flatMap(new Func1<String, Observable<String>>() {
    @Override
    public Observable<String> call(String s) {
        return addPre(s);
    }
}).filter(new Func1<String, Boolean>() {
    @Override
    public Boolean call(String s) {
        //包含a的留下
        return s.contains("a");
    }
}).take(3)//最多只取3个
  .doOnNext(new Action1<String>() {
    @Override
    public void call(String s) {
        //onNext之前 输出一下
        System.out.println("doOnNext:"+s);
    }
}).subscribe(new Action1<String>() {
    @Override
    public void call(String s) {
        System.out.println(s);
    }
});

输出:

doOnNext:addPre_Java
addPre_Java
doOnNext:addPre_Android
addPre_Android
doOnNext:addPre_Ruby
addPre_Ruby

还有好多广大广大操作符须要去学学,那里就罗列这么多少个.

参考

深刻浅出RxJava(二:操作符)
Operators

安利:
我的Github
自身的微博
自我的微信公众号:

微信公众号

知秋想解释,但是他精通,叶梒是未曾听解释的。“嗯。”

那些天叶梒向来在病房里。知秋每一天都会来给他换药,陪着她。知秋买了一束插花,是淡粉红色的,有微微的清香,叫勿忘我。在高中的时候,知秋问叶梒要那种花,叶梒始终都并未买给她。这时的知秋还挽着叶梒的手臂,那时的叶梒还尚未这么健康和高大。叶梒想起了当初的他俩。

就在知秋结婚的这一天,叶梒戴上了戒指。而知秋,则带着泪水进入了他的婚姻。

叶梒在回去的途要旨里不知是怎么着滋味儿。这一个天来,或者说这一个年来,他径直想见见的,就是知秋能幸福。他期望她给不了知秋的,终有一天能有那么一个人给他。知秋身边不会不够男人,这一天是必定的事。而现在叶梒看到了知秋和其他男人在联合,他感觉到心像火烧一般悲哀。他爱知秋,但他一直不主意得到,他分化意。会有人爱知秋,可是他又不想让除他之外的人去爱知秋。他无法。他努力安慰着祥和:“不可能再回头了。”

“那,我走了?”叶梒依然笑了笑,做了个告其余手势,转身走了。他无法再多逗留一秒。

那段日子知秋都会和叶梒在卫生院的楼顶聊天,知秋总是让叶梒对着太阳,说这么能让他回复得好些,尽管她直接都是对叶梒的动静最明白,她仍旧抱着梦想。她期待叶梒和之前一样,不要被这一次的迫害而更改。

“叶梒,我的确不懂你。”知秋已经远非眼泪了。她的眼圈红红的。

“您好先生,为您的心上人挑一款戒指?”“看你已经看了好久了。”

知秋好多生活没见叶梒了,她不了然叶梒为啥不来找他,她也未曾去找叶梒。她起来有点紧张。

数从此的一天,叶梒在一条街上漫步。那条街上,最多的是婚纱店和首饰店。他用脚踢着眼前的石块,勾起那时到现在一向从未熄灭的幻想。他想知秋穿上婚纱一定会是这世界上最美的新人,她的裙摆会在微风中轻装飘起,她的双脚踩在水晶鞋上轻盈如鸿,她的脸孔带着初见时候的微笑,还有微陷的酒窝。她自然会在他前头掀起裙摆,在她脸上轻轻一吻。他早已不止一回幻想那几个,每一次都就像是是真的一模一样。可是现在,他真的只剩下幻想。他没有爱知秋的胆量和能力了,他想,事到近日,他不用痛楚。可他依然爱着她。

“我很对不起。”“大家不可以的。”

“他对您好呢?”

“可能近来睡得不是很好。”

本次三个人真的分别了。知秋有了投机的家园,她已经变成旁人的老伴,不久将来或者就会化为一个三姨,那将来,知秋的生存幸不幸福,或许真正都与叶梒非亲非故了。而叶梒,也只会固执地一个人活着下去,不会再为自己的感想而接受别人的情愫。他过得好与坏,也绝非了知秋的关爱。他们的人生,已不复属于他们协调。

知秋的肉眼很红,脸色也不太窘迫。知秋回来的时候,叶梒醒了。

“抱歉,”“我除了抱歉,什么也说不出来。”“你知道,我一贯是一个懦夫。”

知秋将头靠在叶梒的肩头上,两个人的手牢牢贴着。

叶梒是不会自由如同此离开的。人部分时候是足以用心思将团结从生死边缘拉回来的,只要她心中有丰裕抵抗离世的灼热的东西。

知秋坐上车,并从未出口。她心头确实很乱。

“那真的要祝福你们。”

“没有。”

“我忘了。”“好久没刮了。”叶梒用手摸了摸下巴。

他也并未去见知秋。他没有知道自己身体的意况,不过他初步变得抑郁。他起来疑忌自己是还是不是能给知秋幸福。7个月前的事即便已经身故,不过她心中并没有感觉轻松。他先是次真切地感受到了生与死的相距。如果意外终有一天会再一次到来,他肯定不会让知秋一同接受。

“叶梒……”

“你气色不太好。”

“我说那花的名字。”知秋指着花店前很明确的成簇的勿忘我。

知秋不知晓叶梒为啥突然变得那样冷淡。

“是我的错,”“我现在后悔了!”“我不应该来找你,”“那样或许你会过得更好。”

“只是没有那时候这样鲜艳了,然则它依旧勿忘我。”知秋把剩余的部分剪掉,插到玻璃瓶里。

男与女在情爱里最大的分别在于:女人陷入爱情,便会一再陷入,直到死在爱情里;而娃他爹陷入爱情,最后的结果不得不是成全。知秋说不定永远不会知道叶梒为什么那样做,每一趟的产出带给他说话的高兴,却又没有在人群里。

“谢谢,就这一对啊。”

叶梒沉默了一会,“嗯,知秋,前些天自我来是有话对你说,”“不说出去自我不太舒适。”

叶梒从床上坐起来,“我想去窗前站一会。”

知秋扶着叶梒走到窗前,望着窗外。

“唔,”“那还挺好的。”知秋笑了笑。

“花终有一天会枯萎,我要的只是您永远都记得自己。”

“还不错。”

“嗯。”

知秋走了。像从前一样,没有吵架,没有告别。

“我不容许和你结婚的。”“你有您的生存,我有自身的活着。”

叶梒疯狂地把她的身心都投入到了办事中,他不得不以那种格局来把温馨的活着安顿得像个好人,那样她天天才能少想有的作业,有含义或无意义的工作。他每一天唯一的抚慰,就是晚上到客栈买醉。他老是一个人,头也不抬地坐在那里喝酒,有无数妇人过来搭讪,他也只是有一搭没一搭地聊一两句,最后以女性的一句“无趣。”而终止。叶梒每一趟都是一个人喝得烂醉,阳泽去接她的时候,每一次都劝她少喝,可是他又是那么了然她,他不知底怎么做才好。

“知秋!”那时他看见叶梒正向他走来,那一个时候叶梒也应当下班了。知秋转身对车里的丈夫说了何等,然后向叶梒走来。

那对特其他情侣,上天到底还要让她们备受多少,才能胜利?

“嗯。你过得怎么着?身体已经还原了?”

更加男人时常会去接知秋下班,可以看来知秋和她里头并不是专程恩爱。多人一头走的时候中间总是有着距离。知秋的手平昔都是放在大衣的衣兜里。那几个男人就在他左右。他对知秋很好,甚至好过叶梒,他能比叶梒陪伴他越多的日子。但是他们中间的讲话却孤立无援无几,偶尔说的,可能就是些工作的事。心中的语言是说不完的。而这几个有说不完的口舌的人,除了叶梒,没有也不容许有其余人。

“不过叶梒,”“前天或许不太方便。”

“我想和什么人结婚。你是领会的。”

“这几个男人……”

“你也是,该刮一刮胡子了。”知秋喝了一口柠檬水。

“叶梒?”知秋有点惊讶。

“你应有结合了。”

“我就说那小子命大得很,”阳泽不知哪一天从门外走了进入。

“我见到了,你的男朋友吗。”

“叶梒,你是爱我的。你一直都是爱我的。”

信是叶梒在武装时的战友苏云寄来的。这时候就数苏云、段青和她最要好,多个人也是部队里最简单并发难题的兵,后来退伍的时候,多少人分到了不相同的地点。叶梒认为应该是之前的战友想他了,向她致敬,然后他们谋面,聊一些之前的斗嘴事,再痛痛快快地一起喝酒。想到这里,他的脸孔表露出微笑,他很激动。叶梒拿起信,拆开看着,信的情节并不多,但是见到第一行时,叶梒的头就“嗡”地一声开感冒痛。信的内容让他不敢相信,甚至让他窒息。

死者长已矣,生者如斯夫。假如他这样死去,知秋不仅会恨他一生,可能也会间接痛心疼苦下去,活在伤心的追思里。

“是啊。”“我还等着喝你的喜酒啊!”

“我直接都过得不佳。”

似乎此两年过去了。这两年中,阳泽辞了职,也顺手地和情侣结了婚。他偶然很羡慕阳泽。不过叶梒驾驭,他们纵然是很好的心上人,不过他们出身差异。阳泽辞了职可以很不难地再找到工作,让他俩的活着过得很好根本小问题。而叶梒呢?他如若失去了那份工作,就凭他那点不可能称为才华的德才,是不可能给任何女孩子幸福的,更毫不说一个安稳的家了。每个人的路不一致,有时候只可以硬着头皮往前走。

半年过后,叶梒可以出院了。他又穿上了那身警服。他是个善始善终的人,因为7个月前的事而扬弃这些事情,他是不会做的。

“是本人的恋人。”“没错。”

“先生您真是幽默,”“同理可得几人在一道不不难。”

“喜欢自己就买给您呢。”

叶梒不晓得自己做得是对是错。如若人世间那么多事都能分出对错,也未必现在如此伤心。

“我不会这样自由死掉的。”叶梒怎么会就这么离开呢?

3个月后,知秋结婚了。结婚的当日,知秋如故给叶梒寄来了一份请柬。叶梒没有打开看,放在了一边。他是不会去知秋婚礼的,他有多难熬只有和谐精晓。

那天叶梒收到一封从外地寄来的信。

“怎么了?”叶梒察觉到了什么样,他向远处的那辆车看了一眼。

叶梒的心坎还有点隐约作痛,说话时相对续续地暂停着。

“照顾好温馨。”

这天,知秋下了班,在诊所的楼下等着老大接他下班的先生。知秋的头发随风飘起,她用手将一侧被风吹落的毛发别到耳后,随手从大衣口袋里摸出一包香烟,抽出一根激起了抽着。知秋以来抽烟比原先多了。她每一日都用那种艺术来度过下班等足够男人的小时。她时不时是抽完了一支,另一只紧接着就点上了。直到第三根烟快熄灭的时候,那些男人的车缓缓驶来。

“好久不见,”“近来还行吗?”

“勿忘我,叶梒。”

知秋把剩余的一口烟抽完,正准备上车。

几天后,知秋和叶梒在一家咖啡店见了面。

“你还记得。”

“你要么尽量少说话,听我说就好。”知秋把白开水递给叶梒。

实质上,真正值得回想的东西,就好像被水滴滴穿的石头,只会一遍次尤为深,却永远也不会烟消云散。

“你说哪些吧,我为何要忘记您?”

“叶梒,”“我清楚,不过……”知秋有点惊惶失措。

语言 3

时刻已值下午,夕阳的余晖落在他们的眼睛里,脸颊上,肩膀上。街上的游子已不太多,树上唯有几片叶孤独地在风中扬尘,不肯落下。天空偶尔有飞鸟经过,像是为春季做着最后一点寂寞而寂寞的装点。远处已经有几盏街灯亮了起来。

“怎么了,知秋?”

“就当整个过去了啊。”“过去是我错,现在也是自己错。”“知秋,原谅我。”“我早已黔驴技穷爱您了。”叶梒终于把那句烫口的话说了出来,他的嗓门霎时像喝过烈酒一般地头痛。

“两杯柠檬水,谢谢。”

“那你当时就不应该来找我。”

“叶梒,其实……”

“啊。”“你看我,”“我应该提前和您说一声的。”叶梒努力笑了笑。“改天吧,改天。”

“怎么会忘呢。”

叶梒走进了一家首饰店。

“你真的如此想?”

“知秋,总会有人比自己爱你。”

叶梒仍然像过去相同,每日奔波于公寓和警局之间,丝毫不爱抚自己的人身。

知秋没有想到他等了叶梒这么久,却只换到那样的结果。

知秋看叶梒醒了,她哭了,一会又笑了。叶梒没有说话,只是瞧着知秋。知秋也从没开口,只是笑着流泪。多个人像是分别了好久好久。

叶梒也是率先次感受到她的性命是这么脆弱,从前的他何以都不会害怕,然则那三遍,他实在感受到了毛骨悚然。他径直都担心,知秋没有了她会过的什么。从认识他起来,他就在操心知秋,知秋接触的女婿不会很少,可这么的活着不可以循环不断下去,除非有一天她能拥有知秋。要是她这么相差,他会后悔终生。他也不曾想过,假若阳泽失去了她,而且就在他的身边,那是何等的一种痛吧?

“大家如此算怎么?”“我们之间你作为是虚幻的事?”

知秋在一家花店门口停下来。

文/半生蝶衣

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图