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

What's new in Android at IO '17

What's new in Android at IO '17

# About me
- Twitter
- https://twitter.com/shihochandesu

- Github
- https://github.com/shihochan

# Links
- What's new in Android Development Tools + Google Play
- https://goo.gl/lV4o2s

- What's new in Android Development Tools
- https://goo.gl/ekrV3L

- Introduction to Kotlin
- https://goo.gl/P1cfFC

- Life is Great and Everything Will Be Ok, Kotlin is Here
- https://goo.gl/EkUgog

- Introduction to Android Instant Apps
- https://goo.gl/fU9lvl

- Building an Android Instant App
- https://goo.gl/5hTGgb

- What's New in Google Play
- https://goo.gl/69Rp7E

- Make More Money with Subscriptions on Google Play
- https://goo.gl/pux1L7

Yuki Shiho

June 05, 2017
Tweet

More Decks by Yuki Shiho

Other Decks in Programming

Transcript

  1. :VLJ4IJIP
    !TIJIPDIBO
    8IBUˏTOFXJO
    "OESPJEBU*0ˏ
    (PPHMF*0ؿ؍٦سغحؙ⠓JO

    View full-size slide

  2. "CPVUNF
    䘊歂⣇秀:6,*4)*)0
    !TIJIPDIBO
    "OESPJE"QQ%FWFMPQFSBU$ZCFS"HFOU *OD
    !TIJIPDIBOEFTV
    4IJCVZBBQL

    View full-size slide

  3. .PCJMFSTUUP"*STU

    View full-size slide

  4. .Z*0ˏ
    㸜㹀ך衅鼅

    View full-size slide

  5. .Z*0ˏ
    䗁崞

    View full-size slide

  6. (PPHMF*OQVU0VUQVU

    View full-size slide

  7. .Z*0ˏ
    ׃קˏT*OQVU
    ˖ (PPHMF,FZOPUF
    ˖ %FWFMPQFS,FZOPUF
    ˖ 8IBUT/FXJO"OESPJE
    ˖ "OESPJE1FSGPSNBODF"O0WFSWJFX
    ˖ &YP1MBZFS'MFYJCMFNFEJBQMBZCBDLGPS"OESPJE
    ˖ #FTU1SBDUJDFTUPTMJNEPXOZPVSBQQTJ[F
    ˖ 'SBHNFOU5SJDLT
    ˖ 8IBUT/FXJO"OESPJE%FWFMPQNFOU5PPMT
    ˖ *OUSPEVDUJPOUP"OESPJE*OTUBOU"QQT
    ˖ 8IBUTOFXJO"OESPJE4FDVSJUZ
    ˖ 8IBUTOFXJO"OESPJE%FTJHO5PPMT/FXGFBUVSFTBOE
    UPPMTGPSSBQJE6*EFWFMPQNFOU
    ˖ 8IBUTOFXJO/PUJDBUJPOT -BVODIFS*DPOTBOE4IPSUDVUT
    ˖ 4QFFEJOHVQZPVS"OESPJE(SBEMFCVJMET
    ˖ 1FSGPSNBODFBOE.FNPSZ*NQSPWFNFOUTJO"OESPJE3VO
    5JNF "35

    "OE.03&٥٥٥

    View full-size slide

  8. .Z*0ˏ
    ׃קˏT0VUQVU
    ˖ (PPHMF*0䮶׶鵤׶BU"11%0+0
    ˖ IUUQTTQFBLFSEFDLDPNTIJIPDIBOXIBUTOFXJO
    BOESPJEEFWFMPQNFOUUPPMTQMVTHPPHMFQMBZ
    ˖ $"BQL(PPHMF*0㜠デ⠓
    ˖ IUUQTTQFBLFSEFDLDPNTIJIPDIBOXIBUTOFXJO
    BOESPJEEFWFMPQNFOUUPPMT
    ˖ (PPHMF*0ؿ؍٦سغحؙ⠓
    ˖ /PX
    ˖ VNFEBBQL3FQPSUGSPN(PPHMF*0
    ˖ $PNNJOHTPPO

    View full-size slide

  9. ˖ ,PUMJO
    ˖ *OTUBOU"QQT
    ˖ 1MBZ$POTPMF
    5PEBZˏTUPQJDT

    View full-size slide

  10. 0DJBMMZ4VQQPSUFE

    View full-size slide

  11. ˖ 䎃㢙։
    ˖ +FU#SBJOT醡
    ˖ +7.鎉铂
    ˖ 㘗䱿锷װٓيت䒭
    ˖ /6--㸜Ⰻ/VMM1PJOUFS&YDFQUJPOIBTHPOF
    8IBUJT,PUMJO

    View full-size slide

  12. ˖ +BWBהך㸣Ⰻ✼䳔䚍ָ֮׷
    ˖ +BWB״׶知患ד㸜Ⰻ
    ˖ 㸣樴ז*%&؟ه٦ز
    8IZ,PUMJO

    View full-size slide

  13. 8IZ,PUMJO
    public class JavaMeetup {
    @Override
    public boolean equals(Object o) {
    if (this == o) {
    return true;
    }
    if (o == null || getClass() != o.getClass()) {
    return false;
    }
    JavaMeetup that = (JavaMeetup) o;
    if (memberCount != that.memberCount) {
    return false;
    }
    return name != null ? name.equals(that.name) : that.name == null;
    }
    @Override
    public int hashCode() {
    int result = name != null ? name.hashCode() : 0;
    result = 31 * result + memberCount;
    return result;
    }
    @Override
    public String toString() {
    return "JavaMeetup {" +
    "name = " + name +
    "memberCount = " + memberCount + "\n" +
    '}';
    }
    private String name;
    private int memberCount;
    public JavaMeetup(String name, int memberCount) {
    this.name = name;
    this.memberCount = memberCount;
    }
    public String getName() {
    return name;
    }
    public int getMemberCount() {
    return memberCount;
    }
    }
    *O+BWB

    View full-size slide

  14. 8IZ,PUMJO
    data class Meetup(val name: String, val memberCount: String)
    *O,PUMJO

    View full-size slide

  15. ˖
    ˖ ؿ؋؎ַٕ׵,PUMJOפ
    ˖ ؝٦سꆀָ幾׷
    ˖ ؒٝآص،ךذٝءّٝ̓̓
    ˖
    ˖ 暴瘗ׅץֹ׮ךכז׃
    ˖ 㷕统؝أز
    ˖ ⚥鷿⼱畭ח幉׈׷ךכ׌׭
    ,PUMJO

    View full-size slide

  16. ˖ J04ה"OESPJEכ呎劤涸ח麩ֲ
    ˖ 4XJGUה,PUMJOכ⡂גꬊז׷鎉铂
    ˖ J04
    ˖ 0CKFDUJWFDխ̔խ4XJGU
    ˖ 㛇劤涸ח4XJGU♧䫛
    ˖ "OESPJE
    ˖ (PPHMFչ+BWB׮刿ז׷؟ه٦ز׾պ
    ˖ 穠锷ו׍׵ד׮葺ְ
    ,PUMJOWT4XJGU

    View full-size slide

  17. ˖ ,PUMJO
    ˖ *OTUBOU"QQT
    ˖ 1MBZ$POTPMF
    5PEBZˏTUPQJDT

    View full-size slide

  18. ˖ (PPHMF*0ד涪邌
    ˖ *0ˏדאְחٔٔ٦أ〳腉ח
    ˖ 63-זוַ׵ծ؎ٝأز٦ٕ搀׃ד⢪ְ䰍גך،فٔ׾
    ⵃ欽ׅ׷ֿהָ〳腉
    8IBUJT*OTUBOU"QQT

    View full-size slide

  19. 8IBUJT*OTUBOU"QQT
    %&.0

    View full-size slide

  20. ˖ "QQה*OTUBOU"QQTד69׾㢌ִגכז׵זְ
    ˖ ⰻ鿇ך堣腉ך׫׾䭍׶׌ׅ؎ً٦آ
    ˖ 㛇劤涸ח鷄⸇Ꟛ涪כ䗳銲ז׃
    ˖ "4ךչ.PEVMBSJ[Fպ׾ⵃ欽
    ˖ ˑ㛇劤涸חכ˒
    )PXUPEFWFMPQ*OTUBOU"QQT

    View full-size slide

  21. 3FGFSFODFT*OTUBOU"QQT
    ˖ *OUSPEVDUJPOUP"OESPJE*OTUBOU"QQT
    ˖ IUUQTHPPHMG6MWM
    ˖ #VJMEJOHBO"OESPJE*OTUBOU"QQ
    ˖ IUUQTHPPHMI5(HC

    View full-size slide

  22. ˖ ,PUMJO
    ˖ *OTUBOU"QQT
    ˖ 1MBZ$POTPMF
    5PEBZˏTUPQJDT

    View full-size slide

  23. 1MBZ$POTPMF
    ˖ 1MBZ$POTPMF
    ˖ չ1MBZ%FWFMPQFS$POTPMFպַ׵せ獥㢌刿
    ˖ وذٔ،ٕرؠ؎ٝ㼎䘔
    ˖ ⴓꅿד倜堣腉鷄⸇ה堣腉ぢ♳
    ˖ ،فٔㅷ颵ךぢ♳խ̔խ"OESPJEWJUBMT
    ˖ 㸜Ⰻזٔٔ٦أך酡⸔խ̔խ3FMFBTFEBTICPBSE
    ˖ ؽآطأؚٗ٦أխ̔խ4VCTDSJQUJPOT%BTICPBSE

    View full-size slide

  24. (SPXZPVSCVTJOFTT
    ˖ 4VCTDSJQUJPOT%BTICPBSE
    ˖ 㹀劍飑铣׾ؚٗ٦أׇׁ׷׋׭ךخ٦ٕ
    ˖ ٖه٦ز
    ˖ "DRVJTJUJPOٖه٦ز
    ˖ 3FUFOUJPOٖه٦ز
    ˖ $IVSOٖه٦ز

    View full-size slide

  25. ˖ 4VCTDSJQUJPOT%BTICPBSE
    ˖ "DRVJTJUJPOٖه٦ز
    ˖ *OTUBMMFST 'SFFUSJBMJTUT FUDך嫰桦׾然钠〳腉
    (SPXZPVSCVTJOFTT

    View full-size slide

  26. ˖ 4VCTDSJQUJPOT%BTICPBSE
    ˖ 3FUFOUJPOٖه٦ز
    ˖ 醱侧فٓٝך飑铣竰竲桦׾然钠〳腉
    (SPXZPVSCVTJOFTT

    View full-size slide

  27. ˖ 4VCTDSJQUJPOT%BTICPBSE
    ˖ $IVSOٖه٦ز
    ˖ 傈嫣ך㹀劍飑铣׾鍑ꤐ׃׋➂侧׾然钠〳腉
    (SPXZPVSCVTJOFTT

    View full-size slide

  28. 3FGFSFODFT
    ˖ 8IBUT/FXJO(PPHMF1MBZ
    ˖ IUUQTHPPHM3Q&
    ˖ .BLF.PSF.POFZXJUI4VCTDSJQUJPOTPO(PPHMF1MBZ
    ˖ IUUQTHPPHMQVY-

    View full-size slide

  29. :VLJ4IJIP
    !TIJIPDIBO
    5IBOLZPV
    4FFZPVOFYU*0ˏ
    (PPHMF*0ؿ؍٦سغحؙ⠓JO

    View full-size slide