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
550
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.7k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
0
440
チーム開発と Android アプリの構成
ryugoo
5
1.2k
開発 4 年目のアプリへの Kotlin 導入
ryugoo
1
2.7k
Either で想定内のエラーと想定外のエラーを別ものにしたい!
ryugoo
2
1.7k
全て S になる -RxJava と LWS を持ち込む楽しさ-
ryugoo
4
760
Kotlin さんと誕生日が近いだけの男の話
ryugoo
2
520
Android エンジニアになって 2 年の学び
ryugoo
1
2.7k
年末だしお掃除をしよう!
ryugoo
0
800
Other Decks in Technology
See All in Technology
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
840
AI時代におけるデータの重要性 ~データマネジメントの第一歩~
ryoichi_ota
0
700
Claude Code Subagents 再入門 ~cc-sddの実装で学んだこと~
gotalab555
10
17k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
940
なぜAWSを活かしきれないのか?技術と組織への処方箋
nrinetcom
PRO
5
1k
技育祭2025【秋】 企業ピッチ/登壇資料(高橋 悟生)
hacobu
PRO
0
120
20251007: What happens when multi-agent systems become larger? (CyberAgent, Inc)
ornew
1
500
Zephyr(RTOS)にEdge AIを組み込んでみた話
iotengineer22
0
210
Databricks AI/BI Genie の「値ディクショナリー」をAmazonの奥地(S3)まで見に行く
kameitomohiro
1
330
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
170
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.2k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
8.9k
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
84
9.2k
Thoughts on Productivity
jonyablonski
70
4.9k
For a Future-Friendly Web
brad_frost
180
10k
KATA
mclloyd
PRO
32
15k
A better future with KSS
kneath
239
18k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Optimizing for Happiness
mojombo
379
70k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Embracing the Ebb and Flow
colly
88
4.9k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
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