@googletvdev
name = {"Paul", "Saxman"}
dept = "Developer" + " Relations"
paul.talkAbout("   ")
specifically...
Ill provide answers to a few    fundamental questions:
What? Why? How?
more specifically...
what is(the soon to be released)       Google TV?
why should developers beinterested in Google TV?
how does one build apps for       Google TV?
questions?!?
so then... what exactly is(the soon to be released)       Google TV?
for your TV
meaning...
everything that youve learned    today also applies to         Google TV
which includes your favoriteHoneycomb features, such as...
fragments
the Action Bar
more interactive app widgets
more content-rich notifications
Renderscript
et cetera.
Google TV works with...
your TV (device)...
your cable/satellite (content)...
your Internet (connection)...
and the Web.
there are a number of devices      running Google TV
and there are definitely more          coming!
Google TV is controlled with   devices, such as...
which all support...
keyboards     search      d-padpointing devices  media keysback/home/menu    favorite
Google TV can also be controlled      by one or more of...
it has integrated search....
and it also includes TV specific         features, like...
picture-in-picture
a channel changing activity
a channel listing content provider
device pairing andcommunication protocols
and more...with more to come!
the Android Market is coming to         Google TV...
and finally, in addition to all the...
Google TV has a full version of...
meaning that developers who    love the Web and...
can also develop apps for       Google TV!
so... why should developers build apps for Google TV?
to help answer this, here are afew points to get you thinking...
001/ TVs are, by far, the largestdisplays in most households
which means theyre great forwatching videos, playing games,photo slideshows, etc.
010/ TVs are connected to thebest sound systems in mosthouseholds
011/ TVs are near verycomfortable furniture in mosthouseholds
100/ TVs are great for multi-userviewing and interaction
101/ TVs are used by over 5billion people worldwide
110/ on avg, Americans watchnearly 5 hours of TV daily(which is increasing)
111/ in 2009, the avg US homehad 2.5 people vs. 2.86 TV sets          (source: The Nielsen Company)
one more point to consider...
TVs arent only found in peoples        living rooms...
they are also commonly found in:
bedrooms
hotel rooms
classrooms
airplanes
hospitals
lobbies
bars
and quite a few other places
basically, TVs are everywhere...
a lot of people watch them...
a lot...
and theyre getting smarter        every day
and finally... how does one build a          Google TV app?
well, since Google TV is...
app developers can use:
01/ the   framework
10/ the   SDK
11/ the   Market
theres also aGoogle TV add-on, which       includes...
an image for the KVMaccelerated, x86 emulator for   Linux (SDK Tools r12)
Mac and Windows support is on          the way
for development, there are some important things to keep in mind        about Google TV:
0001/ the (soon to be released)  Google TV is Android 3.1         (API level 12)
0010/ Google TV supports two       HD resolutions:  1920x1080 and 1280x720
and two densities:tvdpi (213) and xhdpi (320)
but its always just large
remember, however, that the closest resources are used
and dont forget to test both       resolutions!
0011/ due to overscan, you may    not get every pixel/DIP
I know this sounds crazy, but let          me explain...
TVs dont display all the pixels!
so let your views stretch out,     with some scalable   padding between them
and scale full-screen bitmaps           yourself
0100/ at 10ft, TVs are notouch
<uses-feature  android:name="android.hardware.touchscreen"  android:required="false"/>
0101/ d-pad navigationis (generally) better than pointing
so focus, focus, focus...
allow itandroid:focusableandroid:focusableInTouchMode
show it<selector>  <item     android:drawable="..."     android:state_focused=["true" | "false"]     android:state_selecte...
control itandroid:nextFocusDownandroid:nextFocusLeftandroid:nextFocusRightandroid:nextFocusUpandroid:nextFocusForward [tab...
and make sure theres always ashort path between focus-ables
0110/ location is coarse and static
android.permission.ACCESS_COARSE_LOCATION
LocationManager lm =  (LocationManager)this.getSystemService(    Context.LOCATION_SERVICE);Location location =  lm.getLast...
1000/ apps can be "made for TV"     (but only if necessary)
<uses-feature  android:name="com.google.android.tv"  android:required="true" />
1001/ be sure to require only the    features that you need
com.google.android.tvandroid.hardware.locationandroid.hardware.location.networkandroid.hardware.usb.hostandroid.hardware.w...
if a feature is used for everything   but TV (GPS, vibrate, etc.)...
getPackageManager()  .hasSystemFeature("com.google.android.tv");
1010/ NDK is on the way, but not           here yet
1011/ users channel listings are           available
com.google.android.tv.permission.READ_CHANNELS
content://com.google.android.tv.    provider/channel_listing
callsignchannel_namechannel_numberchannel_uri
1100/ channel changing is      possible, too
so thats about it!
what to share your ideas for        Google TV?
http://bit.ly/googletvadl
FIN!http://code.google.com/tv
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Developing Android Applications for Google TV - Android Developer Lab 2011
Upcoming SlideShare
Loading in …5
×

Developing Android Applications for Google TV - Android Developer Lab 2011

2,169 views

Published on

Published in: Technology, Business
1 Comment
4 Likes
Statistics
Notes
No Downloads
Views
Total views
2,169
On SlideShare
0
From Embeds
0
Number of Embeds
165
Actions
Shares
0
Downloads
36
Comments
1
Likes
4
Embeds 0
No embeds

No notes for slide

Developing Android Applications for Google TV - Android Developer Lab 2011

  1. 1. @googletvdev
  2. 2. name = {"Paul", "Saxman"}
  3. 3. dept = "Developer" + " Relations"
  4. 4. paul.talkAbout(" ")
  5. 5. specifically...
  6. 6. Ill provide answers to a few fundamental questions:
  7. 7. What? Why? How?
  8. 8. more specifically...
  9. 9. what is(the soon to be released) Google TV?
  10. 10. why should developers beinterested in Google TV?
  11. 11. how does one build apps for Google TV?
  12. 12. questions?!?
  13. 13. so then... what exactly is(the soon to be released) Google TV?
  14. 14. for your TV
  15. 15. meaning...
  16. 16. everything that youve learned today also applies to Google TV
  17. 17. which includes your favoriteHoneycomb features, such as...
  18. 18. fragments
  19. 19. the Action Bar
  20. 20. more interactive app widgets
  21. 21. more content-rich notifications
  22. 22. Renderscript
  23. 23. et cetera.
  24. 24. Google TV works with...
  25. 25. your TV (device)...
  26. 26. your cable/satellite (content)...
  27. 27. your Internet (connection)...
  28. 28. and the Web.
  29. 29. there are a number of devices running Google TV
  30. 30. and there are definitely more coming!
  31. 31. Google TV is controlled with devices, such as...
  32. 32. which all support...
  33. 33. keyboards search d-padpointing devices media keysback/home/menu favorite
  34. 34. Google TV can also be controlled by one or more of...
  35. 35. it has integrated search....
  36. 36. and it also includes TV specific features, like...
  37. 37. picture-in-picture
  38. 38. a channel changing activity
  39. 39. a channel listing content provider
  40. 40. device pairing andcommunication protocols
  41. 41. and more...with more to come!
  42. 42. the Android Market is coming to Google TV...
  43. 43. and finally, in addition to all the...
  44. 44. Google TV has a full version of...
  45. 45. meaning that developers who love the Web and...
  46. 46. can also develop apps for Google TV!
  47. 47. so... why should developers build apps for Google TV?
  48. 48. to help answer this, here are afew points to get you thinking...
  49. 49. 001/ TVs are, by far, the largestdisplays in most households
  50. 50. which means theyre great forwatching videos, playing games,photo slideshows, etc.
  51. 51. 010/ TVs are connected to thebest sound systems in mosthouseholds
  52. 52. 011/ TVs are near verycomfortable furniture in mosthouseholds
  53. 53. 100/ TVs are great for multi-userviewing and interaction
  54. 54. 101/ TVs are used by over 5billion people worldwide
  55. 55. 110/ on avg, Americans watchnearly 5 hours of TV daily(which is increasing)
  56. 56. 111/ in 2009, the avg US homehad 2.5 people vs. 2.86 TV sets (source: The Nielsen Company)
  57. 57. one more point to consider...
  58. 58. TVs arent only found in peoples living rooms...
  59. 59. they are also commonly found in:
  60. 60. bedrooms
  61. 61. hotel rooms
  62. 62. classrooms
  63. 63. airplanes
  64. 64. hospitals
  65. 65. lobbies
  66. 66. bars
  67. 67. and quite a few other places
  68. 68. basically, TVs are everywhere...
  69. 69. a lot of people watch them...
  70. 70. a lot...
  71. 71. and theyre getting smarter every day
  72. 72. and finally... how does one build a Google TV app?
  73. 73. well, since Google TV is...
  74. 74. app developers can use:
  75. 75. 01/ the framework
  76. 76. 10/ the SDK
  77. 77. 11/ the Market
  78. 78. theres also aGoogle TV add-on, which includes...
  79. 79. an image for the KVMaccelerated, x86 emulator for Linux (SDK Tools r12)
  80. 80. Mac and Windows support is on the way
  81. 81. for development, there are some important things to keep in mind about Google TV:
  82. 82. 0001/ the (soon to be released) Google TV is Android 3.1 (API level 12)
  83. 83. 0010/ Google TV supports two HD resolutions: 1920x1080 and 1280x720
  84. 84. and two densities:tvdpi (213) and xhdpi (320)
  85. 85. but its always just large
  86. 86. remember, however, that the closest resources are used
  87. 87. and dont forget to test both resolutions!
  88. 88. 0011/ due to overscan, you may not get every pixel/DIP
  89. 89. I know this sounds crazy, but let me explain...
  90. 90. TVs dont display all the pixels!
  91. 91. so let your views stretch out, with some scalable padding between them
  92. 92. and scale full-screen bitmaps yourself
  93. 93. 0100/ at 10ft, TVs are notouch
  94. 94. <uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
  95. 95. 0101/ d-pad navigationis (generally) better than pointing
  96. 96. so focus, focus, focus...
  97. 97. allow itandroid:focusableandroid:focusableInTouchMode
  98. 98. show it<selector> <item android:drawable="..." android:state_focused=["true" | "false"] android:state_selected=["true" | "false"] /></selector>
  99. 99. control itandroid:nextFocusDownandroid:nextFocusLeftandroid:nextFocusRightandroid:nextFocusUpandroid:nextFocusForward [tab]requestFocus [default focus; tag and method]
  100. 100. and make sure theres always ashort path between focus-ables
  101. 101. 0110/ location is coarse and static
  102. 102. android.permission.ACCESS_COARSE_LOCATION
  103. 103. LocationManager lm = (LocationManager)this.getSystemService( Context.LOCATION_SERVICE);Location location = lm.getLastKnownLocation("static");
  104. 104. 1000/ apps can be "made for TV" (but only if necessary)
  105. 105. <uses-feature android:name="com.google.android.tv" android:required="true" />
  106. 106. 1001/ be sure to require only the features that you need
  107. 107. com.google.android.tvandroid.hardware.locationandroid.hardware.location.networkandroid.hardware.usb.hostandroid.hardware.wifiandroid.software.live_wallpaper
  108. 108. if a feature is used for everything but TV (GPS, vibrate, etc.)...
  109. 109. getPackageManager() .hasSystemFeature("com.google.android.tv");
  110. 110. 1010/ NDK is on the way, but not here yet
  111. 111. 1011/ users channel listings are available
  112. 112. com.google.android.tv.permission.READ_CHANNELS
  113. 113. content://com.google.android.tv. provider/channel_listing
  114. 114. callsignchannel_namechannel_numberchannel_uri
  115. 115. 1100/ channel changing is possible, too
  116. 116. so thats about it!
  117. 117. what to share your ideas for Google TV?
  118. 118. http://bit.ly/googletvadl
  119. 119. FIN!http://code.google.com/tv

×