Upgrade to Pro — share decks privately, control downloads, hide ads and more …

全て S になる -RxJava と LWS を持ち込む楽しさ-

全て S になる -RxJava と LWS を持ち込む楽しさ-

DroidKaigi 2017 day 1, 17:10 JST

Ryutaro Miyashita

March 09, 2017
Tweet

More Decks by Ryutaro Miyashita

Other Decks in Technology

Transcript

  1. ⰋגS חז׷
    3Y+BWBה-84׾䭯׍鴥׬嚂׃ׁ
     
    

    View Slide

  2. SZVHPP㹧♴畆㣐龤
    $IBU8PSL،فٔ؛٦ءّٝꟚ涪鿇ٔ٦ت٦

    View Slide

  3. ⰋגS חז׷

    View Slide

  4. ⰋגStream חז׷

    View Slide

  5. Ⰻג4USFBNחז׷

    View Slide

  6. +BWBך♧⢽
    
    
    -BNCEB䒭
    
    
    ًاحسٔؿ؋ٖٝأ
    
    
    4USFBN0QUJPOBM"1*
    +BWBדכ圫ղז鎉铂堣腉䓼⻉ָ遤׻׸גְ׷

    View Slide

  7. +BWBךغ٦آّٝ
    "OESPJE/הⰟחאְח"OESPJEח׮+BWBָ勻׋
    IUUQTEFWFMPQFSBOESPJEDPNHVJEFQMBUGPSNKKBDLIUNM
    
    
    
    
    
    
    
    

    View Slide

  8. +BDLךⵖ秈
    +BDLJTOPUTJMWFSCVMMFU
    *OTUBOU3VOָ⢪ִתׇ׿
    ؽٕسָ鹼ְדׅ
    ♧鿇ؽٕس堣腉ָ⢪ִתׇ׿

    TISJOL3FTPVSDFT
    ،فٔךغ؎شٔ؟؎ؤ׮㣐ֹֻז׶תׅ
    4USFBNװ0QUJPOBMכ"1*-W⟃♳ָ䗳銲דׅ
    植㖈"OESPJEYךءؑ،כדׅ
    ⢪ִ׷״ֲחז׷ךכ勻⚅
    IUUQTHJUIVCDPNTZTZBHJBOESPJENFUIPEDPVOUT
    IUUQTEFWFMPQFSBOESPJEDPNBCPVUEBTICPBSETJOEFYIUNM

    View Slide

  9. 劢勻׾⯓《׶ׅ׷

    View Slide

  10. 3FUSPMBNCEB
    3Y+BWB
    -JHIUXFJHIU4USFBN"1*

    View Slide

  11. 3FUSPMBNCEB
    3Y+BWB
    -JHIUXFJHIU4USFBN"1*

    View Slide

  12. 3FUSPMBNCEBד䩛חⰅ׷+BWBך堣腉
    -BNCEB䒭
    ًاحسٔؿ؋ٖٝأ
    USZXJUISFTPVSDFT
    0CKFDUTSFRVJSF/PO/VMM
    رؿٕؓزًاحس
    JOUFSGBDFⰻךTUBUJDًاحس
    -BNCEB䒭הًاحسٔؿ؋ٖٝأ⵸䲿דֶ鑧׾鹌׭תׅ
    IUUQTHJUIVCDPNFWBOUHSBEMFSFUSPMBNCEB
    䩛חⰅ׷׮ךכ鎉铂堣腉鿇ⴓ

    View Slide

  13. 3FUSPMBNCEB
    +BWBך-BNCEB䒭׾"OESPJEפ
    
    
    
    
    
    
    
    
    

    View Slide

  14. 
    
    
    
    
    
    
    

    3FUSPMBNCEB
    +BDLず圫חDPNQBUJCJMJUZ0QUJPOTד+BWB׾䭷㹀ׅ׷

    View Slide

  15. 3FUSPMBNCEB
    3Y+BWB
    -JHIUXFJHIU4USFBN"1*

    View Slide

  16. 3Y+BWB
    "OESPJE"1*ך汒ְהֿ׹׾酡׏גֻ׸תׅ
    ꬊず劍Ⳣ椚
    ؎كٝز鸐濼
    4USFBN"1*ך״ֲח׮堣腉׃תׅ
    ؝ؙٖءّٝ乼⡲
    ꬊず劍٥ず劍׾䠐陎ׇ׆חⳢ椚׾剅ֽתׅ
    ًاحسثؑ٦ٝח״׷鎸鶢
    أ؛آُ٦ٓ٦׾⢪׏׋أٖحسⴖ׶剏ִ
    3FBDUJWF&YUFOTJPOTGPS+7.
    IUUQTHJUIVCDPN3FBDUJWF93Y+BWB

    View Slide

  17. 3Y+BWBXJUI
    3Y#JOEJOH
    "OESPJEך7JFXה3Y+BWB׾穠ןאֽ׷
    3Y"OESPJE
    6*أٖحس欽ךأ؛آُ٦ٓ٦׾䲿⣘ׅ׷
    3Y-JGFDZDMF
    "OESPJEך歗꬗ٓ؎ؿ؟؎ؙٕה穠ןאֽ׷
    3FBDUJWF&YUFOTJPOTGPS+7.
    IUUQTHJUIVCDPN+BLF8IBSUPO3Y#JOEJOH
    IUUQTHJUIVCDPN3FBDUJWF93Y"OESPJE
    IUUQTHJUIVCDPNUSFMMP3Y-JGFDZDMF

    View Slide

  18. 3Y+BWB
    
    
    
    
    
    +BWB4USFBN"1*ٓ؎ؙז؝ؙٖءّٝ乼⡲
    

    
    
    
    3Y+BWB
    4USFBN

    View Slide

  19. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    ءٝفٕזꬊず劍Ⳣ椚

    View Slide

  20. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    ءٝفٕזꬊず劍Ⳣ椚
    فٔإحزׁ׸׋أٖحسف٦ٕ׾⢪׏ג
    4JOHMFGSPN$BMMBCMFךⳢ椚׾㹋遤

    View Slide

  21. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    ءٝفٕזꬊず劍Ⳣ椚
    3Y"OESPJE׾⢪׏ג6*أٖحسד穠卓׾《䖤

    View Slide

  22. 
    
    
    
    
    
    
    
    
    
    3Y+BWB
    ずׄⳢ椚׾"TZOD5BTLד剅ֻה
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    View Slide

  23. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    6TFDBTFنةٝ׾䬃׃׋׵8FC"1*ה鸐⥋׃ג穠卓׾邌爙

    View Slide

  24. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    6TFDBTFنةٝ׾䬃׃׋׵8FC"1*ה鸐⥋׃ג穠卓׾邌爙

    View Slide

  25. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    6TFDBTFنةٝ׾䬃׃׋׵8FC"1*ה鸐⥋׃ג穠卓׾邌爙
    3Y#JOEJOH׾⢪׏גؙٔحؙ؎كٝز׾
    3Y+BWBדعٝسؚٔٝ 6*أٖحس

    View Slide

  26. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    6TFDBTFنةٝ׾䬃׃׋׵8FC"1*ה鸐⥋׃ג穠卓׾邌爙
    ⟃♴ךⳢ椚׾ٙ٦ؕ٦أٖحسחⴖ׶剏ִ

    View Slide

  27. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    6TFDBTFنةٝ׾䬃׃׋׵8FC"1*ה鸐⥋׃ג穠卓׾邌爙
    ؙٔحؙ؎كٝز׾8FC"1*鸐⥋ך穠卓ח㢌䳔

    View Slide

  28. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    6TFDBTFنةٝ׾䬃׃׋׵8FC"1*ה鸐⥋׃ג穠卓׾邌爙
    ⟃♴ךⳢ椚כ6*أٖحسחⴖ׶剏ִ

    View Slide

  29. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    6TFDBTFنةٝ׾䬃׃׋׵8FC"1*ה鸐⥋׃ג穠卓׾邌爙
    穠卓ך「ֽ《׶הⳢ椚

    View Slide

  30. 3Y+BWB
    
    
    
    
    
    
    
    
    
    
    6TFDBTFنةٝ׾䬃׃׋׵8FC"1*ה鸐⥋׃ג穠卓׾邌爙

    View Slide

  31. 3Y+BWB׾䭯׍鴥׬嚂׃ׁ
    ؝ؙٖءّٝ乼⡲װꬊず劍Ⳣ椚ָأحؗٔ剅ֽתׅ
    طأزָ帾ֻז׶תׇ׿
    ♳ַ׵♴חⳢ椚׾剅ְגְֽל0,דׅ
    0CTFSWBCMF4USFBN
    'MVFOU*OUFSGBDF
    3Y#JOEJOHזו"OESPJE鸬䵿ٓ؎ـָٓٔ⯍㹋׃גְתׅ
    7JFXך֮׵ײ׷؎كٝز׾3Y+BWBדⳢ椚〳腉דׅ
    ؎كٝزך崧ꆀⵖ䖴׮知⽃חדֹתׅ

    俑㶵Ⰵ⸂׾NT׀החⵖ䖴ׅ׷
    5IFGVOPG3Y+BWB

    View Slide

  32. 3FUSPMBNCEB
    3Y+BWB
    -JHIUXFJHIU4USFBN"1*

    View Slide

  33. -JHIUXFJHIU4USFBN"1*
    +BWBד䲿⣘ׁ׸׋4USFBN"1*ךغحؙه٦زדׅ
    4USFBN׌ֽדזֻ0QUJPOBMװ0CKFDUT׮֮׶תׅ
    杝荈ח䭁䓸ׁ׸׋"1*ָ欽䠐ׁ׸גְתׅ
    3Y+BWBה穈׫さ׻ׇ׷ה葺ְֿהָ֮׶תׅ

    4USFBN"1*GSPN+BWBSFXSJUUFOPOJUFSBUPSTGPS+BWBBOECFMPX
    IUUQTHJUIVCDPNB//J.0/-JHIUXFJHIU4USFBN"1*

    View Slide

  34. -JHIUXFJHIU4USFBN"1*
    4USFBN"1*
    ؝ؙٖءّٝ乼⡲"1*
    0QUJPOBM"1*
    ⦼ָזְַ׮׃׸זְֿה׾邌植דֹ׷"1*
    &YDFQUJPOBM"1* 杝荈

    㹑鎉涸ח鎸鶢דֹ׷USZDBUDIך➿剏"1*
    4USFBN"1*GSPN+BWBSFXSJUUFOPOJUFSBUPSTGPS+BWBBOECFMPX
    IUUQTHJUIVCDPNB//J.0/-JHIUXFJHIU4USFBN"1*

    View Slide

  35. -JHIUXFJHIU4USFBN"1*
    4USFBN"1*
    
    כו׸ַ㔐׌ֽ
    
    
    
    
    
    
    
    
    

    View Slide

  36. -JHIUXFJHIU4USFBN"1*
    0QUJPOBM"1*
    䖞勻ך剅ֹ倯
    
    
    ׾⢪׏׋剅ֹ倯
    
    

    View Slide

  37. -JHIUXFJHIU4USFBN"1*
    6TFDBTF'SBHNFOU.BOBHFSOE'SBHNFOU#Z5BH
    
    
    
    
    
    
    

    .Z'SBHNFOUך؎ٝأةٝأ׾《䖤ׅ׷תדך崧׸׾䩛竲ֹ涸ח鎸鶢ׅ׷

    View Slide

  38. -JHIUXFJHIU4USFBN"1*
    6TFDBTF'SBHNFOU.BOBHFSOE'SBHNFOU#Z5BH
    .Z'SBHNFOUך؎ٝأةٝأ׾《䖤ׅ׷תדך崧׸׾㹑鎉涸ח鎸鶢דֹ׷
    
    
    
    
    
    

    View Slide

  39. -JHIUXFJHIU4USFBN"1*
    6TFDBTF'SBHNFOU.BOBHFSOE'SBHNFOU#Z5BH
    .Z'SBHNFOUך؎ٝأةٝأ׾《䖤ׅ׷תדך崧׸׾㹑鎉涸ח鎸鶢דֹ׷
    
    
    
    杝荈
    

    View Slide

  40. -JHIUXFJHIU4USFBN"1*
    0QUJPOBM"1*ך岣䠐挿
    ⽬ꤹ
    
    
    ⴱ劍⻉ׅ׷הֹח׾➿Ⰵׅ׷
    
    

    View Slide

  41. -84׾䭯׍鴥׬嚂׃ׁ
    طأزָ帾ֻז׶תׇ׿
    ♳ַ׵♴חⳢ椚׾剅ְגְֽל0,דׅ
    'MVFOU*OUFSGBDF
    ؝ؙٖءّٝ乼⡲׾⤑ⵃח遤ִתׅ
    ⦼ך꧊鎘׾圫ղז䕎ד遤ֲֿהָדֹתׅ
    0QUJPOBMכ/1&ה䨌ֲ䓼⸂ז娀㐻הז׶תׅ
    "OESPJE4%,כ⡦ָOVMM׾鵤ַׅⴓַ׶תׇ׿
    ת׋כ'SBHNFOUך《䖤זו䩛竲ָֹ撕꧟זⳢ椚׾

    أحؗٔה鎸鶢ׅ׷ֿהָדֹ׷״ֲחז׶תׅ
    5IFGVOPG-JHIUXFJHIU4USFBN"1*

    View Slide

  42. 3Y+BWB
    -JHIUXFJHIU4USFBN"1*

    View Slide

  43. ؒٓ٦عٝسؚٔٝ㉏겗
    &SSPSIBOEMJOHQSPCMFNPG3Y+BWB
    
    
    

    

    

    

    

    

    

    

    

    

    

    View Slide

  44. ؒٓ٦عٝسؚٔٝ㉏겗
    &SSPSIBOEMJOHQSPCMFNPG3Y+BWB
    
    
    

    

    

    

    

    

    

    

    

    

    

    鷿⚥דؒٓ٦ָ鸐濼ׁ׸׋㜥さ

    View Slide

  45. ؒٓ٦عٝسؚٔٝ㉏겗
    &SSPSIBOEMJOHQSPCMFNPG3Y+BWB
    
    
    

    

    

    

    

    

    

    

    

    

    

    PO&SSPSָ㹋遤ׁ׸飑铣ָ穄✪ׅ׷

    View Slide

  46. ؒٓ٦عٝسؚٔٝ㉏겗
    &SSPSIBOEMJOHQSPCMFNPG3Y+BWB
    3Y+BWBך㣟侁כPO&SSPSח5ISPXBCMF׾䫎־׷
    PO&SSPSָ勻׷ה♧鸬ך飑铣כ穄✪׃תׅ
    ⢽ִל8FC"1*ךؙٔؒأزח㣟侁׃׋׵
    ׮ֲ♧䏝ِ٦ؠ٦ָٔزٓ؎ׅ׸ל䧭⸆ׅ׷ַ׮
    ד׮نةؙٝٔحؙ؎كٝزכ׮ֲ飑铣穄✪˘˘
    䟝㹀ⰻך㣟侁הծ䠐㔳׃זְ⢽㢩׾ⴓֽ׋ְ
    1BJS#PPMFBO 5׾⢪׏ג姻や׾溪⩝⦼ד然ַ׭׷
    1BJS*OUFHFS 5׾⢪׏גؒٓ٦؝٦س׾⡲׷
    PO&SSPS3FUVSOװPO&SSPS3FTVNF/FYU׾⢪ֲ

    View Slide

  47. &JUIFS5ZQF
    .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    IUUQTHJTUHJUIVCDPNSZVHPPEFEDCCCBDDCDG
    -FGU㘗ַ3JHIU㘗ך⦼

    ׾䗳׆䭯׏גְ׷
    鎉ְ䳔ִ׸לծו׍׵ַ

    ך⦼כ䗳׆䭯׏גְזְ
    ⦼׾䭯׏גְזְֿה׾ծ

    0QUJPOBMד邌植ׅ׷
    䢪⢽涸ח3JHIU⩎ח

    姻הז׷⦼׾Ⰵ׸׷

    View Slide

  48. &JUIFS5ZQF
    .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    View Slide

  49. &JUIFS5ZQF
    .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    姻ך⦼כ4USJOH 頾ך⦼כ5ISPXBCMF׾䭯א

    &JUIFS㘗׾鸐濼ׅ׷0CTFSWBCMF׾㹀纏ׅ׷

    View Slide

  50. &JUIFS5ZQF
    .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    ؙٔؒأز䧭⸆ך㜥さכ&JUIFSSJHIU׾鸐濼

    View Slide

  51. &JUIFS5ZQF
    .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    ؙٔؒأز㣟侁ך㜥さכ&JUIFSMFGU׾鸐濼

    View Slide

  52. &JUIFS5ZQF
    .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    䠐㔳׃זְ㣟侁ך㜥さכPO&SSPSד⢽㢩׾鸐濼

    View Slide

  53. &JUIFS5ZQF
    .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
    
    
    
    
    ך㣟侁
    ך䧭⸆
    ⟃㢩ד涪欰׃׋⢽㢩
    

    View Slide

  54. &JUIFS5ZQF
    .PSFCFUUFS3Y+BWBFSSPSIBOEMJOH
    
    
    
    
    ך㣟侁
    ך䧭⸆
    ⟃㢩ד涪欰׃׋⢽㢩
    
    䟝㹀ⰻך㣟侁׾「ֽ《׸׷״ֲחז׷

    View Slide

  55. Ⰻג4USFBNחז׷

    View Slide

  56. 
    
    
    
    
    
    
    
    
    
    Ⰻג4USFBNחז׷
    
    
    
    
    
    
    
    
    
    4USFBN
    0QUJPOBM
    3Y+BWB

    View Slide

  57. "OESPJE،فٔ׮+BWBך䛷䜋׾「ֽ׵׸׷
    +BDLכת׌㹋欽媮ꥡדכזְ
    3FUSPMBNCEBד
    -BNCEB䒭הًاحسٔؿ؋ٖٝأ
    +BWBך4USFBN"1*0QUJPOBM"1*כ䓼⸂
    ؝ؙٖءّٝ乼⡲כ4USFBN"1*
    ⦼ָ㶷㖈׃זְֿה׾邌植דֹ׷0QUJPOBM"1*
    暴ח0QUJPOBMכ"OESPJE4%,הך湱䚍ָ葺ְ

    'SBHNFOU.BOBHFS
    3Y+BWBכ"OESPJE4%,ךַײְהֿ׹ח䩛ָ㾈ֻ
    ꬊず劍Ⳣ椚ה؎كٝزغأ
    ؝ؙٖءّٝ乼⡲׮〳腉
    Ⰻג4USFBNחז׷

    View Slide

  58. 3Y+BWB-JHIUXFJHIU4USFBN"1*
    0CTFSWBCMF4USFBNװ4USFBN׾䪔ֲ
    圫ղז⦼װ؎كٝز׾㢌⻉ׇׁג穠卓׾《䖤ׅ׷
    'MVFOUJOUFSGBDFח״׷崧׸׷״ֲז؝٦س
    ♳ַ׵♴פⳢ椚ָ崧׸גְֻ
    ًاحسثؑ٦ٝד邌植
    ؽُ٦ך؎كٝزװؽآطأٗآحؙח⣛׵זְ
    ⰋגךⳢ椚ָずׄ״ֲז䕎ד邌植דֹ׷״ֲחז׷
    Ⰻג4USFBNחז׷
    Ⰻג4חז׷
    Ⰻג4USFBNחז׷

    View Slide

  59. IUUQTHJUIVCDPNSZVHPP4USFBN%FNP
    رٌ،فٔ
    %FNPBQQT

    View Slide

  60. ⰋגS חז׷
    3Y+BWBה-84׾䭯׍鴥׬嚂׃ׁ
     
    

    View Slide