SlideShare a Scribd company logo
1 of 52
Honeycomb Highlights


Romain Guy          @romainguy
Chet Haase          @chethaase
May 10, 2011


Questions http://goo.gl/mod/8NZp
Feedback http://goo.gl/hD5M9
Hashtags #io2011, #Android
Honeycomb Highlights
      Honeycomb and Get It

Romain Guy          @romainguy
Chet Haase          @chethaase
May 10, 2011


Questions http://goo.gl/mod/8NZp
Feedback http://goo.gl/hD5M9
Hashtags #io2011, #Android
Honeycomb
• The tablet release
• User improvements
• Developer improvements
The Tablet Release
• Tablet != Phone
• Screen size
• Input
• More memory, faster CPU, multi-core
  – But more pixels...
• GPU!
Honeycomb
• The tablet release
• User improvements
• Developer improvements
UI Improvements
• Home screen, new ‘Holo’ theme
• Keyboard
• Text selection
• USB device connectivity
• Action Bar, System Bar
• Recent Apps
New and Improved Applications
• New
 – Books
 – Movie Studio
• Improved
 – Market
 – Browser
 – Contacts
 – Music
 – Gmail
 – ...
New Widgets
• Richer
• More interactive
• Books, Bookmarks, Gmail, Calendar, ...
Demo
Honeycomb
• The tablet release
• User improvements
• Developer improvements
Fragments
• Like mini-activities
• For flexible screen format situations
  – landscape vs. portrait
  – large vs. small
Fragments
Fragments
• Single activity, multiple fragments
Fragments
• Separate activities
Fragments: For More Info
• Read Dianne Hackborn’s The Android 3.0 Fragments API
 – android-developers.blogspot.com
• Get “Android Compatibility package” in the SDK Updater
 – Fragments now available in 1.6+ !!!!
System Bar
System Bar
System Bar
System Bar
System Bar: Always On
System Bar: Always On
Action Bar



Home/Up   Navigation          Actions




                       Text
                                        Actions
Action Bar



Home/Up   Navigation          Actions      Overflow




                       Text
                                        Actions
Action Bar



Home/Up   Navigation          Actions




                       Text
                                        Actions
Action Bar



             Contextual ActionBar




                    Text
                                    Actions
Action Bar



     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
         MenuInflater inflater = getMenuInflater();
         inflater.inflate(R.menu.actions, menu);
         return true;
     }
Action Bar

 <menu>

   <item android:id="@+id/action_edit"
         android:icon="@android:drawable/ic_menu_edit"
         android:showAsAction="always"
         android:title="@string/action_bar_edit" />

   <item android:id="@+id/action_share"
         android:icon="@android:drawable/ic_menu_share"
         android:showAsAction="ifRoom"
         android:title="@string/action_bar_share" />

 </menu>
Action Bar

 <menu>

   <item android:id="@+id/action_edit"
         android:icon="@android:drawable/ic_menu_edit"
         android:showAsAction="always"
         android:title="@string/action_bar_edit" />

   <item android:id="@+id/action_share"
         android:icon="@android:drawable/ic_menu_share"
         android:showAsAction="ifRoom"
         android:title="@string/action_bar_share" />

 </menu>
Renderscript
• Native code for fast graphics, computation
• Platform-independent
• Syntax based on C99
• Uses GPU, CPU, multi-core
• Used in Books, YouTube, Live Wallpapers
Renderscript: HelloWorldRS.java

  public class HelloWorldRS {

      private ScriptC_helloworld mScript;

      public void init(RenderScriptGL rs, Resources res) {
          mScript = new ScriptC_helloworld(rs, res,
              R.raw.helloworld);
          rs.bindRootScript(mScript);
      }

      public void onActionDown(int x, int y) {
          mScript.set_gTouchX(x);
          mScript.set_gTouchY(y);
      }

  }
Renderscript: helloworld.rs

     int gTouchX;
     int gTouchY;

     void init() {
         gTouchX = 50.0f;
         gTouchY = 50.0f;
     }

     int root(int launchID) {

         rsgClearColor(0.0f, 0.0f, 0.0f, 0.0f);
         rsgFontColor(1.0f, 1.0f, 1.0f, 1.0f);
         rsgDrawText("Hello World!", gTouchX, gTouchY);

         return 20;
     }
Renderscript
• Read Jason Sams’s Renderscript articles
 – android-developers.blogspot.com
• Play with the SDK Renderscript samples
Graphics Acceleration
• OpenGL acceleration for most graphics operations
  – Canvas.drawLine(), Canvas.drawBitmap(), ...
• Used in Launcher, Gmail, Contacts, Calendar, YouTube, Browser,
  Maps, Settings, ...
Acceleration: The Complex API Details
Acceleration: The Complex API Details



 <application android:hardwareAccelerated=”true”>
Acceleration: The Complex API Details



 <application android:hardwareAccelerated=”true”>


  • Opt-in via AndroidManifest.xml
  • Selectively disable at Activity, Window, or View level
More Details
• Come to Accelerated Android Rendering
 – Tomorrow 10:45
• Read Android 3.0 Hardware Acceleration
 – android-developers.blogspot.com
Animation Framework
• New system built on “property animation”
 – Any object, any property, any type
• New properties on View
 – alpha, translationX/Y, scaleX/Y, rotation, ...
Animation Framework
• New system built on “property animation”
 – Any object, any property, any type
• New properties on View
 – alpha, translationX/Y, scaleX/Y, rotation, ...



ObjectAnimator.ofFloat(target, “alpha”, 0f).start();
Demo
PhotoAlbum Animations




 if (mPanelVisible) {
     mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", 0.0f);
 } else {
     mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", -mPanel.getWidth());
 }
 mPanelAnimator.start();
PhotoAlbum Animations



 mPanel.setLayerType(View.LAYER_TYPE_HARDWARE, null);

 if (mPanelVisible) {
     mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", 0.0f);
 } else {
     mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", -mPanel.getWidth());
 }
 mPanelAnimator.start();

 mPanelAnimator.addListener(new AnimatorListenerAdapter() {
     @Override
     public void onAnimationEnd(Animator animation) {
         mPanel.setLayerType(View.LAYER_TYPE_NONE, null);
     }
 });
PhotoAlbum Animations
 if (mPanelAnimator != null && mPanelAnimator.isRunning()) {
     mPanelAnimator.reverse();
     return;
 }
 mPanel.setLayerType(View.LAYER_TYPE_HARDWARE, null);

 if (mPanelVisible) {
     mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", 0.0f);
 } else {
     mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", -mPanel.getWidth());
 }
 mPanelAnimator.start();

 mPanelAnimator.addListener(new AnimatorListenerAdapter() {
     @Override
     public void onAnimationEnd(Animator animation) {
         mPanel.setLayerType(View.LAYER_TYPE_NONE, null);
     }
 });
For More Information
• Read Animation in Honeycomb
 – android-developers.blogspot.com
• Check out the animation demos in the SDK
And Much, Much More...
• Clipboard
• Drag and Drop
• HTTP Live Streaming
• Pluggable DRM framework
• Encrypted storage
• New/improved components
  – DatePicker, NumberPicker, StackView, CalendarView, ...
• Tools
  – UI Builder, code completion, ...
  – Android Development Tools, Wednesday@3
More in Android 3
More in Android 3.1

                   Ne
USB: Beyond keyboards
                      w     !
External camera support
   Resizable widgets
        RTP API
Performance optimizations
  ViewPropertyAnimator
The Future
• Honeycomb was optimized for tablets
  – But we’re working on bringing the Honeycomb UI and
    functionality to smaller screen devices
• More, better, fancier, faster, lovelier
For More Information
• At Google IO
 – Android USB Accessory Mode: Tuesday 1:15
 – Fireside Chat: Tuesday 2:30
 – Android UIs for Phones and Tablets: Wednesday 12:30
 – Android Development Tools: Wednesday 3:00
 – Memory Management for Android Apps: Wednesday 4:15


• After Google IO
 – Android Developers Blog: android-developers.blogspot.com
 – Romain’s blog: curious-creature.org
 – Chet’s blog: graphics-geek.blogspot.com
Questions http://goo.gl/mod/8NZp
Q&A     Feedback http://goo.gl/hD5M9
          Hashtags #io2011, #Android
Google I/O 2011, Android Honeycomb Highlights

More Related Content

Viewers also liked

Google I/O 2011, Android Accelerated Rendering
Google I/O 2011, Android Accelerated RenderingGoogle I/O 2011, Android Accelerated Rendering
Google I/O 2011, Android Accelerated RenderingRomain Guy
 
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in androidPrawesh Shrestha
 
Android - Working with Fragments
Android - Working with FragmentsAndroid - Working with Fragments
Android - Working with FragmentsCan Elmas
 
BRAND COMMUNITY & CUSTOMMER LOYALTY - Phần 1
BRAND COMMUNITY & CUSTOMMER LOYALTY - Phần 1BRAND COMMUNITY & CUSTOMMER LOYALTY - Phần 1
BRAND COMMUNITY & CUSTOMMER LOYALTY - Phần 1Nguyễn Thắng
 
solution fluid mechanics problem
solution fluid mechanics problemsolution fluid mechanics problem
solution fluid mechanics problemAbdulhaq Alhaddad
 
Introduction to Android Fragments
Introduction to Android FragmentsIntroduction to Android Fragments
Introduction to Android FragmentsSergi Martínez
 
Android App Development - 06 Fragments
Android App Development - 06 FragmentsAndroid App Development - 06 Fragments
Android App Development - 06 FragmentsDiego Grancini
 
Solution manual fundamentals of fluid mechanics (4th edition)
Solution manual   fundamentals of fluid mechanics (4th edition)Solution manual   fundamentals of fluid mechanics (4th edition)
Solution manual fundamentals of fluid mechanics (4th edition)Guilherme Gonçalves
 
Solution manual fundamentals of fluid mechanics, 6th edition by munson (2009)
Solution manual fundamentals of fluid mechanics, 6th edition by munson (2009)Solution manual fundamentals of fluid mechanics, 6th edition by munson (2009)
Solution manual fundamentals of fluid mechanics, 6th edition by munson (2009)Thắng Nguyễn
 
State of the Word 2011
State of the Word 2011State of the Word 2011
State of the Word 2011photomatt
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShareSlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShareSlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShareSlideShare
 

Viewers also liked (15)

Google I/O 2011, Android Accelerated Rendering
Google I/O 2011, Android Accelerated RenderingGoogle I/O 2011, Android Accelerated Rendering
Google I/O 2011, Android Accelerated Rendering
 
Introduction to fragments in android
Introduction to fragments in androidIntroduction to fragments in android
Introduction to fragments in android
 
Android - Working with Fragments
Android - Working with FragmentsAndroid - Working with Fragments
Android - Working with Fragments
 
BRAND COMMUNITY & CUSTOMMER LOYALTY - Phần 1
BRAND COMMUNITY & CUSTOMMER LOYALTY - Phần 1BRAND COMMUNITY & CUSTOMMER LOYALTY - Phần 1
BRAND COMMUNITY & CUSTOMMER LOYALTY - Phần 1
 
Fragment
Fragment Fragment
Fragment
 
solution fluid mechanics problem
solution fluid mechanics problemsolution fluid mechanics problem
solution fluid mechanics problem
 
Introduction to Android Fragments
Introduction to Android FragmentsIntroduction to Android Fragments
Introduction to Android Fragments
 
Android App Development - 06 Fragments
Android App Development - 06 FragmentsAndroid App Development - 06 Fragments
Android App Development - 06 Fragments
 
Android Fragment
Android FragmentAndroid Fragment
Android Fragment
 
Solution manual fundamentals of fluid mechanics (4th edition)
Solution manual   fundamentals of fluid mechanics (4th edition)Solution manual   fundamentals of fluid mechanics (4th edition)
Solution manual fundamentals of fluid mechanics (4th edition)
 
Solution manual fundamentals of fluid mechanics, 6th edition by munson (2009)
Solution manual fundamentals of fluid mechanics, 6th edition by munson (2009)Solution manual fundamentals of fluid mechanics, 6th edition by munson (2009)
Solution manual fundamentals of fluid mechanics, 6th edition by munson (2009)
 
State of the Word 2011
State of the Word 2011State of the Word 2011
State of the Word 2011
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to Google I/O 2011, Android Honeycomb Highlights

Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Androiddonnfelker
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentanistar sung
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make itJonathan Snook
 
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptjQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptPhilipp Bosch
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Heiko Behrens
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart JfokusLars Vogel
 
Getting Started With Material Design
Getting Started With Material DesignGetting Started With Material Design
Getting Started With Material DesignYasin Yildirim
 
Android Workshop
Android WorkshopAndroid Workshop
Android WorkshopJunda Ong
 
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Frédéric Harper
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobilemowd8574
 
Android ActionBar Navigation reloaded
Android ActionBar Navigation reloadedAndroid ActionBar Navigation reloaded
Android ActionBar Navigation reloadedDominik Helleberg
 
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28Frédéric Harper
 
Selendroid - Selenium for Android
Selendroid - Selenium for AndroidSelendroid - Selenium for Android
Selendroid - Selenium for AndroidDominik Dary
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web appsChris Mills
 

Similar to Google I/O 2011, Android Honeycomb Highlights (20)

Whats New in Android
Whats New in AndroidWhats New in Android
Whats New in Android
 
MOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app developmentMOPCON 2014 - Best software architecture in app development
MOPCON 2014 - Best software architecture in app development
 
Fake it 'til you make it
Fake it 'til you make itFake it 'til you make it
Fake it 'til you make it
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScriptjQTouch – Mobile Web Apps with HTML, CSS and JavaScript
jQTouch – Mobile Web Apps with HTML, CSS and JavaScript
 
Supercharge your ui
Supercharge your uiSupercharge your ui
Supercharge your ui
 
Web app
Web appWeb app
Web app
 
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
Plattformübergreifende App-Entwicklung (ein Vergleich) - MobileTechCon 2010
 
Android Jumpstart Jfokus
Android Jumpstart JfokusAndroid Jumpstart Jfokus
Android Jumpstart Jfokus
 
Getting Started With Material Design
Getting Started With Material DesignGetting Started With Material Design
Getting Started With Material Design
 
Web app
Web appWeb app
Web app
 
Android Workshop
Android WorkshopAndroid Workshop
Android Workshop
 
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
Firefox OS, HTML5 to the next level - Python Montreal - 2014-05-12
 
jQuery Mobile
jQuery MobilejQuery Mobile
jQuery Mobile
 
Android ActionBar Navigation reloaded
Android ActionBar Navigation reloadedAndroid ActionBar Navigation reloaded
Android ActionBar Navigation reloaded
 
mobl
moblmobl
mobl
 
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
Firefox OS, fixing the mobile web - FITC Toronto - 2014-04-28
 
Android 3
Android 3Android 3
Android 3
 
Selendroid - Selenium for Android
Selendroid - Selenium for AndroidSelendroid - Selenium for Android
Selendroid - Selenium for Android
 
APIs for modern web apps
APIs for modern web appsAPIs for modern web apps
APIs for modern web apps
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 

Google I/O 2011, Android Honeycomb Highlights

  • 1.
  • 2. Honeycomb Highlights Romain Guy @romainguy Chet Haase @chethaase May 10, 2011 Questions http://goo.gl/mod/8NZp Feedback http://goo.gl/hD5M9 Hashtags #io2011, #Android
  • 3. Honeycomb Highlights Honeycomb and Get It Romain Guy @romainguy Chet Haase @chethaase May 10, 2011 Questions http://goo.gl/mod/8NZp Feedback http://goo.gl/hD5M9 Hashtags #io2011, #Android
  • 4. Honeycomb • The tablet release • User improvements • Developer improvements
  • 5. The Tablet Release • Tablet != Phone • Screen size • Input • More memory, faster CPU, multi-core – But more pixels... • GPU!
  • 6. Honeycomb • The tablet release • User improvements • Developer improvements
  • 7. UI Improvements • Home screen, new ‘Holo’ theme • Keyboard • Text selection • USB device connectivity • Action Bar, System Bar • Recent Apps
  • 8. New and Improved Applications • New – Books – Movie Studio • Improved – Market – Browser – Contacts – Music – Gmail – ...
  • 9. New Widgets • Richer • More interactive • Books, Bookmarks, Gmail, Calendar, ...
  • 10. Demo
  • 11. Honeycomb • The tablet release • User improvements • Developer improvements
  • 12. Fragments • Like mini-activities • For flexible screen format situations – landscape vs. portrait – large vs. small
  • 14. Fragments • Single activity, multiple fragments
  • 16. Fragments: For More Info • Read Dianne Hackborn’s The Android 3.0 Fragments API – android-developers.blogspot.com • Get “Android Compatibility package” in the SDK Updater – Fragments now available in 1.6+ !!!!
  • 23. Action Bar Home/Up Navigation Actions Text Actions
  • 24. Action Bar Home/Up Navigation Actions Overflow Text Actions
  • 25. Action Bar Home/Up Navigation Actions Text Actions
  • 26. Action Bar Contextual ActionBar Text Actions
  • 27. Action Bar @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.actions, menu); return true; }
  • 28. Action Bar <menu> <item android:id="@+id/action_edit" android:icon="@android:drawable/ic_menu_edit" android:showAsAction="always" android:title="@string/action_bar_edit" /> <item android:id="@+id/action_share" android:icon="@android:drawable/ic_menu_share" android:showAsAction="ifRoom" android:title="@string/action_bar_share" /> </menu>
  • 29. Action Bar <menu> <item android:id="@+id/action_edit" android:icon="@android:drawable/ic_menu_edit" android:showAsAction="always" android:title="@string/action_bar_edit" /> <item android:id="@+id/action_share" android:icon="@android:drawable/ic_menu_share" android:showAsAction="ifRoom" android:title="@string/action_bar_share" /> </menu>
  • 30. Renderscript • Native code for fast graphics, computation • Platform-independent • Syntax based on C99 • Uses GPU, CPU, multi-core • Used in Books, YouTube, Live Wallpapers
  • 31. Renderscript: HelloWorldRS.java public class HelloWorldRS { private ScriptC_helloworld mScript; public void init(RenderScriptGL rs, Resources res) { mScript = new ScriptC_helloworld(rs, res, R.raw.helloworld); rs.bindRootScript(mScript); } public void onActionDown(int x, int y) { mScript.set_gTouchX(x); mScript.set_gTouchY(y); } }
  • 32. Renderscript: helloworld.rs int gTouchX; int gTouchY; void init() { gTouchX = 50.0f; gTouchY = 50.0f; } int root(int launchID) { rsgClearColor(0.0f, 0.0f, 0.0f, 0.0f); rsgFontColor(1.0f, 1.0f, 1.0f, 1.0f); rsgDrawText("Hello World!", gTouchX, gTouchY); return 20; }
  • 33. Renderscript • Read Jason Sams’s Renderscript articles – android-developers.blogspot.com • Play with the SDK Renderscript samples
  • 34. Graphics Acceleration • OpenGL acceleration for most graphics operations – Canvas.drawLine(), Canvas.drawBitmap(), ... • Used in Launcher, Gmail, Contacts, Calendar, YouTube, Browser, Maps, Settings, ...
  • 36. Acceleration: The Complex API Details <application android:hardwareAccelerated=”true”>
  • 37. Acceleration: The Complex API Details <application android:hardwareAccelerated=”true”> • Opt-in via AndroidManifest.xml • Selectively disable at Activity, Window, or View level
  • 38. More Details • Come to Accelerated Android Rendering – Tomorrow 10:45 • Read Android 3.0 Hardware Acceleration – android-developers.blogspot.com
  • 39. Animation Framework • New system built on “property animation” – Any object, any property, any type • New properties on View – alpha, translationX/Y, scaleX/Y, rotation, ...
  • 40. Animation Framework • New system built on “property animation” – Any object, any property, any type • New properties on View – alpha, translationX/Y, scaleX/Y, rotation, ... ObjectAnimator.ofFloat(target, “alpha”, 0f).start();
  • 41. Demo
  • 42. PhotoAlbum Animations if (mPanelVisible) { mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", 0.0f); } else { mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", -mPanel.getWidth()); } mPanelAnimator.start();
  • 43. PhotoAlbum Animations mPanel.setLayerType(View.LAYER_TYPE_HARDWARE, null); if (mPanelVisible) { mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", 0.0f); } else { mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", -mPanel.getWidth()); } mPanelAnimator.start(); mPanelAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mPanel.setLayerType(View.LAYER_TYPE_NONE, null); } });
  • 44. PhotoAlbum Animations if (mPanelAnimator != null && mPanelAnimator.isRunning()) { mPanelAnimator.reverse(); return; } mPanel.setLayerType(View.LAYER_TYPE_HARDWARE, null); if (mPanelVisible) { mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", 0.0f); } else { mPanelAnimator = ObjectAnimator.ofFloat(mPanel, "x", -mPanel.getWidth()); } mPanelAnimator.start(); mPanelAnimator.addListener(new AnimatorListenerAdapter() { @Override public void onAnimationEnd(Animator animation) { mPanel.setLayerType(View.LAYER_TYPE_NONE, null); } });
  • 45. For More Information • Read Animation in Honeycomb – android-developers.blogspot.com • Check out the animation demos in the SDK
  • 46. And Much, Much More... • Clipboard • Drag and Drop • HTTP Live Streaming • Pluggable DRM framework • Encrypted storage • New/improved components – DatePicker, NumberPicker, StackView, CalendarView, ... • Tools – UI Builder, code completion, ... – Android Development Tools, Wednesday@3
  • 48. More in Android 3.1 Ne USB: Beyond keyboards w ! External camera support Resizable widgets RTP API Performance optimizations ViewPropertyAnimator
  • 49. The Future • Honeycomb was optimized for tablets – But we’re working on bringing the Honeycomb UI and functionality to smaller screen devices • More, better, fancier, faster, lovelier
  • 50. For More Information • At Google IO – Android USB Accessory Mode: Tuesday 1:15 – Fireside Chat: Tuesday 2:30 – Android UIs for Phones and Tablets: Wednesday 12:30 – Android Development Tools: Wednesday 3:00 – Memory Management for Android Apps: Wednesday 4:15 • After Google IO – Android Developers Blog: android-developers.blogspot.com – Romain’s blog: curious-creature.org – Chet’s blog: graphics-geek.blogspot.com
  • 51. Questions http://goo.gl/mod/8NZp Q&A Feedback http://goo.gl/hD5M9 Hashtags #io2011, #Android

Editor's Notes

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. Romain + Chet\nShow home screen, launcher, basic UI\nDemos of honeycomb apps: gmail, contacts, books, music, etc.\nWidgets: show widget list, show bookmarks, books, youtube, calendar, gmail, ...\n(choreograph)\n
  11. \n
  12. \n
  13. Larger devices may be able to fit what might otherwise be multiple activities\n
  14. One activity, single layout with both fragments\n
  15. two activities, each with fragment\n
  16. \n
  17. Buttons: Home, back, Recent apps\nNotifications\nCustomized notifications with Notification.Builder\n
  18. Buttons: Home, back, Recent apps\nNotifications\nCustomized notifications with Notification.Builder\n
  19. Buttons: Home, back, Recent apps\nNotifications\nCustomized notifications with Notification.Builder\n
  20. Buttons: Home, back, Recent apps\nNotifications\nCustomized notifications with Notification.Builder\n
  21. Lights-out\n
  22. Lights-out\n
  23. Lights-out\n
  24. Lights-out\n
  25. Lights-out\n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n
  40. \n
  41. \n
  42. \n
  43. \n
  44. \n
  45. \n
  46. \n
  47. \n
  48. \n
  49. view properties: cheap to change transform/alpha properties with layers or display lists\n
  50. Romain (photo app) + Chet (API demos)\nPhoto app: animation and hardware support for layers\n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. \n
  57. \n
  58. \n
  59. USB: New USB stack for arbitrary device handling, new input events for keyboards and pointers\nCamera: MTP Media Transfer Protocol API for device detection and storage\nWigets: resizable by users, attribute flag in widget declaration\nRTP: Real Time Protocol, for audio streaming, VOIP, conferencing\nOptimizations: more Framework stuff to make rendering faster\n
  60. USB: New USB stack for arbitrary device handling, new input events for keyboards and pointers\nCamera: MTP Media Transfer Protocol API for device detection and storage\nWigets: resizable by users, attribute flag in widget declaration\nRTP: Real Time Protocol, for audio streaming, VOIP, conferencing\nOptimizations: more Framework stuff to make rendering faster\n
  61. USB: New USB stack for arbitrary device handling, new input events for keyboards and pointers\nCamera: MTP Media Transfer Protocol API for device detection and storage\nWigets: resizable by users, attribute flag in widget declaration\nRTP: Real Time Protocol, for audio streaming, VOIP, conferencing\nOptimizations: more Framework stuff to make rendering faster\n
  62. \n
  63. \n
  64. \n
  65. \n