SlideShare ist ein Scribd-Unternehmen logo
1 von 12
Downloaden Sie, um offline zu lesen
© 2011 Marty Hall
A d id P i O iAndroid Programming: Overview
Originals of Slides and Source Code for Examples:
http://www.coreservlets.com/android-tutorial/
Customized Java EE Training: http://courses.coreservlets.com/
Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android.
Developed and taught by well-known author and developer. At public venues or onsite at your location.
© 2011 Marty Hall
For live Android training, please see courses
t htt // l t /at http://courses.coreservlets.com/.
Taught by the author of Core Servlets and JSP, More
Servlets and JSP and this Android tutorial Available atServlets and JSP, and this Android tutorial. Available at
public venues, or customized versions can be held
on-site at your organization.
C d l d d t ht b M t H ll
Customized Java EE Training: http://courses.coreservlets.com/
Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android.
Developed and taught by well-known author and developer. At public venues or onsite at your location.
• Courses developed and taught by Marty Hall
– Android development, JSF 2, servlets/JSP, Ajax, jQuery, Java 6 programming, custom mix of topics
– Ajax courses can concentrate on 1 library (jQuery, Prototype/Scriptaculous, Ext-JS, Dojo, etc.) or survey several
• Courses developed and taught by coreservlets.com experts (edited by Marty)
– Spring, Hibernate/JPA, EJB3, GWT, RESTful and SOAP-based Web Services
Contact hall@coreservlets.com for details
Topics in This Section
• Motivation
– Web Apps vs. Mobile Apps
– iPhone Apps vs. Android Apps
Books and references• Books and references
4
© 2011 Marty Hall
Web Apps vsWeb Apps vs.
Android Apps
Customized Java EE Training: http://courses.coreservlets.com/
Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android.
Developed and taught by well-known author and developer. At public venues or onsite at your location.
Advantages of Web Apps
• Universal access
– Browsers are everywhere
– Any device on the network
can access contentcan access content
• PCs, Macs, Linux, Android,
iPhone, Blackberry, etc.
A t ti “ d t ”• Automatic “updates”
– Content comes from server,
so is never out of dateso is never out of date
• Well-established tools and
methodologiesg
– In multiple languages
• Java, PHP, .NET, Ruby/Rails, CGI, etc.
6
Disadvantages of Web Apps
• Few and weak GUI controls
– Textfield, text area, button, checkbox, radio, list box, combo
box. That’s it! No direct drawing (except for HTML5 Canvas)
• Cannot interact with local resourcesCannot interact with local resources
– Cannot read files, call programs, or access devices on the
user’s machine
• Inefficient communication
– HTTP is weak protocol
• Hard to write• Hard to write
– Requires knowledge of many technologies
• Java, HTML, HTTP, CSS, JavaScript, XML
• Designed for large displays with mouse
– So harder to use on small phone displays with touch screen7
Advantages of Mobile Apps
• Many GUI controls
– Textfield, text area, button, checkbox, radio, list box,
combo box, clock, calendar, date picker, dialog box,
i llimage gallery, etc.
• Comparable to options in desktop programming
Supports direct drawing– Supports direct drawing
• So animated games ala Angry Birds possible
• Can interact with local resourcesCan interact with local resources
– Can read files (e.g., contacts list), have local database,
access GPS, initiate phone calls, get input from, p , g p
microphone, create voice output, read screen orientation,
etc.8
Advantages of Mobile Apps
(Continued)(Continued)
• Efficient communication
– Can use any networking protocols you want
• Easier (?) to write
– Requires knowledge of one language only
• Java for Android
• Objective C for iPhone
• Designed for small displays with touch
screen
– So, many apps and GUI controls are optimized for this
environmentenvironment
9
Disadvantages of Mobile Apps
• No universal access
– Apps must be installed one at a time on each phone
– An Android app cannot run on iPhone, Blackberry, PC,
Mac or Linux boxMac, or Linux box
• Difficult to manage updates
– User must intervene to get latest versionsU g
• Newer (esp. Android)
– So, fewer established tools and methodologies
• On the other hand, Android programming is similar to
desktop Java programming, and there are plenty of
established approaches there
10
© 2011 Marty Hall
Android Apps vsAndroid Apps vs.
iPhone Apps
Customized Java EE Training: http://courses.coreservlets.com/
Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android.
Developed and taught by well-known author and developer. At public venues or onsite at your location.
Installing Apps
• Generic apps
– iPhone has larger selection
– Android trying to catch up
In house developed corporate apps• In-house-developed corporate apps
– iPhone apps can only be installed via the App Store
• iPhone requires you to submit app to the Apple App StoreiPhone requires you to submit app to the Apple App Store
and get approval, even for apps from your own company
– Unless you jailbreak your phone
– Android apps can be installed throughAndroid apps can be installed through
• Google App Store
• Amazon App Store
USB ti f PC• USB connection from PC
• Email
• Corporate Web site12
Languages for Apps
• iPhone
– Objective-C
• Similar to, but not exactly the same as, C++
• Virtually no corporate presence for Objective-C, other thany p p j
for mobile apps
• Android
Java– Java
• The single most widely used language inside corporations
– C/C++
C ll ti
The real reason Android runs Java
• Can call native apps
(with some difficulty)
via an approach
similar to JNI forsimilar to JNI for
desktop Java
13
From Randall Munroe and xkcd.com
Operating Systems for
Developing AppsDeveloping Apps
• iPhone
– Macs
• Android
A hi i h J– Anything with Java
and Eclipse
• Macs
• PCs
• Linux
• Solaris
From http://www.hongkiat.com/blog/mac-vs-pc-myth-busting-consumer-guide/
Solaris
• Issue
– Not so much which is cooler and which
you personally prefer, but rather which
is already installed in corporate
environments.14
Programming Jobs:
Android vs iPhoneAndroid vs. iPhone
– Caveat: Indeed.com shows rough trends only
• Job postings with both words anywhere in posting
• Biased by the job sites it samples15
Google Search Trends: Android
vs iPhone Programmingvs. iPhone Programming
C t h l h h t d l– Caveat: search volume shows rough trends only
• For example, one of Android or iPhone might have clearer
documentation, and require less searching16
Advertising Revenue:
Android (53%) vs iPhone (27%)Android (53%) vs. iPhone (27%)
– Caveats: advertising does not equate to market volume,
biased by who Millennial Media works with
17
Market Presence
18
– Caveat: based on survey, not sales data
Raw data at http://www.comscore.com/Press_Events/Press_Releases/2011/7/comScore_Reports_May_2011_U.S._Mobile_Subscriber_Market_Share
Other Issues
• Market presence based on sales data
– Blackberry & iPhone used to dominate smart phone market
– 2nd quarter 2010 smart phone sales (source: Nielsen)
• Blackberry: 33%• Blackberry: 33%
• Android: 27%
– Caveats: these are sum of all Android devices. And, many Android
phones given away for free with carrier subscriptions Also thesephones given away for free with carrier subscriptions. Also, these
numbers partially contradict graph on previous slide.
• iPhone: 23%
Phone features quality of apps and• Phone features, quality of apps, and
coolness factors
– Matter of opinionMatter of opinion,
but iPhone very
strong here19 From Randall Munroe and xkcd.com
Bottom Line:
iPhone vs AndroidiPhone vs. Android
• Which to use personally
– iPhone has larger market share, bigger app store, and
more loyal users
– Android more open and growing more rapidly– Android more open and growing more rapidly
– Bottom line: no clear winner, personal preferences
prevail, but iPhone has edge
• Which to use for in-house apps
– iPhone apps very hard to install, Android simple
iPh Obj i C A d id J– iPhone uses Objective C, Android uses Java
– Bottom line: Android is clear winner
20
© 2011 Marty Hall
Wrap-Up
Customized Java EE Training: http://courses.coreservlets.com/
Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android.
Developed and taught by well-known author and developer. At public venues or onsite at your location.
References
• Books (in rough order of preference)
– Android Developer’s Cookbook (Steele & To)
– Busy Coder’s Guide to Android Development (Murphy)
• Online only: http://commonsware com/Android/• Online only: http://commonsware.com/Android/
– Android in Action, 2nd Edition (Ableson, Sen, & King)
– Android Application Development for Dummies (Felker)
• Online references
– http://developer.android.com/
• By far the most important single reference.
– Android forum on StackOverflow
• http://stackoverflow.com/questions/tagged/androidttp //stac o e o co /quest o s/tagged/a d o d
– Android widget gallery
• http://www.droiddraw.org/widgetguide.html
22
Summary
• Web apps vs. Android apps
– Web apps can run on Android, iPhone, Blackberry and
regular computers. But, they have weaker GUIs, cannot
use local resources (files, databases, GPS, camera), anduse local resources (files, databases, GPS, camera), and
are better on big screens
– Android apps can local resources, are optimized for small
h i h GUI b t t b dscreens, have richer GUIs, but cannot be accessed on
other phone types or on regular computers
• iPhone vs. AndroidiPhone vs. Android
– For personal use, situation is very unclear
– For building corporate apps, Android is clear winner
23
© 2011 Marty Hall
Questions?
Customized Java EE Training: http://courses.coreservlets.com/
Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android.
Developed and taught by well-known author and developer. At public venues or onsite at your location.

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application developmentKunjan Thakkar
 
Secrets of apps in digital marketing
Secrets of apps in digital marketingSecrets of apps in digital marketing
Secrets of apps in digital marketingWDP Technologies
 
Windows Phone 7 Apps with Metro UI
Windows Phone 7 Apps with Metro UIWindows Phone 7 Apps with Metro UI
Windows Phone 7 Apps with Metro UIgeorgemck
 
Mse august13 (2/3)
Mse august13 (2/3)Mse august13 (2/3)
Mse august13 (2/3)IIITA
 
Logictree Mobile Practice Presentation
Logictree Mobile Practice PresentationLogictree Mobile Practice Presentation
Logictree Mobile Practice PresentationLogictreeit
 
Rapid App Development for PhoneGap
Rapid App Development for PhoneGapRapid App Development for PhoneGap
Rapid App Development for PhoneGapgeorgemck
 
SSB BART Group Mobile Accessibility
SSB  BART Group Mobile AccessibilitySSB  BART Group Mobile Accessibility
SSB BART Group Mobile AccessibilityEduardo Meza-Etienne
 
如何變成iOS App開發魔法師
如何變成iOS App開發魔法師如何變成iOS App開發魔法師
如何變成iOS App開發魔法師彼得潘 Pan
 
Android sessions gtug ph singapore
Android sessions gtug ph singaporeAndroid sessions gtug ph singapore
Android sessions gtug ph singaporemharkus
 
Code and Conquer with Globe Labs, October 27, 2012
Code and Conquer with Globe Labs, October 27, 2012Code and Conquer with Globe Labs, October 27, 2012
Code and Conquer with Globe Labs, October 27, 2012jobandesther
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator OverviewJeff Haynie
 
Pioneering a Mobile Photo App
Pioneering a Mobile Photo AppPioneering a Mobile Photo App
Pioneering a Mobile Photo AppWardTechTalent
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego PresentationJeff Haynie
 
Christopher Allen’s Presentation at eComm 2009
Christopher Allen’s Presentation at eComm 2009Christopher Allen’s Presentation at eComm 2009
Christopher Allen’s Presentation at eComm 2009eCommConf
 
Convert Your Web App to Tizen
Convert Your Web App to TizenConvert Your Web App to Tizen
Convert Your Web App to TizenCheng Luo
 
App testing and publishing
App testing and publishingApp testing and publishing
App testing and publishingNiall Roche
 

Was ist angesagt? (20)

Introduction to hybrid application development
Introduction to hybrid application developmentIntroduction to hybrid application development
Introduction to hybrid application development
 
Secrets of apps in digital marketing
Secrets of apps in digital marketingSecrets of apps in digital marketing
Secrets of apps in digital marketing
 
Windows Phone 7 Apps with Metro UI
Windows Phone 7 Apps with Metro UIWindows Phone 7 Apps with Metro UI
Windows Phone 7 Apps with Metro UI
 
Mse august13 (2/3)
Mse august13 (2/3)Mse august13 (2/3)
Mse august13 (2/3)
 
Ramesh iOS Profile
Ramesh iOS ProfileRamesh iOS Profile
Ramesh iOS Profile
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
Logictree Mobile Practice Presentation
Logictree Mobile Practice PresentationLogictree Mobile Practice Presentation
Logictree Mobile Practice Presentation
 
Akshay_karanth
Akshay_karanthAkshay_karanth
Akshay_karanth
 
Rapid App Development for PhoneGap
Rapid App Development for PhoneGapRapid App Development for PhoneGap
Rapid App Development for PhoneGap
 
SSB BART Group Mobile Accessibility
SSB  BART Group Mobile AccessibilitySSB  BART Group Mobile Accessibility
SSB BART Group Mobile Accessibility
 
如何變成iOS App開發魔法師
如何變成iOS App開發魔法師如何變成iOS App開發魔法師
如何變成iOS App開發魔法師
 
Android sessions gtug ph singapore
Android sessions gtug ph singaporeAndroid sessions gtug ph singapore
Android sessions gtug ph singapore
 
Code and Conquer with Globe Labs, October 27, 2012
Code and Conquer with Globe Labs, October 27, 2012Code and Conquer with Globe Labs, October 27, 2012
Code and Conquer with Globe Labs, October 27, 2012
 
Appcelerator Overview
Appcelerator OverviewAppcelerator Overview
Appcelerator Overview
 
Pioneering a Mobile Photo App
Pioneering a Mobile Photo AppPioneering a Mobile Photo App
Pioneering a Mobile Photo App
 
CommNexus San Diego Presentation
CommNexus San Diego PresentationCommNexus San Diego Presentation
CommNexus San Diego Presentation
 
Christopher Allen’s Presentation at eComm 2009
Christopher Allen’s Presentation at eComm 2009Christopher Allen’s Presentation at eComm 2009
Christopher Allen’s Presentation at eComm 2009
 
Convert Your Web App to Tizen
Convert Your Web App to TizenConvert Your Web App to Tizen
Convert Your Web App to Tizen
 
Andrew O'Mahony CV PDF
Andrew O'Mahony CV PDFAndrew O'Mahony CV PDF
Andrew O'Mahony CV PDF
 
App testing and publishing
App testing and publishingApp testing and publishing
App testing and publishing
 

Ähnlich wie Android overview

Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...Shane Church
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Effective
 
Mobile Application Development and Types(1)
Mobile Application Development and Types(1)Mobile Application Development and Types(1)
Mobile Application Development and Types(1)IsraelSoga
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonnyLama K Banna
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do ThatNathan Smith
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app developmentMarkovate
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overviewDima Maleev
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app developmentHarshul Shah
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentDotitude
 
Learn everything about mobile app development. .pdf
Learn everything about mobile app development. .pdfLearn everything about mobile app development. .pdf
Learn everything about mobile app development. .pdfArgpnteq
 
UNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptUNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptHannaAnvar1
 
These are the top 7 alternatives to react native
These are the top 7 alternatives to react nativeThese are the top 7 alternatives to react native
These are the top 7 alternatives to react nativeMoon Technolabs Pvt. Ltd.
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARISivaSankari36
 
Android Workshop Presentation
Android Workshop PresentationAndroid Workshop Presentation
Android Workshop PresentationNAILBITER
 
Engage 2013 - Mobile solution strategies
Engage 2013 - Mobile solution strategiesEngage 2013 - Mobile solution strategies
Engage 2013 - Mobile solution strategiesAvtex
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting startedAhsanul Karim
 

Ähnlich wie Android overview (20)

Native Application Development Company
Native Application Development CompanyNative Application Development Company
Native Application Development Company
 
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
Pick Your Poison – Mobile Web, Native, or Hybrid? - Denver Startup Week - Oct...
 
Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?Pick Your Poison – Mobile Web, Native or Hybrid?
Pick Your Poison – Mobile Web, Native or Hybrid?
 
Mobile Application Development and Types(1)
Mobile Application Development and Types(1)Mobile Application Development and Types(1)
Mobile Application Development and Types(1)
 
Intro to tech stacks bonny
Intro to tech stacks bonnyIntro to tech stacks bonny
Intro to tech stacks bonny
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
HTML5 Can't Do That
HTML5 Can't Do ThatHTML5 Can't Do That
HTML5 Can't Do That
 
Ionic vs flutter best platform for hybrid app development
Ionic vs flutter  best platform for hybrid app developmentIonic vs flutter  best platform for hybrid app development
Ionic vs flutter best platform for hybrid app development
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overview
 
Hybrid app development
Hybrid app developmentHybrid app development
Hybrid app development
 
Introduction to Hybrid Application Development
Introduction to Hybrid Application DevelopmentIntroduction to Hybrid Application Development
Introduction to Hybrid Application Development
 
Learn everything about mobile app development. .pdf
Learn everything about mobile app development. .pdfLearn everything about mobile app development. .pdf
Learn everything about mobile app development. .pdf
 
UNIT_1_1626771386169.ppt
UNIT_1_1626771386169.pptUNIT_1_1626771386169.ppt
UNIT_1_1626771386169.ppt
 
These are the top 7 alternatives to react native
These are the top 7 alternatives to react nativeThese are the top 7 alternatives to react native
These are the top 7 alternatives to react native
 
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARIMOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
MOBILE APPLICATIONS DEVELOPMENT -ANDROID BY SIVASANKARI
 
Android Workshop Presentation
Android Workshop PresentationAndroid Workshop Presentation
Android Workshop Presentation
 
Hybrid Mobile App
Hybrid Mobile AppHybrid Mobile App
Hybrid Mobile App
 
Hybrid mobile app
Hybrid mobile appHybrid mobile app
Hybrid mobile app
 
Engage 2013 - Mobile solution strategies
Engage 2013 - Mobile solution strategiesEngage 2013 - Mobile solution strategies
Engage 2013 - Mobile solution strategies
 
Android before getting started
Android before getting startedAndroid before getting started
Android before getting started
 

Kürzlich hochgeladen

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 

Kürzlich hochgeladen (20)

Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 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
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 

Android overview

  • 1. © 2011 Marty Hall A d id P i O iAndroid Programming: Overview Originals of Slides and Source Code for Examples: http://www.coreservlets.com/android-tutorial/ Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location. © 2011 Marty Hall For live Android training, please see courses t htt // l t /at http://courses.coreservlets.com/. Taught by the author of Core Servlets and JSP, More Servlets and JSP and this Android tutorial Available atServlets and JSP, and this Android tutorial. Available at public venues, or customized versions can be held on-site at your organization. C d l d d t ht b M t H ll Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location. • Courses developed and taught by Marty Hall – Android development, JSF 2, servlets/JSP, Ajax, jQuery, Java 6 programming, custom mix of topics – Ajax courses can concentrate on 1 library (jQuery, Prototype/Scriptaculous, Ext-JS, Dojo, etc.) or survey several • Courses developed and taught by coreservlets.com experts (edited by Marty) – Spring, Hibernate/JPA, EJB3, GWT, RESTful and SOAP-based Web Services Contact hall@coreservlets.com for details
  • 2. Topics in This Section • Motivation – Web Apps vs. Mobile Apps – iPhone Apps vs. Android Apps Books and references• Books and references 4 © 2011 Marty Hall Web Apps vsWeb Apps vs. Android Apps Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.
  • 3. Advantages of Web Apps • Universal access – Browsers are everywhere – Any device on the network can access contentcan access content • PCs, Macs, Linux, Android, iPhone, Blackberry, etc. A t ti “ d t ”• Automatic “updates” – Content comes from server, so is never out of dateso is never out of date • Well-established tools and methodologiesg – In multiple languages • Java, PHP, .NET, Ruby/Rails, CGI, etc. 6 Disadvantages of Web Apps • Few and weak GUI controls – Textfield, text area, button, checkbox, radio, list box, combo box. That’s it! No direct drawing (except for HTML5 Canvas) • Cannot interact with local resourcesCannot interact with local resources – Cannot read files, call programs, or access devices on the user’s machine • Inefficient communication – HTTP is weak protocol • Hard to write• Hard to write – Requires knowledge of many technologies • Java, HTML, HTTP, CSS, JavaScript, XML • Designed for large displays with mouse – So harder to use on small phone displays with touch screen7
  • 4. Advantages of Mobile Apps • Many GUI controls – Textfield, text area, button, checkbox, radio, list box, combo box, clock, calendar, date picker, dialog box, i llimage gallery, etc. • Comparable to options in desktop programming Supports direct drawing– Supports direct drawing • So animated games ala Angry Birds possible • Can interact with local resourcesCan interact with local resources – Can read files (e.g., contacts list), have local database, access GPS, initiate phone calls, get input from, p , g p microphone, create voice output, read screen orientation, etc.8 Advantages of Mobile Apps (Continued)(Continued) • Efficient communication – Can use any networking protocols you want • Easier (?) to write – Requires knowledge of one language only • Java for Android • Objective C for iPhone • Designed for small displays with touch screen – So, many apps and GUI controls are optimized for this environmentenvironment 9
  • 5. Disadvantages of Mobile Apps • No universal access – Apps must be installed one at a time on each phone – An Android app cannot run on iPhone, Blackberry, PC, Mac or Linux boxMac, or Linux box • Difficult to manage updates – User must intervene to get latest versionsU g • Newer (esp. Android) – So, fewer established tools and methodologies • On the other hand, Android programming is similar to desktop Java programming, and there are plenty of established approaches there 10 © 2011 Marty Hall Android Apps vsAndroid Apps vs. iPhone Apps Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.
  • 6. Installing Apps • Generic apps – iPhone has larger selection – Android trying to catch up In house developed corporate apps• In-house-developed corporate apps – iPhone apps can only be installed via the App Store • iPhone requires you to submit app to the Apple App StoreiPhone requires you to submit app to the Apple App Store and get approval, even for apps from your own company – Unless you jailbreak your phone – Android apps can be installed throughAndroid apps can be installed through • Google App Store • Amazon App Store USB ti f PC• USB connection from PC • Email • Corporate Web site12 Languages for Apps • iPhone – Objective-C • Similar to, but not exactly the same as, C++ • Virtually no corporate presence for Objective-C, other thany p p j for mobile apps • Android Java– Java • The single most widely used language inside corporations – C/C++ C ll ti The real reason Android runs Java • Can call native apps (with some difficulty) via an approach similar to JNI forsimilar to JNI for desktop Java 13 From Randall Munroe and xkcd.com
  • 7. Operating Systems for Developing AppsDeveloping Apps • iPhone – Macs • Android A hi i h J– Anything with Java and Eclipse • Macs • PCs • Linux • Solaris From http://www.hongkiat.com/blog/mac-vs-pc-myth-busting-consumer-guide/ Solaris • Issue – Not so much which is cooler and which you personally prefer, but rather which is already installed in corporate environments.14 Programming Jobs: Android vs iPhoneAndroid vs. iPhone – Caveat: Indeed.com shows rough trends only • Job postings with both words anywhere in posting • Biased by the job sites it samples15
  • 8. Google Search Trends: Android vs iPhone Programmingvs. iPhone Programming C t h l h h t d l– Caveat: search volume shows rough trends only • For example, one of Android or iPhone might have clearer documentation, and require less searching16 Advertising Revenue: Android (53%) vs iPhone (27%)Android (53%) vs. iPhone (27%) – Caveats: advertising does not equate to market volume, biased by who Millennial Media works with 17
  • 9. Market Presence 18 – Caveat: based on survey, not sales data Raw data at http://www.comscore.com/Press_Events/Press_Releases/2011/7/comScore_Reports_May_2011_U.S._Mobile_Subscriber_Market_Share Other Issues • Market presence based on sales data – Blackberry & iPhone used to dominate smart phone market – 2nd quarter 2010 smart phone sales (source: Nielsen) • Blackberry: 33%• Blackberry: 33% • Android: 27% – Caveats: these are sum of all Android devices. And, many Android phones given away for free with carrier subscriptions Also thesephones given away for free with carrier subscriptions. Also, these numbers partially contradict graph on previous slide. • iPhone: 23% Phone features quality of apps and• Phone features, quality of apps, and coolness factors – Matter of opinionMatter of opinion, but iPhone very strong here19 From Randall Munroe and xkcd.com
  • 10. Bottom Line: iPhone vs AndroidiPhone vs. Android • Which to use personally – iPhone has larger market share, bigger app store, and more loyal users – Android more open and growing more rapidly– Android more open and growing more rapidly – Bottom line: no clear winner, personal preferences prevail, but iPhone has edge • Which to use for in-house apps – iPhone apps very hard to install, Android simple iPh Obj i C A d id J– iPhone uses Objective C, Android uses Java – Bottom line: Android is clear winner 20 © 2011 Marty Hall Wrap-Up Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.
  • 11. References • Books (in rough order of preference) – Android Developer’s Cookbook (Steele & To) – Busy Coder’s Guide to Android Development (Murphy) • Online only: http://commonsware com/Android/• Online only: http://commonsware.com/Android/ – Android in Action, 2nd Edition (Ableson, Sen, & King) – Android Application Development for Dummies (Felker) • Online references – http://developer.android.com/ • By far the most important single reference. – Android forum on StackOverflow • http://stackoverflow.com/questions/tagged/androidttp //stac o e o co /quest o s/tagged/a d o d – Android widget gallery • http://www.droiddraw.org/widgetguide.html 22 Summary • Web apps vs. Android apps – Web apps can run on Android, iPhone, Blackberry and regular computers. But, they have weaker GUIs, cannot use local resources (files, databases, GPS, camera), anduse local resources (files, databases, GPS, camera), and are better on big screens – Android apps can local resources, are optimized for small h i h GUI b t t b dscreens, have richer GUIs, but cannot be accessed on other phone types or on regular computers • iPhone vs. AndroidiPhone vs. Android – For personal use, situation is very unclear – For building corporate apps, Android is clear winner 23
  • 12. © 2011 Marty Hall Questions? Customized Java EE Training: http://courses.coreservlets.com/ Servlets, JSP, JSF 2.0, Java 6, Ajax, jQuery, GWT, Spring, Hibernate, RESTful Web Services, Android. Developed and taught by well-known author and developer. At public venues or onsite at your location.