SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Downloaden Sie, um offline zu lesen
Rich Web Experience 2010



    Android Development...
     The 20,000­Foot View


                  
Welcome to Android!
    ●   High Momentum
        –   Today: smartphones
        –   Tomorrow: tablets and televisions
        –   Later: cars? toasters? cars that make toast?!?




                                   
Welcome to Android!
    ●   Opportunities
        –   Retail Distribution (Android Market, etc.)
        –   OEM Distribution
        –   Internal Distribution (enterprise, etc.)
        –   Social Distribution




                                    
Welcome to Android
    ●   Development Models
        –   Standard Applications
             ●   Java
             ●   Web technologies
        –   Games
             ●   2D (Canvas)
             ●   3D (OpenGL)


                                     
Basket of Components
    ●   Activity
        –   Primary unit of user interface
        –   Think: screen, page, window
        –   “User transaction”
        –   Design model: lots of cheap activities




                                   
Basket of Components
    ●   Service
        –   Long-running task (download)
        –   User-controlled background task (music player)
        –   “Cron job” (check for unread email)
        –   Integration point (third-party API)




                                   
Basket of Components
    ●   Broadcast Receiver
        –   System events (battery low)
        –   Application messages
    ●   Content Provider
        –   Integration point (expose database)
        –   Abstraction layer (expose Web service)


                                    
Activities and Widgets
    ●   Activities Host Widgets
        –   Widget = micro unit of UI
        –   Organized via layout managers
        –   Described using XML
             ●   Activity as a whole
             ●   Portions of an activity (rows in a selection list)



                                          
Activities and Widgets
    ●   Multiple Layout Flavors
        –   Portrait versus landscape
        –   Normal versus large
        –   Touchscreen versus pointer (trackball)
    ●   Flow = Web-Like
        –   Click to launch new activities
        –   BACK button
        –   HOME button
                                   
Java and Dalvik
    ●   What You Write
        –   Java
        –   XML
        –   C/C++ (optional)




                                
Java and Dalvik
    ●   What Android Runs: Dalvik
        –   Virtual machine, like Perl or Java
        –   Build tools translate your Java code to Dalvik
            bytecode
        –   Usually invisible to you




                                    
Java and Dalvik
    ●   Third-Party Code
        –   Source or JARs
        –   Possible Compatibility Issues
             ●   Assumption of certain Java classes
             ●   Assumption of certain platform
             ●   Unsupported compiler (1.4.2)




                                       
Resources
    ●   Non-Java Application Assets
        –   Layouts
        –   Images (PNG, JPEG, etc.)
        –   Audio clips
        –   Strings
        –   Animations
        –   Menus
        –   Etc.
                                 
Resources
    ●   Resource Sets
        –   Language
        –   Screen density
        –   Screen size
        –   Dozens of other criteria




                                   
Intents and Integration
    ●   Intents as Message Bus
        –   Start an activity
        –   Start a service
        –   Send a broadcast




                                 
Intents and Integration
    ●   Use Intents Internally
        –   Start your own activities
        –   Start your own services
        –   Send your own “narrowcasts”
             ●   Service → activity or notification
        –   Send your own “broadcasts” to third parties



                                         
Intents and Integration
    ●   Use Intents Externally
        –   Send a message with the user's choice of “send”
            application (email? SMS? Twitter? Facebook?)
        –   Offer to view a certain MIME type
        –   Launch an OS-supplied activity (map)
        –   Launch a third-party activity
        –   Implement a plug-in system

                                   
Services and Multitasking
    ●   The Download Scenario
        –   User requests download of large file
             ●   Should not need to keep activity going to accomplish
                 this!
        –   Use a service and a background thread
        –   Service either updates activity or displays
            notification, then shuts down, when done


                                       
Services and Multitasking
    ●   The Music Player Scenario
        –   User presses “play”
             ●   Should not need to keep player activity running!
        –   Use a service, get control when song ends to
            change to next song in playlist
        –   Stop the service only when user presses “stop”
             ●   Use notification for ease of returning to player, plus
                 to let OS know what is going on

                                         
Services and Multitasking
    ●   The Email Client Scenario
        –   Want to check for new messages every so often
        –   Use AlarmManager to arrange for scheduled task
             ●   Either only while phone is awake, or even if phone is
                 asleep
        –   Use background thread, download mail headers
        –   Update activity or show notification
        –   Service shuts down to await next alarm
                                        
App Widgets and Home Screens
    ●   App Widget = You, on the Home Screen
        –   Display key info at a glance
        –   Light interactivity (launch an activity)
        –   Update on demand or periodically
        –   User control over roster, position




                                    
App Widgets and Home Screens
    ●   Replacement Home Screen
        –   You advertise that you implement one
        –   User gets choice when presses HOME
             ●   Or sets a default
        –   You supply whatever experience you want!




                                      
Tools
    ●   Eclipse...
        –   Android Developer Tools plugin
        –   GUI preview mode
        –   MOTODEV Studio for Android
             ●   Adds many more tools to standard Eclipse/ADT




                                      
Tools
    ●   ...Or Not
        –   IntelliJ IDEA
        –   NetBeans
        –   No particular IDE
        –   No platform limitations




                                   
Production
    ●   APK File
        –   Android “executable”
        –   Digitally signed (self-signed certificate)
        –   Freely distributable
             ●   Not limited to Android Market or any other single
                 venue




                                       
Production
    ●   Android Market
        –   $25 setup fee
        –   Upload and go
             ●   Available on many devices within minutes of release
    ●   Other Markets Available
        –   Motorola SHOP4APPS
        –   Verizon V-CAST

                                       
What If I Hate Java?
    ●   Web Technologies
        –   HTML5
        –   PhoneGap / Rhodes / Titanium Mobile
        –   Adobe AIR
    ●   Other Compiled JVM Languages (Scala)
    ●   Scripting Languages (JRuby)


                                 
“Fragmentation”
    ●   False Fragmentation = Choices
        –   Consumer choices (screen size)
        –   Manufacturer choices (hardware capabilities)
        –   Carrier choices (device mix)
        –   Developer choices
             ●   Recognize that others' choices matter
             ●   Choose not to be chosen


                                       
“Fragmentation”
    ●   True Fragmentation
        –   Device manufacturers who break the SDK
        –   Carriers who limit the devices
        –   Developers who go beyond the SDK boundaries
        –   Garden-variety bugs




                                   
Android's Future
    ●   OS Releases
        –   Gingerbread
        –   Honeycomb
        –   …
        –   Expect 2-3 releases/year
             ●   Good backwards compatibility



                                      
Android's Future
    ●   Google TV
        –   Powered by Android
        –   Android Market and SDK/add-on in early 2011
    ●   Hardware Innovation and Experimentation
        –   Desk phones for the enterprise
        –   SonyEricsson LiveView
        –   ???

                                  
Where Do We Go From Here?
    ●   General Android Information
        –   PlanetAndroid.com
        –   Twitter: #androiddev
        –   Social networks (Facebook, LinkedIn, etc.)




                                    
Where Do We Go From Here?
    ●   Public Developer Support Resources
        –   StackOverflow (#android)
        –   Google Groups
             ●   android-developers
             ●   android-discuss
        –   IRC
        –   Other community support boards

                                       
Where Do We Go From Here?
    ●   Rich Web Experience 2010
        –   Today
             ●   Developing Android Apps Using Web Technologies
             ●   The Future of Mobile: Learn to Build W3C Widgets
                 and Device APIs with PhoneGap
             ●   Choices in Mobile Application Development




                                       
Where Do We Go From Here?
    ●   Rich Web Experience 2010
        –   Friday
             ●   Ted Neward's all-day Android-a-palooza (a.k.a.,
                 workshop)
             ●   Easy Mobile Development Workshop: Mobile GUI
                 Frameworks
             ●   Easy Mobile Development Workshop: Appcelerator
                 Titanium


                                       
Q & A

       

Weitere ähnliche Inhalte

Was ist angesagt?

Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Opersys inc.
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeOpersys inc.
 
Google TV For Fun
Google TV For FunGoogle TV For Fun
Google TV For FunCommonsWare
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android WorkshopOpersys inc.
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Opersys inc.
 
Leveraging Android's Linux Heritage at Android Open 2011
Leveraging Android's Linux Heritage at Android Open 2011Leveraging Android's Linux Heritage at Android Open 2011
Leveraging Android's Linux Heritage at Android Open 2011Opersys inc.
 
LXDE Presentation at FOSDEM 2009
LXDE Presentation at FOSDEM 2009LXDE Presentation at FOSDEM 2009
LXDE Presentation at FOSDEM 2009Mario B.
 

Was ist angesagt? (7)

Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC Europe
 
Google TV For Fun
Google TV For FunGoogle TV For Fun
Google TV For Fun
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011Leveraging Android's Linux Heritage at ELC-E 2011
Leveraging Android's Linux Heritage at ELC-E 2011
 
Leveraging Android's Linux Heritage at Android Open 2011
Leveraging Android's Linux Heritage at Android Open 2011Leveraging Android's Linux Heritage at Android Open 2011
Leveraging Android's Linux Heritage at Android Open 2011
 
LXDE Presentation at FOSDEM 2009
LXDE Presentation at FOSDEM 2009LXDE Presentation at FOSDEM 2009
LXDE Presentation at FOSDEM 2009
 

Andere mochten auch

Android UI Tips, Tricks and Techniques
Android UI Tips, Tricks and TechniquesAndroid UI Tips, Tricks and Techniques
Android UI Tips, Tricks and TechniquesMarakana Inc.
 
Android UI Tips & Tricks
Android UI Tips & TricksAndroid UI Tips & Tricks
Android UI Tips & TricksDroidConTLV
 
Android ui adapter
Android ui adapterAndroid ui adapter
Android ui adapterKrazy Koder
 
Day 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesDay 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesAhsanul Karim
 
Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Ahsanul Karim
 

Andere mochten auch (9)

Android UI
Android UIAndroid UI
Android UI
 
Html5
Html5Html5
Html5
 
Android UI Tips, Tricks and Techniques
Android UI Tips, Tricks and TechniquesAndroid UI Tips, Tricks and Techniques
Android UI Tips, Tricks and Techniques
 
Android UI Tips & Tricks
Android UI Tips & TricksAndroid UI Tips & Tricks
Android UI Tips & Tricks
 
Android ui adapter
Android ui adapterAndroid ui adapter
Android ui adapter
 
Android UI Development
Android UI DevelopmentAndroid UI Development
Android UI Development
 
Day 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through ActivitiesDay 4: Android: Getting Active through Activities
Day 4: Android: Getting Active through Activities
 
Android Ui
Android UiAndroid Ui
Android Ui
 
Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]Day 5: Android User Interface [View Widgets]
Day 5: Android User Interface [View Widgets]
 

Ähnlich wie Android Development...The 20,000-Foot View

Android development - the basics, MFF UK, 2012
Android development - the basics, MFF UK, 2012Android development - the basics, MFF UK, 2012
Android development - the basics, MFF UK, 2012Tomáš Kypta
 
Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012Tomáš Kypta
 
Begining Android Development
Begining Android DevelopmentBegining Android Development
Begining Android DevelopmentHayi Nukman
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a NutshellAleix Solé
 
Lecture 01: Introduction into Android.pptx
Lecture 01: Introduction into Android.pptxLecture 01: Introduction into Android.pptx
Lecture 01: Introduction into Android.pptxYousef Alamir
 
Android workshop material
Android workshop materialAndroid workshop material
Android workshop materialReza Yogaswara
 
Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Opersys inc.
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Opersys inc.
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IOpersys inc.
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Opersys inc.
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux HeritageOpersys inc.
 
Android: Dealing with Different Devices
Android: Dealing with Different DevicesAndroid: Dealing with Different Devices
Android: Dealing with Different DevicesCommonsWare
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions newJoe Jacob
 
PT GTUG 1st Technical Tession - Android
PT GTUG 1st Technical Tession - AndroidPT GTUG 1st Technical Tession - Android
PT GTUG 1st Technical Tession - Androiddrjuniornet
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Javaamaankhan
 
Extending Android's Platform Toolsuite
Extending Android's Platform ToolsuiteExtending Android's Platform Toolsuite
Extending Android's Platform ToolsuiteOpersys inc.
 
Facets Of Fragmentation by Mark Murphy
Facets Of Fragmentation by Mark MurphyFacets Of Fragmentation by Mark Murphy
Facets Of Fragmentation by Mark MurphySkills Matter
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Opersys inc.
 

Ähnlich wie Android Development...The 20,000-Foot View (20)

Android development - the basics, MFF UK, 2012
Android development - the basics, MFF UK, 2012Android development - the basics, MFF UK, 2012
Android development - the basics, MFF UK, 2012
 
Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012Android development - the basics, FI MUNI, 2012
Android development - the basics, FI MUNI, 2012
 
Begining Android Development
Begining Android DevelopmentBegining Android Development
Begining Android Development
 
Codebits Talk
Codebits TalkCodebits Talk
Codebits Talk
 
Android Development in a Nutshell
Android Development in a NutshellAndroid Development in a Nutshell
Android Development in a Nutshell
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Lecture 01: Introduction into Android.pptx
Lecture 01: Introduction into Android.pptxLecture 01: Introduction into Android.pptx
Lecture 01: Introduction into Android.pptx
 
Android workshop material
Android workshop materialAndroid workshop material
Android workshop material
 
Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013Embedded Android Workshop / ELC 2013
Embedded Android Workshop / ELC 2013
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part I
 
Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013Embedded Android Workshop at Embedded World Conference 2013
Embedded Android Workshop at Embedded World Conference 2013
 
Leveraging Android's Linux Heritage
Leveraging Android's Linux HeritageLeveraging Android's Linux Heritage
Leveraging Android's Linux Heritage
 
Android: Dealing with Different Devices
Android: Dealing with Different DevicesAndroid: Dealing with Different Devices
Android: Dealing with Different Devices
 
Introduction to android sessions new
Introduction to android   sessions newIntroduction to android   sessions new
Introduction to android sessions new
 
PT GTUG 1st Technical Tession - Android
PT GTUG 1st Technical Tession - AndroidPT GTUG 1st Technical Tession - Android
PT GTUG 1st Technical Tession - Android
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Extending Android's Platform Toolsuite
Extending Android's Platform ToolsuiteExtending Android's Platform Toolsuite
Extending Android's Platform Toolsuite
 
Facets Of Fragmentation by Mark Murphy
Facets Of Fragmentation by Mark MurphyFacets Of Fragmentation by Mark Murphy
Facets Of Fragmentation by Mark Murphy
 
Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013Android Internals at Linaro Connect Asia 2013
Android Internals at Linaro Connect Asia 2013
 

Mehr von CommonsWare

Gradle and Your Android Wearable Projects
Gradle and Your Android Wearable ProjectsGradle and Your Android Wearable Projects
Gradle and Your Android Wearable ProjectsCommonsWare
 
Getting Android Developers for Your Wearables
Getting Android Developers for Your WearablesGetting Android Developers for Your Wearables
Getting Android Developers for Your WearablesCommonsWare
 
When Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable AppsWhen Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable AppsCommonsWare
 
The Action Bar: Front to Back
The Action Bar: Front to BackThe Action Bar: Front to Back
The Action Bar: Front to BackCommonsWare
 
Android Security: Defending Your Users
Android Security: Defending Your UsersAndroid Security: Defending Your Users
Android Security: Defending Your UsersCommonsWare
 
Secondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManagerSecondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManagerCommonsWare
 
Mastering the Master Detail Pattern
Mastering the Master Detail PatternMastering the Master Detail Pattern
Mastering the Master Detail PatternCommonsWare
 
Not Quite As Painful Threading
Not Quite As Painful ThreadingNot Quite As Painful Threading
Not Quite As Painful ThreadingCommonsWare
 
Maps V2... And You!
Maps V2... And You!Maps V2... And You!
Maps V2... And You!CommonsWare
 
A Deep Dive Into ViewPager
A Deep Dive Into ViewPagerA Deep Dive Into ViewPager
A Deep Dive Into ViewPagerCommonsWare
 
Second-Screen Support in Android 4.2
Second-Screen Support in Android 4.2Second-Screen Support in Android 4.2
Second-Screen Support in Android 4.2CommonsWare
 
Integrate Android Apps and Web Apps
Integrate Android Apps and Web AppsIntegrate Android Apps and Web Apps
Integrate Android Apps and Web AppsCommonsWare
 
From Android to the Mobile Web
From Android to the Mobile WebFrom Android to the Mobile Web
From Android to the Mobile WebCommonsWare
 
The Wonderful World of Wearables
The Wonderful World of WearablesThe Wonderful World of Wearables
The Wonderful World of WearablesCommonsWare
 
Securing User Data with SQLCipher
Securing User Data with SQLCipherSecuring User Data with SQLCipher
Securing User Data with SQLCipherCommonsWare
 
Beaming Data to Devices with NFC
Beaming Data to Devices with NFCBeaming Data to Devices with NFC
Beaming Data to Devices with NFCCommonsWare
 
What's New in Jelly Bean
What's New in Jelly BeanWhat's New in Jelly Bean
What's New in Jelly BeanCommonsWare
 
Making Money at Mobile: 60 Business Models
Making Money at Mobile: 60 Business ModelsMaking Money at Mobile: 60 Business Models
Making Money at Mobile: 60 Business ModelsCommonsWare
 
AppsWorld Keynote
AppsWorld KeynoteAppsWorld Keynote
AppsWorld KeynoteCommonsWare
 

Mehr von CommonsWare (20)

Gradle and Your Android Wearable Projects
Gradle and Your Android Wearable ProjectsGradle and Your Android Wearable Projects
Gradle and Your Android Wearable Projects
 
Getting Android Developers for Your Wearables
Getting Android Developers for Your WearablesGetting Android Developers for Your Wearables
Getting Android Developers for Your Wearables
 
When Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable AppsWhen Microwatts Are Precious: Battery Tips for Wearable Apps
When Microwatts Are Precious: Battery Tips for Wearable Apps
 
The Action Bar: Front to Back
The Action Bar: Front to BackThe Action Bar: Front to Back
The Action Bar: Front to Back
 
Android Security: Defending Your Users
Android Security: Defending Your UsersAndroid Security: Defending Your Users
Android Security: Defending Your Users
 
Secondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManagerSecondary Screen Support Using DisplayManager
Secondary Screen Support Using DisplayManager
 
Mastering the Master Detail Pattern
Mastering the Master Detail PatternMastering the Master Detail Pattern
Mastering the Master Detail Pattern
 
Not Quite As Painful Threading
Not Quite As Painful ThreadingNot Quite As Painful Threading
Not Quite As Painful Threading
 
Maps V2... And You!
Maps V2... And You!Maps V2... And You!
Maps V2... And You!
 
A Deep Dive Into ViewPager
A Deep Dive Into ViewPagerA Deep Dive Into ViewPager
A Deep Dive Into ViewPager
 
Second-Screen Support in Android 4.2
Second-Screen Support in Android 4.2Second-Screen Support in Android 4.2
Second-Screen Support in Android 4.2
 
Integrate Android Apps and Web Apps
Integrate Android Apps and Web AppsIntegrate Android Apps and Web Apps
Integrate Android Apps and Web Apps
 
From Android to the Mobile Web
From Android to the Mobile WebFrom Android to the Mobile Web
From Android to the Mobile Web
 
X Means Y
X Means YX Means Y
X Means Y
 
The Wonderful World of Wearables
The Wonderful World of WearablesThe Wonderful World of Wearables
The Wonderful World of Wearables
 
Securing User Data with SQLCipher
Securing User Data with SQLCipherSecuring User Data with SQLCipher
Securing User Data with SQLCipher
 
Beaming Data to Devices with NFC
Beaming Data to Devices with NFCBeaming Data to Devices with NFC
Beaming Data to Devices with NFC
 
What's New in Jelly Bean
What's New in Jelly BeanWhat's New in Jelly Bean
What's New in Jelly Bean
 
Making Money at Mobile: 60 Business Models
Making Money at Mobile: 60 Business ModelsMaking Money at Mobile: 60 Business Models
Making Money at Mobile: 60 Business Models
 
AppsWorld Keynote
AppsWorld KeynoteAppsWorld Keynote
AppsWorld Keynote
 

Kürzlich hochgeladen

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 

Kürzlich hochgeladen (20)

The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

Android Development...The 20,000-Foot View

  • 1. Rich Web Experience 2010 Android Development... The 20,000­Foot View    
  • 2. Welcome to Android! ● High Momentum – Today: smartphones – Tomorrow: tablets and televisions – Later: cars? toasters? cars that make toast?!?    
  • 3. Welcome to Android! ● Opportunities – Retail Distribution (Android Market, etc.) – OEM Distribution – Internal Distribution (enterprise, etc.) – Social Distribution    
  • 4. Welcome to Android ● Development Models – Standard Applications ● Java ● Web technologies – Games ● 2D (Canvas) ● 3D (OpenGL)    
  • 5. Basket of Components ● Activity – Primary unit of user interface – Think: screen, page, window – “User transaction” – Design model: lots of cheap activities    
  • 6. Basket of Components ● Service – Long-running task (download) – User-controlled background task (music player) – “Cron job” (check for unread email) – Integration point (third-party API)    
  • 7. Basket of Components ● Broadcast Receiver – System events (battery low) – Application messages ● Content Provider – Integration point (expose database) – Abstraction layer (expose Web service)    
  • 8. Activities and Widgets ● Activities Host Widgets – Widget = micro unit of UI – Organized via layout managers – Described using XML ● Activity as a whole ● Portions of an activity (rows in a selection list)    
  • 9. Activities and Widgets ● Multiple Layout Flavors – Portrait versus landscape – Normal versus large – Touchscreen versus pointer (trackball) ● Flow = Web-Like – Click to launch new activities – BACK button – HOME button    
  • 10. Java and Dalvik ● What You Write – Java – XML – C/C++ (optional)    
  • 11. Java and Dalvik ● What Android Runs: Dalvik – Virtual machine, like Perl or Java – Build tools translate your Java code to Dalvik bytecode – Usually invisible to you    
  • 12. Java and Dalvik ● Third-Party Code – Source or JARs – Possible Compatibility Issues ● Assumption of certain Java classes ● Assumption of certain platform ● Unsupported compiler (1.4.2)    
  • 13. Resources ● Non-Java Application Assets – Layouts – Images (PNG, JPEG, etc.) – Audio clips – Strings – Animations – Menus – Etc.    
  • 14. Resources ● Resource Sets – Language – Screen density – Screen size – Dozens of other criteria    
  • 15. Intents and Integration ● Intents as Message Bus – Start an activity – Start a service – Send a broadcast    
  • 16. Intents and Integration ● Use Intents Internally – Start your own activities – Start your own services – Send your own “narrowcasts” ● Service → activity or notification – Send your own “broadcasts” to third parties    
  • 17. Intents and Integration ● Use Intents Externally – Send a message with the user's choice of “send” application (email? SMS? Twitter? Facebook?) – Offer to view a certain MIME type – Launch an OS-supplied activity (map) – Launch a third-party activity – Implement a plug-in system    
  • 18. Services and Multitasking ● The Download Scenario – User requests download of large file ● Should not need to keep activity going to accomplish this! – Use a service and a background thread – Service either updates activity or displays notification, then shuts down, when done    
  • 19. Services and Multitasking ● The Music Player Scenario – User presses “play” ● Should not need to keep player activity running! – Use a service, get control when song ends to change to next song in playlist – Stop the service only when user presses “stop” ● Use notification for ease of returning to player, plus to let OS know what is going on    
  • 20. Services and Multitasking ● The Email Client Scenario – Want to check for new messages every so often – Use AlarmManager to arrange for scheduled task ● Either only while phone is awake, or even if phone is asleep – Use background thread, download mail headers – Update activity or show notification – Service shuts down to await next alarm    
  • 21. App Widgets and Home Screens ● App Widget = You, on the Home Screen – Display key info at a glance – Light interactivity (launch an activity) – Update on demand or periodically – User control over roster, position    
  • 22. App Widgets and Home Screens ● Replacement Home Screen – You advertise that you implement one – User gets choice when presses HOME ● Or sets a default – You supply whatever experience you want!    
  • 23. Tools ● Eclipse... – Android Developer Tools plugin – GUI preview mode – MOTODEV Studio for Android ● Adds many more tools to standard Eclipse/ADT    
  • 24. Tools ● ...Or Not – IntelliJ IDEA – NetBeans – No particular IDE – No platform limitations    
  • 25. Production ● APK File – Android “executable” – Digitally signed (self-signed certificate) – Freely distributable ● Not limited to Android Market or any other single venue    
  • 26. Production ● Android Market – $25 setup fee – Upload and go ● Available on many devices within minutes of release ● Other Markets Available – Motorola SHOP4APPS – Verizon V-CAST    
  • 27. What If I Hate Java? ● Web Technologies – HTML5 – PhoneGap / Rhodes / Titanium Mobile – Adobe AIR ● Other Compiled JVM Languages (Scala) ● Scripting Languages (JRuby)    
  • 28. “Fragmentation” ● False Fragmentation = Choices – Consumer choices (screen size) – Manufacturer choices (hardware capabilities) – Carrier choices (device mix) – Developer choices ● Recognize that others' choices matter ● Choose not to be chosen    
  • 29. “Fragmentation” ● True Fragmentation – Device manufacturers who break the SDK – Carriers who limit the devices – Developers who go beyond the SDK boundaries – Garden-variety bugs    
  • 30. Android's Future ● OS Releases – Gingerbread – Honeycomb – … – Expect 2-3 releases/year ● Good backwards compatibility    
  • 31. Android's Future ● Google TV – Powered by Android – Android Market and SDK/add-on in early 2011 ● Hardware Innovation and Experimentation – Desk phones for the enterprise – SonyEricsson LiveView – ???    
  • 32. Where Do We Go From Here? ● General Android Information – PlanetAndroid.com – Twitter: #androiddev – Social networks (Facebook, LinkedIn, etc.)    
  • 33. Where Do We Go From Here? ● Public Developer Support Resources – StackOverflow (#android) – Google Groups ● android-developers ● android-discuss – IRC – Other community support boards    
  • 34. Where Do We Go From Here? ● Rich Web Experience 2010 – Today ● Developing Android Apps Using Web Technologies ● The Future of Mobile: Learn to Build W3C Widgets and Device APIs with PhoneGap ● Choices in Mobile Application Development    
  • 35. Where Do We Go From Here? ● Rich Web Experience 2010 – Friday ● Ted Neward's all-day Android-a-palooza (a.k.a., workshop) ● Easy Mobile Development Workshop: Mobile GUI Frameworks ● Easy Mobile Development Workshop: Appcelerator Titanium