SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Destaque

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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 

Último (20)

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
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 

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

Notas do Editor

  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