Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Transition at RxJava 1.x to 2.x
Search
Ryutaro Miyashita
February 01, 2017
Technology
0
510
Transition at RxJava 1.x to 2.x
第2回スタートアップAndroid勉強会
https://connpass.com/event/48090/
Ryutaro Miyashita
February 01, 2017
Tweet
Share
More Decks by Ryutaro Miyashita
See All by Ryutaro Miyashita
Java で書かれた Android アプリを Kotlin で書き直すまでの話 / Talk of rewrite Android app for Java to Kotlin
ryugoo
0
1.6k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
0
390
チーム開発と Android アプリの構成
ryugoo
5
1.1k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
1
2.4k
Either で想定内のエラーと想定外のエラーを別ものにしたい!
ryugoo
2
1.6k
全て S になる -RxJava と LWS を持ち込む楽しさ-
ryugoo
4
670
Kotlin さんと誕生日が近いだけの男の話
ryugoo
2
480
Android エンジニアになって 2 年の学び
ryugoo
1
2.6k
年末だしお掃除をしよう!
ryugoo
0
750
Other Decks in Technology
See All in Technology
シフトレフトで挑む セキュリティの生産性向上
sekido
PRO
0
270
コンテナ・K8s研修 - 前半 コンテナ基礎・ハンズオン【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
170
CEL(Common Expression Language)で書いた条件にマッチしたIAM Policyを見つける / iam-policy-finder
fujiwara3
0
710
Azure Pipelinesを使用したCICDベースラインアーキテクチャ実践
yuriemori
0
190
Git 研修 Basic【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
310
AutomatedLabを使って内部ペンテストを勉強しよう! -やられ社内ネットワークの自動構築-
n_etupirka
1
610
RAGのサービスをリリースして1年3ヶ月が経ちました
segavvy
4
900
セキュリティ研修 Day1【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
150
20240724_cm_odyssey_hibiyatech
hiashisan
0
110
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
180
[NIKKEI Tech Talk]Bias for Action!! 実践から学ぶための仕組とコミュニティ / Community for Practice and Learning
kanamasa
0
260
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
470
Featured
See All Featured
Producing Creativity
orderedlist
PRO
340
39k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3.3k
Optimizing for Happiness
mojombo
373
69k
Building Effective Engineering Teams - LeadDev
addyosmani
47
2.2k
Statistics for Hackers
jakevdp
792
220k
The Invisible Customer
myddelton
117
13k
It's Worth the Effort
3n
181
27k
Bash Introduction
62gerente
607
210k
Clear Off the Table
cherdarchuk
89
320k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
121
18k
Why You Should Never Use an ORM
jnunemaker
PRO
51
8.9k
Transcript
5SBOTJUJPOBU3Y+BWBYUPY 3Y+BWBYַ3Y+BWBYפך獳遤
3ZVUBSP.JZBTIJUB $IBU8PSL !SZVHPP@
3Y+BWB 3FBDUJWF&YUFOTJPOTGPSUIF+7. "OESPJE涪ַ鋅גծ葿ղדֹ ؝ؙٖءّٝ乼⡲ "TZOD5BTLך➿
%BUBCJOEJOH +BWB"1*ך➿ 4USFBN 0QUJPOBM &WFOU#VT
3Y+BWBY 㸜㹀晛ٔٔ٦أ 3FBDUJWF4USFBNTך➬圫彊䬿 ➭ך㹋鄲חכ"LLB4USFBNTהַ 3Y+BWBYַ㢌刿ָֿֿ֮
3Y+BWBYח獳遤ׅ (JU)VCך8IBUˏTEJFSFODFJO铣 ֻֻה"1*刿倜ׅ 3Y+BWB鸬䵿ٓ؎ـٓٔ،حفر٦زׅ ⹛⡲然钠
/POOVMM Observable.<Void>create(emitter -> { emitter.onNext(null); // NPE });
/POOVMM enum Notification { INSTANCE; } Observable.<Object>create(emitter -> { emitter.onNext(Notification.INSTANCE);
});
/POOVMM OVMMFNJUֿׅהכדֹזְ 0CTFSWBCMF7PJEכ0CTFSWBCMF0CKFDUד FOVNך⦼FNJUׅ״ֲח㢌ִ NBQؔلٖ٦ة٦זודSFUVSOOVMMׯג ⢽ִל/VMM0CKFDUػة٦ٝד㼎䘔ׅ
-JHIUXFJHIU4USFBN"1*ה穈さׇג ⦼0QUJPOBMדٓحفׅך葺ְַ
,JDLTUBSUFSBOESPJEPTT
#BDLQSFTTVSF Y List<Integer> nums; // Huge list Observable<Integer>create(emitter -> {
for (int i : nums) { emitter.onNext(i); } }) .onBackPressureBuffer() .subscribe(i -> { /* ignored */ });
#BDLQSFTTVSF Y List<Integer> nums; // Huge list Flowable<Integer>create(emitter -> {
for (int i : nums) { emitter.onNext(i); } }, BackpressureStrategy.BUFFER) .subscribe(i -> { /* ignored */ });
#BDLQSFTTVSF 0CTFSWBCMFד#BDLQSFTTVSFכ《䪔ִזְ 'MPXBCMF⢪ֲ 0CTFSWBCMFה'MPXBCMF幉㖈ׇׁהֹכ岣䠐 0CTFSWBCMFUP'MPXBCMF
'MPXBCMFUP0CTFSWBCMF 'MPXBCMFח㺔ׇ倯ָ#BDLQSFTTVSFח㼎䘔דֲֹ
4VCKFDU Y Subject<String, String> subject = new SerializedSubject( PublishSubject.create());
4VCKFDU Y Subject<String> subject = PublishSubject.<String>create() .toSerialized(); Processor<String, String> processor
= PublishProcessor.<String>create() .toSerialized();
4VCKFDU 4FSJBMJ[FE4VCKFDUכOFXדכזֻ 傀㶷ך4VCKFDUַUP4FSJBMJ[FEًاحسד⡲ 4VCKFDUדכ#BDLQSFTTVSFכ《䪔ִזְ 1SPDFTTPS⢪ֲ
4DIFEVMFST Y .subscribeOn(Schedulers.immediate())
4DIFEVMFST Y .subscribeOn(Schedulers.trampoline())
4DIFEVMFST 4DIFEVMFSTJNNFEJBUFכYדכ㶷㖈׃זְ ➿חUSBNQPMJOF⢪ֲ 5ISFBE-PDBMחُؗ٦؎ؚٝ׃ג鷵如Ⳣ椚
3Y#JOEJOH 3Y#JOEJOHכ7JFXך؎كٝز 0CTFSWBCMFח㢌䳔׃גֻ ⥋걾ה㸜䗰ך+BLF8IBSUPO⯓欰⡲ㅷ 植㖈NBTUFSـٓٝثָ3Y+BWBYח 㼎䘔׃גְָծ姻䒭ٔٔ٦أָת
3Y#JOEJOH allprojects { repositories { maven { url 'https://jitpack.io' }
} } compile 'com.github.JakeWharton.RxBinding:rxbinding:71f3a1b' CVJMEHSBEMF SPPU CVJMEHSBEMF BQQ ˟SYCJOEJOHBQQDPNQBUWװSYCJOEJOHTVQQPSUWず圫ךغ٦آّٝ䭷㹀ד0,
3Y+BWBYח獳遤׃ג ֻֻה堣唒涸ח縧ֹ䳔ִגְֻ OVMMFNJU׃גה/1&חזךד岣䠐ָ䗳銲 ずׄせך"1*ד䮙⹛ָ㢌גך،ٔ ⢽ִל0CTFSWBCMFUP-JTUכ4JOHMF鵤ׅ
4JOHMF.BZCF$PNQMFUBCMF鵤ׅ㢌刿כ㢳ְ 8IBUTEJFSFOUJO擾铣ׅץ׃ ㉏겗搀ֻ麊欽דֹגְ
&OKPZ3Y4USFBN-JGF