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

Support Library, Play Console, Wear, TV, Auto a...

Yuki Anzai
June 10, 2017
1.6k

Support Library, Play Console, Wear, TV, Auto at Google I/O recap 2017

Yuki Anzai

June 10, 2017
Tweet

More Decks by Yuki Anzai

Transcript

  1. ࣌ؒͷ౎߹ʹΑΓ w "OESPJE5IJOHT w "DUJPOTPO(PPHMF "TTJTUBOU  w (PPHMF1MBZ4FSWJDFT w

    "OESPJE1BZ w "SDIJUFDUVSF$PNQPOFOUT ࣭໰͕͋Ε͹ ౴͑·͢
  2. Architecture Components w "SDIJUFDUVSF$PNQPOFOUT*OUSPEVDUJPO w IUUQTXXXZPVUVCFDPNXBUDI W'SUF8,,7Z[* w "SDIJUFDUVSF$PNQPOFOUT1FSTJTUFODFBOE0⒐JOF w

    IUUQTXXXZPVUVCFDPNXBUDI W.G)T1(2CH& w "SDIJUFDUVSF$PNQPOFOUT4PMWJOHUIF-JGFDZDMF1SPCMFN w IUUQTXXXZPVUVCFDPNXBUDI WC&,/J+0S/T w EFWFMPQFSBOESPJEDPNBSDI
  3. Support library Sessions w 8IBUT/FXJO"OESPJE4VQQPSU-JCSBSZ w IUUQTXXXZPVUVCFDPNXBUDI W7 SP*F/6: w

    "OESPJE"OJNBUJPOT4QSJOHUP-JGF w IUUQTXXXZPVUVCFDPNXBUDI W#/D0%,+VH
  4. w WCFUB w NJO4EL7FSTJPO͕ʹ w (PPHMF.BWFO3FQPTJUPSZͰ഑෍ repositories { maven {

    url 'https://maven.google.com' } jcenter() } dependencies { compile 'com.android.support:appcompat-v7:26.0.0-beta2' }
  5. Emoji Compatibility Lib (19+) • com.android.support:support-emoji-bundled:26.0.0-beta2 ʢ+ 7MB, without Google

    Play Servicesʣ • com.android.support:support-emoji:26.0.0-beta2 ʢwith Google Play Servicesʣ
  6. AnimatedVectorDrawableCopmat w QBUI%BUBNPSQIJOH   w BOESPJEQBUI%BUB w QBUI*OUFSQPMBUPS 

     w PCKFDU"OJNBUPSBOESPJEJOUFSQPMBUPSlz w ৄ͘͠͸ w IUUQTEFWFMPQFSBOESPJEDPNHVJEFUPQJDT HSBQIJDTWFDUPSESBXBCMFSFTPVSDFTIUNM
  7. PreferenceDataStore w σϑΥϧτͷ4IBSFE1SFGFSFODFTͷ୅ΘΓʹ࢖͑Δ w DPNBOESPJETVQQPSUQSFGFSFODFWCFUB w QVU4USJOH QVU*OU ʜ w

    HFU4USJOH HFU*OU ʜ IUUQTEFWFMPQFSBOESPJEDPNSFGFSFODFBOESPJE TVQQPSUWQSFGFSFODF1SFGFSFODF%BUB4UPSFIUNM
  8. PreferenceDataStore @Override public void onCreatePreferences(Bundle savedInstanceState, String rootKey) { setPreferencesFromResource(R.xml.preferences,

    rootKey); final Preference preference = findPreference("basic_preference"); preference.setPreferenceDataStore(dataStore); } private final PreferenceDataStore dataStore = new PreferenceDataStore() { @Override public void putString(String key, @Nullable String value) { super.putString(key, value); } … };
  9. Play Console Sessions 1 w 8IBUT/FXJO(PPHMF1MBZBU*0 w IUUQTXXXZPVUVCFDPNXBUDI W-V,LI$$3;" w

    /FX3FMFBTF%FWJDF5BSHFUJOH5PPMT w IUUQTXXXZPVUVCFDPNXBUDI WQF$8V$4*W6 w #FTU1SBDUJDFTUP4MJN%PXO:PVS"QQ4J[F w IUUQTXXXZPVUVCFDPNXBUDI W"EG,/HZ5 w 4FDVSJOHBOE0QUJNJ[JOH:PVS"QQXJUI(PPHMF1MBZ"QQ4JHOJOH w IUUQTXXXZPVUVCFDPNXBUDI WUE("1EL
  10. Play Console Sessions 2 w (PPHMF1MBZ$POTPMF4FDSFUTUP0QUJNJ[F"OESPJE"QQT GPS4UFMMBS6TFS3FUFOUJPO w IUUQTXXXZPVUVCFDPNXBUDI WPW1$34@M&86

    w .BLF.PSF.POFZXJUI4VCTDSJQUJPOTPO(PPHMF1MBZ w IUUQTXXXZPVUVCFDPNXBUDI WI3;19H3I0) w &OHJOFFSGPS)JHI1FSGPSNBODFXJUI5PPMTGSPN"OESPJE 1MBZ w IUUQTXXXZPVUVCFDPNXBUDI WZ4Y$S[T,4(*
  11. Android Vitals w ΞϓϦͷ҆ఆੑͱύϑΥʔϚϯεͷվળʹ໾ཱͭσʔλ w ҆ఆੑʢTUBCJMJUZʣ w ి஑ʢCBUUFSZʣ w ඳըʢSFOEFSJOHʣ

    w σʔλऩूΛPQUJO͍ͯ͠ΔϢʔβʔ͔Β(PPHMF 1MBZ͕ऩू w (PPHMF1MBZ$POTPMFͰݟΕΔ IUUQTEFWFMPQFSBOESPJEDPNUPQJDQFSGPSNBODFWJUBMTJOEFYIUNM
  12. վળํ๏ w +PC%JTQBUDIFS pSFCBTF  w IUUQTHJUIVCDPNpSFCBTFpSFCBTF KPCEJTQBUDIFSBOESPJE w +PC*OUFOU4FSWJDF

    4VQQPSU-JCW  w IUUQTEFWFMPQFSBOESPJEDPNSFGFSFODF BOESPJETVQQPSUWBQQ +PC*OUFOU4FSWJDFIUNM
  13. App signing w ৽͍͠ΞϓϦ w (PPHMF1MBZ͕ॺ໊ΩʔΛੜ੒ w طଘͷΞϓϦ w ॺ໊ΩʔΛ(PPHMF1MBZʹ౉͢

    w BQL͸ॺ໊Ωʔͱ͸ผͷVQMPBELFZͰॺ໊ͯ͠ ͔Β(PPHMF1MBZʹΞοϓϩʔυ͢Δ
  14. Wear w ϒϥϯυ਺ˠ w XBUDIͷछྨˠ w (PPHMF"TTJTUBOUʢ8FBSʣ w TUBOEBMPOFʢ8FBSʣ w

    8FBS6*-JCSBSZʢTVQQPSUMJCSBSZʣ w DPNBOESPJETVQQPSUXFBSCFUB
  15. Wear UI Library w $PNQMJDBUJOPTͷඳըαϙʔτ w 5FYU3FOEFSFS w $PNQMJDBUJPO%SBXBCMF w

    XJEHFUT w 8FBSBCMF3FDZDMFS7JFX w #PY*OTFU-BZPVU w 4XJQFE%JTNJTT'SBNF-BZPVU
  16. طଘͷWear༻UIΛ੔ཧ w .JHSBUF w XFBSTQFDJpDͳ΋ͷ w TVQQPSUMJCͷXFBSNPEVMFʹҠߦ w .FSHF w

    ػೳ͕ඃ͍ͬͯΔ΋ͷΛҰͭʹ౷߹ w QIPOFͰ΋༗༻ͳ΋ͷˠ௨ৗͷTVQQPSUMJCNPEVMF w %FQSFDBUFE w PMEEFTJHOQBUUFSOʹؔ࿈͢Δ΋ͷ
  17. TV