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

Android TV - Japan Android Group 2016 Aug.

Android TV - Japan Android Group 2016 Aug.

563fab68d455c8543d319436db4819b0?s=128

Takashi EGAWA

August 23, 2016
Tweet

Transcript

  1. ೔ຊ"OESPJEͷձ೥݄ఆྫձ "OESPJE57ରԠͷ ΞϓϦέʔγϣϯ։ൃɾ഑৴ํ๏ ߐ઒ਸ UFHBXB!HNBJMDPN 4NBSUJVN ג  (PPHMF%FWFMPQFS&YQFSU 

    
  2. "OESPJE57ͱ͸  

  3. ϦϏϯάϧʔϜͰ࢖͏ϓϩμΫτ ϦϏϯάϧʔϜͰͷϢʔβʔମݧʹϑΥʔΧεͨ͠ (PPHMFͷϓϩμΫτ ˙(PPHMF$BTU ˙"OESPJE57  Chromecast Audio Chromecast Android

    TV 
  4. ϦϏϯάϧʔϜͰͷϢʔβʔମݧʹϑΥʔΧεͨ͠ (PPHMFͷϓϩμΫτ ˙(PPHMF$BTU ˙"OESPJE57 ϦϏϯάϧʔϜͰ࢖͏ϓϩμΫτ  Chromecast Audio Chromecast Android

    TV 
  5. σόΠεͷܗଶ  ෼཭ܕ Ұମܕ $ISPNFDBTU /7*%*"4)*&-% 9JBPNJ.J#PY 5PTIJCB4NBSU57 40/:#3"7*" 4)"31"2604΋

    ෼཭ܕɿ ઃఆ΍ૢ࡞ʹଟগͷ஌͕ࣝඞཁ͕ͩ࢖͍׳Εͨطଘͷػث͕࢖͑Δ Ұମܕɿ ઃఆ΍ૢ࡞͸༰қ͕ͩػثຊདྷͷߪೖϥΠϑαΠΫϧͱ߹͍೉͍ 
  6. (PPHMF$BTUͱ"OESPJE57 (PPHMF$BTU ˙ΞϓϦ։ൃ (PPHMF$BTU4%, Wʹ ެ։ Λ༻͍ͯ։ൃ TFOEFSσόΠεͱͯ͠ԼهΛఏڙ w"OESPJE"1* wJ04"1*

    w$ISPNF"1* ˙ΞϓϦ഑৴ (PPHMF$BTU4%,%FWFMPQFS ʹొ࿥ʢॳճυϧʣ͠഑৴ IUUQTDBTUHPPHMFDPNQVCMJTI  
  7. (PPHMF$BTUͱ"OESPJE57 (PPHMF$BTU ˙ΞϓϦ։ൃ (PPHMF$BTU4%, Wʹ ެ։ Λ༻͍ͯ։ൃ TFOEFSσόΠεͱͯ͠ԼهΛఏڙ w"OESPJE"1* wJ04"1*

    w$ISPNF"1* ˙ΞϓϦ഑৴ (PPHMF$BTU4%,%FWFMPQFS ʹొ࿥ʢॳճυϧʣ͠഑৴ IUUQTDBTUHPPHMFDPNQVCMJTI  "OESPJE57 ˙ΞϓϦ։ൃ ௨ৗͷ"OESPJEΞϓϦ։ൃ  -FBOCBDL-JCSBSZͰͷ։ൃ $BTUΞϓϦ΋ඪ४ಈ࡞ ˙ΞϓϦ഑৴ ௨ৗͷΞϓϦͱಉ༷ʹ(PPHMF1MBZ Ͱͷ഑৴ ˞৹ࠪ͋Γ 
  8. "OESPJE57˺"OESPJE  "OESPJE57 "OESPJE r"GFX(PPHMFBQQT r4PNFIBSEXBSFGFBUVSFT  1MBUGPSN57GFBUVSFT  0&.$VTUPNJ[BUJPO

    w։ൃπʔϧ΍4%,͸طଘͷ΋ͷͱڞ௨ w"1*͸جຊతʹ͢΂ͯར༻Մ wͨͩ͠ɺ͍͔ͭ͘ͷ(PPHMFΞϓϦඇ౥ࡌ 8&#ϒϥ΢β $ISPNF (PPHMF.BQT ϝʔϧ (NBJM  (PPHMF )BOHPVU w57ͷಛੑ্ɺ౥ࡌ͍ͯ͠ͳ͍ϋʔυ΢ΣΞػೳ͋Γ 
  9. 6OJUZωΠςΟϒαϙʔτ  w6OJUZ͔Β"OESPJE57ΛωΠςΟϒαϙʔτ wίʔυϥϘl"OESPJE57(BNFTGPS6OJUZz͋Γ IUUQHDPDPEFMBCT 

  10. 6OJUZͰͷ73ʹೃછΈ͕ͳ͍ਓ͸ 

  11. 6OJUZͰͷ73ʹೃછΈ͕ͳ͍ਓ͸  6OJUZʹΑΔ73ΞϓϦέʔγϣϯ։ൃ ʕʕ࡞Γͳ͕ΒֶͿόʔνϟϧϦΞϦςΟೖ໳ +POBUIBO-JOPXFTɹஶ ߴڮݑҰɺ҆౻޾ԝɺߐ઒ਸɺ͋ΜͲ͏΍͢͠ɹ༁ ग़൛ɿΦϥΠϦʔδϟύϯ ೥݄೔ൃച༧ఆ  ԁ

    ϖʔδ *4#/ 
  12. "OESPJE57ΤϛϡϨʔλ  w͔ͭͯͷ"OESPJE57ΤϛϡϨʔλ͸ಈ࡞ෆ҆ఆͩͬ ͕ͨɺݱࡏ͸ൺֱత҆ఆ͓ͯ͠Γɺߴ଎ʹಈ࡞͢Δ wσόΠεΛඞཁͱͤͣʹ։ൃͰ͖Δ 

  13. 57ରԠͷجຊ 

  14. 57ରԠͷجຊ  wϥϯυεέʔϓݻఆ wૢ࡞෦͸ࠨӈʹஔ্͖Լ͸અ໿ɻ"DUJPO#BS͸ෆཁ wϦϞίϯૢ࡞ʢ%1BE·ͨ͸ήʔϜίϯτϩʔϥʣ wϥϯνϟʔʹఏڙ͢Δ57όφʔ΍"DUJWJUZͷߟྀ wΦʔόʔεΩϟϯ wϋʔυ΢ΣΞػೳͷߟྀ w-FBOCBDLϥΠϒϥϦ࠾༻ͷݕ౼ wެ։લ৹ࠪ

    
  15. 57όφʔ ΞϓϦͷΤϯτϦϙΠϯτͷఆٛ 

  16. 57όφʔ  w57ͷϗʔϜεΫϦʔϯ͔ΒΞϓϦΛىಈ͢ΔͨΊͷ ΤϯτϦϙΠϯτͱͳΔ w57όφʔΛϢʔβʔ͕ΫϦοΫ͢ΔͱΞϓϦΛ௚઀ ૢ࡞Ͱ͖ΔΑ͏ʹͳΔ 

  17. 57όφʔ  wYQY YIEQJϦιʔε wΞϓϦ໊͕ಡΊΔΑ͏ʹ͢Δ͜ͱʢ֤ࠃޠ෼ʣ 

  18. 57όφʔͷ௥Ճ  w"OESPJE.BOJGFTUYNM 

  19. 57όφʔͷ௥ՃʢήʔϜͷ৔߹ʣ  w"OESPJE.BOJGFTUYNM 

  20. ىಈ"DUJWJUZ ىಈ͢΂͖"DUJWJUZΛ஌ΒͤΔ 

  21. "DUJWJUZͷఆٛ  w"OESPJE.BOJGFTUYNM 

  22. ΦʔόʔεΩϟϯ ը໘ͷ֎पʹର͢Δߟྀ 

  23. ΦʔόʔεΩϟϯ   wඳը͕อূ͞Εͳ͍֎पͷྖҬ wΨΠυϥΠϯͱͯ͠͸ɺपғ

  24. φϏήʔγϣϯɾ ϑΥʔΧεɾબ୒ 57ʹ͓͚ΔϢʔβʔʹΑΔૢ࡞ 

  25. φϏήʔγϣϯɾϑΥʔΧεɾબ୒  w%1BEήʔϜίϯτϩʔϥʔͰͷΩʔೖྗૢ࡞ w্Լࠨӈͷ࢛ํ޲ʹҠಈ͕ݶఆ wॎԣೋ࣍ݩͷφϏήʔγϣϯܦ࿏͕ཧղ͠ ΍͍͢Α͏ʹ wϑΥʔΧε wৗʹͭͷΦϒδΣΫτʹϑΥʔΧε͢Δ ʢϢʔβʔ͕ࠓͲ͜Λૢ࡞͍ͯ͠Δ͔ཧղ Ͱ͖ΔΑ͏ʹʣ

  26. Items Status KEYCODE_DPAD_UP     KEYCODE_DPAD_DO WN 

       KEYCODE_DPAD_LEF T     KEYCODE_DPAD_RIG HT     KEYCODE_DPAD_CEN TER    KEYCODE_BUTTON_A A"   KEYCODE_BUTTON_B B"     KEYCODE_BACK BACK"     KEYCODE_HOME HOME"  Android"TV"   Items Focus nextFocusDown  nextFocusUp  nextFocusRight  nextFocusLeft  ํ޲φϏήʔγϣϯ  wجຊతʹ͢΂ͯΩʔΠϕϯτͱͯ͠ૹग़͞ΕΔ wPO,FZ%PXOͰಠࣗʹॲཧ͢Δ͜ͱ΋Մೳ wϑΥʔΧεભҠ͕ෆࣗવͳ৔߹͸OFYU'PDVT999ཁૉͰมߋ͢Δ android:nextFocusRight=“@id/button1" android:nextFocusLeft="@id/button2" 
  27. <ImageView android:id="@+id/play_pause_button" android:focusable="true" android:nextFocusRight="@+id/ffw_button" android:nextFocusLeft="@+id/rewind_button" /> ϑΥʔΧεΛड͚औΒͳ͍7JFX  wز͔ͭͷ7JFX͸σϑΥϧτͰ͸ϑΥʔΧεΛड͚औΒͳ͍ͷͰɺ໌ࣔత ʹઃఆ͕ඞཁ

    wྫ*NBHF7JFXɺ5FYU7JFXɺ-JOFBS-BZPVUͳͲ 
  28. ϋʔυ΢ΣΞػೳ εϚϗ΍λϒϨοτͱͷҧ͍ͷߟྀ 

  29. ϋʔυ΢ΣΞػೳ  w57Ͱ͸ඪ४αϙʔτ͞Εͳ͍ػೳ͕͋Δ wແ͍͜ͱΛલఏʹ࡞Δ wڞ௨ΞϓϦͷ৔߹͸ɺػೳΛඞਢͱ͠ͳ͍ࢫΛએݴ͠ɺ࣮ߦ࣌ʹػೳͷ ༗ແΛνΣοΫ͢Δ    

    android.hardware.touchscreen   android.hardware.faketouch  android.hardware.telephony  android.hardware.camera Bluetooth android.hardware.bluetooth Near Field Communications (NFC) android.hardware.nfc GPS android.hardware.location.gps     android.hardware.microphone   android.hardware.sensor <uses-feature android:name="android.hardware.touchscreen" android:required="false" /> 
  30. ҉໧తͳϋʔυ΢ΣΞཁٻ  wύʔϛογϣϯཁٻʢVTFQFSNJTTJPOʣΛ͢Δͱɺ҉໧తʹϋʔυ΢Σ ΞػೳΛཁٻͨ͜͠ͱʹͳΔέʔε͕͋Δ w໌ࣔతʹVTFGFBUVSFλάʹSFRVJSFEGBMTF͕ඞཁ     

    3&$03%@"6%*0 android.hardware.microphone $".&3" android.hardware.camera "$$&44@'*/&@-0$"5*0/ android.hardware.location android.hardware.location.gps 
  31. $16ΞʔΩςΫνϟ  wੈͷதͷଟ͘ͷ"OESPJE57σόΠε͸ɺΠϯςϧܥ$16Λ౥ࡌ͍ͯ͠Δ wͨͩ͠ɺ40/:#3"7*"ͷΑ͏ʹ"3.Λ࠾༻͍ͯ͠Δ΋ͷ΋͋ΔͷͰɺ $16ΞʔΩςΫνϟʔʹґଘ͢ΔΞϓϦ͸ߟྀ͕ඞཁ 

  32. -FBOCBDLϥΠϒϥϦ 57༻6*ϥΠϒϥϦ 

  33. -FBOCBDLϥΠϒϥϦ  w57޲͚Ϣʔβʔମݧͷ࣮૷Λࢧԉ͢ΔαϙʔτϥΠϒϥϦ wैདྷͷWαϙʔτϥΠϒϥϦ΍ɺW3FDZDMF7JFXΛར༻͠ ֦ͨுϥΠϒϥϦ wඞਢͰ͸ͳ͍͕ར༻͢Δͱ57޲͚6*ͷ࣮૷ָ͕ʹͳΔ wΦʔόʔεΩϟϯྖҬͷߟྀෆཁ w-FBOCBDLςʔϚ w57༻ඪ४ςʔϚ <activity

    android:name="com.example.android.TvActivity" android:label="@string/app_name" android:theme="@style/Theme.Leanback"> 

  34. #SPXTF'SBHNFOU  w͢΂ͯͷϝσΟΞίϯςϯπΛҰՕॴʹ·ͱΊͯӾཡͰ͖ΔΑ͏ʹ͢Δ wΧςΰϦ͝ͱͷ෼ྨ΍ɺ֤ϝσΟΞͷάϦουදࣔͳͲ͕ඪ४ͰՄೳ      3&$03%@"6%*0

    android.hardware.microphone $".&3" android.hardware.camera "$$&44@'*/&@-0$"5*0/ android.hardware.location android.hardware.location.gps 
  35. #SPXTF'SBHNFOU       3&$03%@"6%*0 android.hardware.microphone $".&3"

    android.hardware.camera "$$&44@'*/&@-0$"5*0/ android.hardware.location android.hardware.location.gps wΧςΰϦબ୒࣌ɺΧςΰϦʹରԠ͢ΔϝσΟΞͷλΠτϧͳͲΛදࣔ 
  36. %FUBJMT'SBHNFOU  w݅ͷϝσΟΞίϯςϯπͷৄࡉͳ৘ใ΍ϝσΟΞʹର͢Δૢ࡞Λఏڙ      3&$03%@"6%*0 android.hardware.microphone

    $".&3" android.hardware.camera "$$&44@'*/&@-0$"5*0/ android.hardware.location android.hardware.location.gps 
  37. 1MBZCBDL0WFSMBZ'SBHNFOU  wϝσΟΞͷࢹௌɾૢ࡞ʢ࠶ੜɾఀࢭɾ࣍΁ɾલ΁ͳͲʣ wؔ࿈ίϯςϯπͷදࣔ 

  38. 4FBSDI'SBHNFOU  wϝσΟΞͷࢹௌɾૢ࡞ʢ࠶ੜɾఀࢭɾ࣍΁ɾલ΁ͳͲʣ wؔ࿈ίϯςϯπͷදࣔ 

  39. όʔδϣϯͷҧ͍  ৽ چ 

  40. 3FDPNNFOEBUJPOTʢΦεεϝʣ  wΞϓϦ͕Ϣʔβʔʹ͓͢͢Ί͍ͨ͠ϝσΟΞίϯςϯπΛఏڙ wϢʔβʔ͕બ୒͢ΔͱͦͷϝσΟΞʹμΠϨΫτʹඈͿ͜ͱ͕Ͱ͖Δ w-FBOCBDLϥΠϒϥϦͱ͸ผͷϥΠϒϥϦ wΦεεϝ͢΂͖΋ͷͷ໨҆ w࣍ͷίϯςϯπྫʣγϦʔζͷ࣍ͷΤϐιʔυ w৽͍͠ίϯςϯπྫʣ৽γϦʔζ΍ਓؾίϯςϯπ wؔ࿈ίϯςϯπྫʣϢʔβʔͷࢹௌཤྺ΍܏޲ʹجͮ͘ 

  41. android { compileSdkVersion 24 buildToolsVersion '24' ... } 
 dependencies

    { ... compile 'com.android.support:leanback-v17:24.0.0' compile 'com.android.support:recommendation:24.0.0' } 
 ར༻͢Δʹ͸  wCVJMEHSBEMF 
  42. "1,ͷ഑৴ 57ରԠΞϓϦͷެ։ 

  43. wՁ֨ͱൢച഑෍஍Ҭ 1SJDJOH%*453*#65*0/ ͔Β"OESPJE57ͷ ΧςΰϦʹνΣοΫΛೖΕΔ͜ͱͰ57༻ϨϏϡʔ͕ߦΘΕΔ wϨϏϡʔ͕௨Ε͹ɺ57༻1MBZ4UPSFͰެ։͞ΕΔ wϨϏϡʔ͕௨Βͳ͘ͱ΋ɺ௨ৗͷ1MBZ4UPSFʹӨڹ͸ͳ͍ wυΩϡϝϯτɿ"OESPJE57΁ͷ഑෍ʢIUUQHPPHM"S1Y1Yʣ w-&"/#"$,@-"6/$)&3 w57༻όφʔը૾ Y

    YIEQJ  wαϙʔτ֎ͷϋʔυ΢ΣΞͷґଘΛഉআʢλονεΫϦʔϯͳͲʣ wύʔϛογϣϯઃఆʹΑΔ҉໧తͳϋʔυ΢ΣΞཁٻͷ֬ೝ wϥϯυεέʔϓରԠ wڑ཭͕཭Ε͍ͯͯ΋ݟ͑ΔΑ͏ʹ wΦʔόʔεΩϟϯͷରԠ w-FBOCBDL6*ͷରԠ "1,ͷ഑৴ 
  44. ࠷ޙʹ  wϦϏϯάϧʔϜʹϑΥʔΧεͨ͠ϓϩμΫτ (PPHMF$BTU "OESPJE57 w"OESPJE57͸$BTUඪ४౥ࡌͷl"OESPJEzͰ͋Δ w57ରԠʹ͸6*΍ϋʔυ΢ΣΞػೳͷߟྀ͕ඞཁ w഑৴ʹ͸ࣄલ৹͕ࠪඞཁ w57ରԠΛࢧԉ͢ΔͨΊʹ-FBOCBDLϥΠϒϥϦͳͲͷ ඪ४෦඼͕ఏڙ͞Ε͍ͯΔ