devfest istanbul 2014 - developing for the big screen - from android tv to chromecast
TRANSCRIPT
![Page 1: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/1.jpg)
www.immobilienscout24.de
Developing for the Big Screen - from Android TV to Chromecast DevFest Istanbul 2014 | 06.12.2014 | Hasan Hosgel
![Page 2: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/2.jpg)
About me
+HasanHosgel
@alosdev
alosdev
hosgel
CO-Organizer
Developer
Developing for the Big Screen | Hasan Hosgel
![Page 3: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/3.jpg)
About ImmobilienScout24
Germany’s largest real estate listing company. > 10.5 Mio. Monthly unique users > 1.5 Mio. real estates > 300 Mio. detail views > 1500 Servers ~ 8 Mio. App downloads
> 3.5 Mio. Android > 55% mobile traffic
Developing for the Big Screen | Hasan Hosgel
![Page 4: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/4.jpg)
Once upon a time
Developing for the Big Screen | Hasan Hosgel Image Source https://www.flickr.com/photos/theinfamousgdub/1765952198
![Page 5: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/5.jpg)
Has time to create something new
Developing for the Big Screen | Hasan Hosgel Image Source https://www.flickr.com/photos/slworking/8095803230
![Page 6: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/6.jpg)
While sitting in the living room…
Developing for the Big Screen | Hasan Hosgel Image Source http://upload.wikimedia.org/wikipedia/commons/4/4c/Children_watching_TV.jpg
![Page 7: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/7.jpg)
Image source: http://upload.wikimedia.org/wikipedia/commons/b/b2/Google_tv_logo.svg
Developing for the Big Screen | Hasan Hosgel
![Page 8: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/8.jpg)
Wait
Image source: http://upload.wikimedia.org/wikipedia/commons/b/b2/Google_tv_logo.svg
Developing for the Big Screen | Hasan Hosgel
![Page 9: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/9.jpg)
Oops
Image source: http://upload.wikimedia.org/wikipedia/commons/b/b2/Google_tv_logo.svg
Developing for the Big Screen | Hasan Hosgel
![Page 10: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/10.jpg)
Android TV
Image source: http://www.android.com/tv/
Developing for the Big Screen | Hasan Hosgel
![Page 11: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/11.jpg)
Device
Image source: http://www.android.com/tv/
Developing for the Big Screen | Hasan Hosgel
![Page 12: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/12.jpg)
Let’s build the ground
Image source: http://www.flickr.com/photos/hertenberger/1434191066/
Developing for the Big Screen | Hasan Hosgel
![Page 13: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/13.jpg)
Before we start programming
Developing for the Big Screen | Hasan Hosgel Image Source https://www.flickr.com/photos/pgautier/166610944
![Page 14: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/14.jpg)
Prerequisite
Developing for the Big Screen | Hasan Hosgel
![Page 15: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/15.jpg)
Prerequisite
● casual consumption - not focused like on
phone
Developing for the Big Screen | Hasan Hosgel
![Page 16: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/16.jpg)
Prerequisite
● casual consumption - not focused like on
phone
● cinematic experience - 3 meter away
Developing for the Big Screen | Hasan Hosgel
![Page 17: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/17.jpg)
Prerequisite
● casual consumption - not focused like on
phone
● cinematic experience - 3 meter away
● Simplicity - no touchpad
Developing for the Big Screen | Hasan Hosgel
![Page 18: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/18.jpg)
Navigation
Developing for the Big Screen | Hasan Hosgel
![Page 19: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/19.jpg)
Navigation
● Home
Developing for the Big Screen | Hasan Hosgel
![Page 20: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/20.jpg)
Navigation
● Home
● Enter Button
Developing for the Big Screen | Hasan Hosgel
![Page 21: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/21.jpg)
Navigation
● Home
● Enter Button
● Back
Developing for the Big Screen | Hasan Hosgel
![Page 22: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/22.jpg)
Navigation
● Home
● Enter Button
● Back
● D-Pad in two axis
Developing for the Big Screen | Hasan Hosgel
![Page 23: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/23.jpg)
Navigation with D-Pad
Source: http://www.flickr.com/photos/16210667@N02/9172895225
Developing for the Big Screen | Hasan Hosgel
![Page 24: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/24.jpg)
Navigation
Developing for the Big Screen | Hasan Hosgel
![Page 25: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/25.jpg)
Navigation
● use appropriate states for better
recognotion of focus/ selection
Developing for the Big Screen | Hasan Hosgel
![Page 26: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/26.jpg)
Navigation
● use appropriate states for better
recognotion of focus/ selection
● use sound – occasionally
Developing for the Big Screen | Hasan Hosgel
![Page 27: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/27.jpg)
Navigation
● use appropriate states for better
recognotion of focus/ selection
● use sound – occasionally
● use next focus targets - for defining own
navigation flow
Developing for the Big Screen | Hasan Hosgel
![Page 28: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/28.jpg)
Navigation
● use appropriate states for better
recognotion of focus/ selection
● use sound – occasionally
● use next focus targets - for defining own
navigation flow
èTest it properly
Developing for the Big Screen | Hasan Hosgel
![Page 29: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/29.jpg)
Start
Developing for the Big Screen | Hasan Hosgel Image Source https://www.flickr.com/photos/thevancats/422670456
![Page 30: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/30.jpg)
Needed libraries
Developing for the Big Screen | Hasan Hosgel
![Page 31: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/31.jpg)
Needed libraries
● v17 leanback support library
Developing for the Big Screen | Hasan Hosgel
![Page 32: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/32.jpg)
Needed libraries
● v17 leanback support library
● v7 recyclerview support library
Developing for the Big Screen | Hasan Hosgel
![Page 33: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/33.jpg)
Needed libraries
● v17 leanback support library
● v7 recyclerview support library
● v7 cardview support library
Developing for the Big Screen | Hasan Hosgel
![Page 34: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/34.jpg)
Needed libraries
● v17 leanback support library
● v7 recyclerview support library
● v7 cardview support library
è Forces you to use also
● v4 support library
Developing for the Big Screen | Hasan Hosgel
![Page 35: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/35.jpg)
AndroidManifest.xml changes
<manifest ...> ...
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 36: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/36.jpg)
AndroidManifest.xml changes
<manifest ...> ...
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 37: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/37.jpg)
AndroidManifest.xml changes
<manifest ...> ...
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 38: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/38.jpg)
AndroidManifest.xml changes
<manifest ...> ...
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 39: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/39.jpg)
AndroidManifest.xml changes
<manifest ...> ...
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 40: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/40.jpg)
AndroidManifest.xml changes
<manifest ...> ...
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.software.leanback" android:required="true" />
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 41: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/41.jpg)
AndroidManifest.xml changes
<manifest ...> ...
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.software.leanback" android:required="true" />
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 42: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/42.jpg)
AndroidManifest.xml changes
<manifest ...> ...
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.software.leanback" android:required="true" />
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 43: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/43.jpg)
AndroidManifest.xml changes
<manifest ...> ...
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<uses-feature android:name="android.software.leanback" android:required="true" />
... </manifest>
Developing for the Big Screen | Hasan Hosgel
![Page 44: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/44.jpg)
AndroidManifest.xml application changes
Developing for the Big Screen | Hasan Hosgel
![Page 45: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/45.jpg)
AndroidManifest.xml application changes
<application android:banner="@drawable/banner" > ... </application>
Developing for the Big Screen | Hasan Hosgel
![Page 46: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/46.jpg)
AndroidManifest.xml application changes
<application android:banner="@drawable/banner" > ... </application>
Developing for the Big Screen | Hasan Hosgel
![Page 47: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/47.jpg)
AndroidManifest.xml application changes
<application android:banner="@drawable/banner" > ... </application>
Developing for the Big Screen | Hasan Hosgel
![Page 48: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/48.jpg)
AndroidManifest.xml application changes
<application android:banner="@drawable/banner" > ... <activity android:name="com.example.android.TvActivity“ android:theme="@style/Theme.Leanback"> </activity> </application>
Developing for the Big Screen | Hasan Hosgel
![Page 49: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/49.jpg)
AndroidManifest.xml application changes
<application android:banner="@drawable/banner" > ... <activity android:name="com.example.android.TvActivity“ android:theme="@style/Theme.Leanback"> </activity> </application>
Developing for the Big Screen | Hasan Hosgel
![Page 50: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/50.jpg)
AndroidManifest.xml application changes
<application android:banner="@drawable/banner" > ... <activity android:name="com.example.android.TvActivity“ android:theme="@style/Theme.Leanback"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity> </application>
Developing for the Big Screen | Hasan Hosgel
![Page 51: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/51.jpg)
AndroidManifest.xml application changes
<application android:banner="@drawable/banner" > ... <activity android:name="com.example.android.TvActivity“ android:theme="@style/Theme.Leanback"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LEANBACK_LAUNCHER" /> </intent-filter> </activity> </application>
Developing for the Big Screen | Hasan Hosgel
![Page 52: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/52.jpg)
Not Supported Hardware Features
● android.hardware.touchscreen
● android.hardware.telephony
● android.hardware.camera
● android.hardware.nfc
● android.hardware.location.gps
● android.hardware.microphone
Developing for the Big Screen | Hasan Hosgel
![Page 53: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/53.jpg)
avoid filtering in Playstore
Developing for the Big Screen | Hasan Hosgel
![Page 54: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/54.jpg)
avoid filtering in Playstore
set the attribute “required” to “false” in
AndroidManifest
Developing for the Big Screen | Hasan Hosgel
![Page 55: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/55.jpg)
avoid filtering in Playstore
set the attribute “required” to “false” in
AndroidManifest
è If you don’t to this, the application cannot
be found on the play store for TV
Developing for the Big Screen | Hasan Hosgel
![Page 56: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/56.jpg)
Recognize TV programmatically
Developing for the Big Screen | Hasan Hosgel
![Page 57: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/57.jpg)
Recognize TV programmatically
UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE);
Developing for the Big Screen | Hasan Hosgel
![Page 58: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/58.jpg)
Recognize TV programmatically
UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE); if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) { Log.d(TAG, "Running on a TV Device") } else { Log.d(TAG, "Running on a non-TV Device") }
Developing for the Big Screen | Hasan Hosgel
![Page 59: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/59.jpg)
Recognize TV programmatically
UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE); if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) { Log.d(TAG, "Running on a TV Device") } else { Log.d(TAG, "Running on a non-TV Device") }
Developing for the Big Screen | Hasan Hosgel
![Page 60: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/60.jpg)
Consider Overscan
Developing for the Big Screen | Hasan Hosgel
![Page 61: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/61.jpg)
Avoid Layout Anti-Patterns
Developing for the Big Screen | Hasan Hosgel
![Page 62: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/62.jpg)
Avoid Layout Anti-Patterns
● Reuse of phone or tablet layout
Developing for the Big Screen | Hasan Hosgel
![Page 63: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/63.jpg)
Avoid Layout Anti-Patterns
● Reuse of phone or tablet layout
● Usage of ActionBar
Developing for the Big Screen | Hasan Hosgel
![Page 64: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/64.jpg)
Avoid Layout Anti-Patterns
● Reuse of phone or tablet layout
● Usage of ActionBar
● Usage of ViewPager
Developing for the Big Screen | Hasan Hosgel
![Page 65: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/65.jpg)
Let’s take a deeper look at the used Design Pattern
Developing for the Big Screen | Hasan Hosgel Image Source https://www.flickr.com/photos/dsittig/12311006886
![Page 66: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/66.jpg)
Model View Constroller vs. Model View Presenter
Developing for the Big Screen | Hasan Hosgel
Source: http://i.imgur.com/xbeB5.png
![Page 67: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/67.jpg)
Model View Constroller vs. Model View Presenter
Developing for the Big Screen | Hasan Hosgel
Source: http://i.imgur.com/xbeB5.png
![Page 68: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/68.jpg)
Some Base Classes
● BrowseFragment
Developing for the Big Screen | Hasan Hosgel
![Page 69: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/69.jpg)
Browse Fragment
Developing for the Big Screen | Hasan Hosgel
Source: https://github.com/googlesamples/androidtv-Leanback/
![Page 70: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/70.jpg)
Browse Fragment
Developing for the Big Screen | Hasan Hosgel
Source: https://github.com/googlesamples/androidtv-Leanback/
![Page 71: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/71.jpg)
Some Base Classes
● BrowseFragment
● DetailFragment
Developing for the Big Screen | Hasan Hosgel
![Page 72: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/72.jpg)
Detail Fragment
Developing for the Big Screen | Hasan Hosgel
Source: https://github.com/googlesamples/androidtv-Leanback/
![Page 73: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/73.jpg)
Detail Fragment
Developing for the Big Screen | Hasan Hosgel
Source: https://github.com/googlesamples/androidtv-Leanback/
![Page 74: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/74.jpg)
Some Base Classes
● BrowseFragment
● DetailFragment
● SearchFragment
Developing for the Big Screen | Hasan Hosgel
![Page 75: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/75.jpg)
Search Fragment
Developing for the Big Screen | Hasan Hosgel
Source: https://github.com/googlesamples/androidtv-Leanback/
![Page 76: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/76.jpg)
Some Base Classes
● BrowseFragment
● DetailFragment
● SearchFragment
● Recommendations (no base class)
Developing for the Big Screen | Hasan Hosgel
![Page 77: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/77.jpg)
Recommendation
Developing for the Big Screen | Hasan Hosgel
Source: https://github.com/googlesamples/androidtv-Leanback/
![Page 78: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/78.jpg)
Testing
● Emulator
● ADT-1
● Nexus Player
Developing for the Big Screen | Hasan Hosgel
![Page 79: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/79.jpg)
Finished waiting for $$$
Source: http://www.flickr.com/photos/16210667@N02/9172895225
Developing for the Big Screen | Hasan Hosgel
![Page 80: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/80.jpg)
Some days later a friend sends a message
Developing for the Big Screen | Hasan Hosgel Image Source https://www.flickr.com/photos/jparise/214330120
![Page 81: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/81.jpg)
Chromecast
Developing for the Big Screen | Hasan Hosgel Image Source http://www.google.de/intl/de/chrome/devices/chromecast/
![Page 82: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/82.jpg)
Chromecast
Developing for the Big Screen | Hasan Hosgel Image Source http://www.google.de/intl/de/chrome/devices/chromecast/
![Page 83: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/83.jpg)
Starting the conversation
Developing for the Big Screen | Hasan Hosgel Image Source http://pixabay.com/de/katze-hauskate-tier-augen-blick-278187/
![Page 84: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/84.jpg)
You can conquer a new world
Developing for the Big Screen | Hasan Hosgel Image Source http://pixabay.com/de/katze-wand-loch-überraschung-alt-491730/
![Page 85: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/85.jpg)
Developing for Chomecast
● Registration (cost 5$)
Developing for the Big Screen | Hasan Hosgel
![Page 86: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/86.jpg)
Developing for Chomecast
● Registration (cost 5$)
" Register application and developer
devices
Developing for the Big Screen | Hasan Hosgel
![Page 87: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/87.jpg)
You can conquer a new world
Developing for the Big Screen | Hasan Hosgel
![Page 88: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/88.jpg)
Developing for Chomecast
● Registration (cost 5$)
" Register application and developer
devices
● Create sender app
" Android, IOs, Chrome
Developing for the Big Screen | Hasan Hosgel
![Page 89: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/89.jpg)
Developing for Chomecast
● Registration (cost 5$)
" Register application and developer
devices
● Create sender app
" Android, IOs, Chrome
Developing for the Big Screen | Hasan Hosgel
![Page 90: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/90.jpg)
Needed libraries
Developing for the Big Screen | Hasan Hosgel
![Page 91: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/91.jpg)
Needed libraries
● v7 appcompat support library
Developing for the Big Screen | Hasan Hosgel
![Page 92: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/92.jpg)
Needed libraries
● v7 appcompat support library
● v7 mediarouter support library
Developing for the Big Screen | Hasan Hosgel
![Page 93: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/93.jpg)
Needed libraries
● v7 appcompat support library
● v7 mediarouter support library
● google play services library
Developing for the Big Screen | Hasan Hosgel
![Page 94: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/94.jpg)
Needed libraries
● v7 appcompat support library
● v7 mediarouter support library
● google play services library
è Forces you to use also
Developing for the Big Screen | Hasan Hosgel
![Page 95: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/95.jpg)
Needed libraries
● v7 appcompat support library
● v7 mediarouter support library
● google play services library
è Forces you to use also
● v4 support library
Developing for the Big Screen | Hasan Hosgel
![Page 96: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/96.jpg)
Developing for Chomecast
● Registration (cost 5$)
" Register application and developer
devices
● Create sender application
" Android, IOs, Chrome
● Create receiver application
" HTML
Developing for the Big Screen | Hasan Hosgel
![Page 97: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/97.jpg)
Wait again for $$$
Source: http://www.flickr.com/photos/16210667@N02/9172895225
Developing for the Big Screen | Hasan Hosgel
![Page 98: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/98.jpg)
Users complaining: they can’t use it on Chromecast!
Developing for the Big Screen | Hasan Hosgel Image Source http://pixabay.com/de/baby-tränen-kleinkind-traurig-443393/
![Page 99: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/99.jpg)
After you understand the problem
Developing for the Big Screen | Hasan Hosgel Image Source http://pixabay.com/de/darstellung-porträt-schreien-schrei-89189/
![Page 100: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/100.jpg)
Presenation API
Developing for the Big Screen | Hasan Hosgel
![Page 101: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/101.jpg)
Presenation API
● In Android API Level 17 support for
secondary screen was added
Developing for the Big Screen | Hasan Hosgel
![Page 102: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/102.jpg)
Presenation API
● In Android API Level 17 support for
secondary screen was added
è Android Mirroring can display different Uis
for device and what is displayed ChromeCast
Developing for the Big Screen | Hasan Hosgel
![Page 103: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/103.jpg)
Presenation API
● In Android API Level 17 support for
secondary screen was added
è Android Mirroring can display different Uis
for device and what is displayed ChromeCast
Similar to MiraCast
Developing for the Big Screen | Hasan Hosgel
![Page 104: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/104.jpg)
Now we can rule the world!
Developing for the Big Screen | Hasan Hosgel Image Source http://www.bhmpics.com/success_kid-wallpapers.html
![Page 105: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/105.jpg)
Q & A
Source: http://www.flickr.com/photos/21496790@N06/5065834411/ Developing for the Big Screen | Hasan Hosgel
![Page 106: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/106.jpg)
www.immobilienscout24.de
Thanks for your Attention! İlginiz için teşekkürler! Contact: +HasanHosgel Twitter: @alosdev Github: alosdev
Developing for the Big Screen - from Android TV to Chromecast https://de.slideshare.net/hosgel/dev-fest-istanbul2014developingforthebig-screenfromandroidtvtochromecast
![Page 107: DevFest Istanbul 2014 - Developing for the Big Screen - from Android TV to Chromecast](https://reader034.vdocument.in/reader034/viewer/2022042723/5875eec61a28ab006e8b459d/html5/thumbnails/107.jpg)
material
● AndroidTV
" http://developer.android.com/training/tv/
" https://github.com/googlesamples/androidtv-Leanback
● ChromeCast
" https://developers.google.com/cast/
" https://github.com/googlecast
● Presentation API
" http://developer.android.com/reference/android/app/
Presentation.html
" https://github.com/googlecast/CastPresentation-android
Developing for the Big Screen | Hasan Hosgel