Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Developing Android Applications for Google TV - Android Developer Lab 2011

2,266 views

Published on

Published in: Technology, Business

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

×