SlideShare una empresa de Scribd logo
1 de 18
Android Development
Prerequisites
• Computer (Linux/Mac/Windows)
• Java Development Kit (JDK)
• Familiarity with Object Oriented Programming (OOP), ideally Java
• Familiarity with HTML, XML, Javascript, css
• Time and Patience
About Android
• World’s most popular mobile platform.
• Hundreds of millions of mobile devices in use.
• Rapidly growing in emerging markets (nearly 1M per day).
• 1.5M App and Game downloads from Google Play each month. (and
more from other stores/repositories)
• 975,000+ apps (as of 8/13/13)
• Part of Open Handset Alliance (Mobile Industry is invested in Android)
More than you need to know about
Android Architecture
Developer Benefits
• Open source (Apache 2 License) - you have full access to the platform
as a developer, device manufacturer, or accessory manufacturer.
• Kernel based on Linux
• Full Java IDE
• Virtual Device Simulator
• Extensive Documentation
• Open Marketplace (unlike iTunes)
• All apps are treated equally (the ones you write and the ones Google
creates)
Android 4.3 – Jelly Bean
• Bluetooth Smart Ready, Bluetooth AVRCP 1.3
• Restricted Profiles for multi-user devices
• Hardware geofencing
• Wi-Fi scan-only mode
• Game rotation vector
• VP8 Encoder
• Notification Listener
• Built-in Private Keystore
• Systrace logging for performance information
Development Tool Options
• Android Studio
• Android Developer Tools (ADT)
• Android Software Development Kit (SDK)
• Android Native Development Kit (NDK)
• Your Existing IDE
Android Studio
• Announced at I/O13
• Based on IntelliJ Idea (www.jetbrains.com)
• Gradle-based build system (www.gradle.org)
• Works on Mac, Linux, Windows
• Requires installation of JDK
• Available in “Early Access Preview”… still buggy
Differences in Studio
• Project structure stores most files in src directory
• Drag-and-Drop Layout designer
Native Apps
• Native apps
• Written in Java and interact directly with Android for all UI and Logic.
• Full access to everything Android.
• Better speed, memory, rendering, etc.
Hybrid Apps
• Hybrid apps
• Written with HTML5, CSS, and Javascript for UI and Logic but are wrapped in a
small Java container to interact with Android.
• Smaller learning curve (for most people).
• Leverage many existing js libraries.
• Look and feel wont necessarily be exact same as a Native app.
• Easily migrated to other Mobile platforms.
• Lose out on access to some Android features.
What is an App
• Every app runs in its own process with its own instance of the vm.
• Your app can consist of:
• Activities
• Intents
• BroadcastReceivers
• Services
• ContentProviders
Activities
• Each Activity (typically) corresponds to a screen in your app
• Stores the logic for your app
• Only one Activity is active at a time in your app
• Written in Java
• Initial Activity is specified in the Manifest
• Your app can have multiple Activities
• Your app’s activity is typically only live while the user is on viewing
your app.
Intents
• An intent is request by an App to Android to get an app to do something.
• Android then determines the best App for the job or presents the user with
a list of available Apps.
• This allows you to leverage existing apps to do common tasks (eg Take a
picture) instead of writing your own code to do it.
• Intents include an action that needs to occur and the data it should occur
on.
• Explicit intent - You specify what needs to be done and by what class.
• Implicit intent – You specify what needs to be done and what to do when
it’s over and let the system/user determine what app they want to use.
Standard Intents
• ACTION_MAIN
• ACTION_VIEW
• ACTION_ATTACH_DATA
• ACTION_EDIT
• ACTION_PICK
• ACTION_CHOOSER
• ACTION_GET_CONTENT
• ACTION_DIAL
• ACTION_CALL
• ACTION_SEND
• ACTION_SENDtO
• ACTION_ANSWER
• ACTION_INSERT
• ACTION_DELETE
• ACTION_RUN
• ACTION_SYNC
• ACTION_PICK_ACTIVITY
• ACTION_SEARCH
• ACTION_WEB_SEARCH
• ACTION_FACTORY_TEST
http://developer.android.com/reference/android/content/Intent.html
BroadcastReceivers
• Act like listeners that can respond to an Intent that is broadcasted by
an application.
• Allows your App to takeover from another app. (Open With).
• Typically Declared in your Manifest.
Services
• Used for longer-running operations
• Can run in the background when you app is not being used
Further Reference
• http://developer.android.com
• http://www.i-programmer.info/programming/android/5887-android-
adventures-getting-started-with-android-studio.html

Más contenido relacionado

La actualidad más candente

Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Damien Dallimore
 
Five android architecture
Five android architectureFive android architecture
Five android architectureTomislav Homan
 
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012Jagadish Prasath
 
Android training in Noida
Android training in NoidaAndroid training in Noida
Android training in NoidaSeoClass
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android ApplicationNandini Prabhu
 
Android application development
Android application developmentAndroid application development
Android application developmentslidesuren
 
Android Development
Android DevelopmentAndroid Development
Android Developmentmclougm4
 
Android application development workshop day1
Android application development workshop   day1Android application development workshop   day1
Android application development workshop day1Borhan Otour
 
Design Patterns in iOS
Design Patterns in iOSDesign Patterns in iOS
Design Patterns in iOSYi-Shou Chen
 
Building software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard ThulinBuilding software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard ThulinRikard Thulin
 
Mobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & TestingMobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & TestingSoftware Guru
 
Java EE revisits design patterns
Java EE revisits design patterns Java EE revisits design patterns
Java EE revisits design patterns Alex Theedom
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Arun Gupta
 
Android Architecture Components
Android Architecture ComponentsAndroid Architecture Components
Android Architecture ComponentsDarshan Parikh
 
Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmComsysto Reply GmbH
 

La actualidad más candente (19)

Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 
Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)Splunking the JVM (Java Virtual Machine)
Splunking the JVM (Java Virtual Machine)
 
Five android architecture
Five android architectureFive android architecture
Five android architecture
 
SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
 
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
EJB 3.2 - Java EE 7 - Java One Hyderabad 2012
 
iOS Design Patterns
iOS Design PatternsiOS Design Patterns
iOS Design Patterns
 
Android training in Noida
Android training in NoidaAndroid training in Noida
Android training in Noida
 
Developing for Android-Types of Android Application
Developing for Android-Types of Android ApplicationDeveloping for Android-Types of Android Application
Developing for Android-Types of Android Application
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android Development
Android DevelopmentAndroid Development
Android Development
 
Android application development workshop day1
Android application development workshop   day1Android application development workshop   day1
Android application development workshop day1
 
Design Patterns in iOS
Design Patterns in iOSDesign Patterns in iOS
Design Patterns in iOS
 
Building software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard ThulinBuilding software using Rich Clients Platforms Rikard Thulin
Building software using Rich Clients Platforms Rikard Thulin
 
Mobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & TestingMobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & Testing
 
Java EE revisits design patterns
Java EE revisits design patterns Java EE revisits design patterns
Java EE revisits design patterns
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014
 
Android Architecture Components
Android Architecture ComponentsAndroid Architecture Components
Android Architecture Components
 
Writing Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly SwarmWriting Java EE microservices using WildFly Swarm
Writing Java EE microservices using WildFly Swarm
 

Similar a Android development

Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android DevelopmentCan Elmas
 
Android Mobile App Development basics PPT
Android Mobile App Development basics PPTAndroid Mobile App Development basics PPT
Android Mobile App Development basics PPTnithya697634
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1NAILBITER
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidJawad Mohmand
 
Android app development
Android app developmentAndroid app development
Android app developmentTechizzaa
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbaifaizrashid1995
 
Android Application Development GDSC DCE Darbhanga.pptx
Android Application Development GDSC DCE Darbhanga.pptxAndroid Application Development GDSC DCE Darbhanga.pptx
Android Application Development GDSC DCE Darbhanga.pptxDCETechnicalClub
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA NITIN GUPTA
 
Android application development
Android application developmentAndroid application development
Android application developmentDewan Razib
 
Android Application Development.pdf
Android Application Development.pdfAndroid Application Development.pdf
Android Application Development.pdfMohammedMuzammil99
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.pptSumanKumarDey5
 
Android Application Development (2).ppt
Android Application Development (2).pptAndroid Application Development (2).ppt
Android Application Development (2).pptRKRahulKhatri
 

Similar a Android development (20)

Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android development first steps
Android development   first stepsAndroid development   first steps
Android development first steps
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
 
Android Mobile App Development basics PPT
Android Mobile App Development basics PPTAndroid Mobile App Development basics PPT
Android Mobile App Development basics PPT
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android app development
Android app developmentAndroid app development
Android app development
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
 
Google android os
Google android osGoogle android os
Google android os
 
Android Application Development GDSC DCE Darbhanga.pptx
Android Application Development GDSC DCE Darbhanga.pptxAndroid Application Development GDSC DCE Darbhanga.pptx
Android Application Development GDSC DCE Darbhanga.pptx
 
Android app devolopment
Android app devolopmentAndroid app devolopment
Android app devolopment
 
Presentation1
Presentation1Presentation1
Presentation1
 
Android class provider in mumbai
Android class provider in mumbaiAndroid class provider in mumbai
Android class provider in mumbai
 
Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA Android Application Development Training by NITIN GUPTA
Android Application Development Training by NITIN GUPTA
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android Application Development.pdf
Android Application Development.pdfAndroid Application Development.pdf
Android Application Development.pdf
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android Application Development (2).ppt
Android Application Development (2).pptAndroid Application Development (2).ppt
Android Application Development (2).ppt
 

Último

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 

Último (20)

Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

Android development

  • 2. Prerequisites • Computer (Linux/Mac/Windows) • Java Development Kit (JDK) • Familiarity with Object Oriented Programming (OOP), ideally Java • Familiarity with HTML, XML, Javascript, css • Time and Patience
  • 3. About Android • World’s most popular mobile platform. • Hundreds of millions of mobile devices in use. • Rapidly growing in emerging markets (nearly 1M per day). • 1.5M App and Game downloads from Google Play each month. (and more from other stores/repositories) • 975,000+ apps (as of 8/13/13) • Part of Open Handset Alliance (Mobile Industry is invested in Android)
  • 4. More than you need to know about Android Architecture
  • 5. Developer Benefits • Open source (Apache 2 License) - you have full access to the platform as a developer, device manufacturer, or accessory manufacturer. • Kernel based on Linux • Full Java IDE • Virtual Device Simulator • Extensive Documentation • Open Marketplace (unlike iTunes) • All apps are treated equally (the ones you write and the ones Google creates)
  • 6. Android 4.3 – Jelly Bean • Bluetooth Smart Ready, Bluetooth AVRCP 1.3 • Restricted Profiles for multi-user devices • Hardware geofencing • Wi-Fi scan-only mode • Game rotation vector • VP8 Encoder • Notification Listener • Built-in Private Keystore • Systrace logging for performance information
  • 7. Development Tool Options • Android Studio • Android Developer Tools (ADT) • Android Software Development Kit (SDK) • Android Native Development Kit (NDK) • Your Existing IDE
  • 8. Android Studio • Announced at I/O13 • Based on IntelliJ Idea (www.jetbrains.com) • Gradle-based build system (www.gradle.org) • Works on Mac, Linux, Windows • Requires installation of JDK • Available in “Early Access Preview”… still buggy
  • 9. Differences in Studio • Project structure stores most files in src directory • Drag-and-Drop Layout designer
  • 10. Native Apps • Native apps • Written in Java and interact directly with Android for all UI and Logic. • Full access to everything Android. • Better speed, memory, rendering, etc.
  • 11. Hybrid Apps • Hybrid apps • Written with HTML5, CSS, and Javascript for UI and Logic but are wrapped in a small Java container to interact with Android. • Smaller learning curve (for most people). • Leverage many existing js libraries. • Look and feel wont necessarily be exact same as a Native app. • Easily migrated to other Mobile platforms. • Lose out on access to some Android features.
  • 12. What is an App • Every app runs in its own process with its own instance of the vm. • Your app can consist of: • Activities • Intents • BroadcastReceivers • Services • ContentProviders
  • 13. Activities • Each Activity (typically) corresponds to a screen in your app • Stores the logic for your app • Only one Activity is active at a time in your app • Written in Java • Initial Activity is specified in the Manifest • Your app can have multiple Activities • Your app’s activity is typically only live while the user is on viewing your app.
  • 14. Intents • An intent is request by an App to Android to get an app to do something. • Android then determines the best App for the job or presents the user with a list of available Apps. • This allows you to leverage existing apps to do common tasks (eg Take a picture) instead of writing your own code to do it. • Intents include an action that needs to occur and the data it should occur on. • Explicit intent - You specify what needs to be done and by what class. • Implicit intent – You specify what needs to be done and what to do when it’s over and let the system/user determine what app they want to use.
  • 15. Standard Intents • ACTION_MAIN • ACTION_VIEW • ACTION_ATTACH_DATA • ACTION_EDIT • ACTION_PICK • ACTION_CHOOSER • ACTION_GET_CONTENT • ACTION_DIAL • ACTION_CALL • ACTION_SEND • ACTION_SENDtO • ACTION_ANSWER • ACTION_INSERT • ACTION_DELETE • ACTION_RUN • ACTION_SYNC • ACTION_PICK_ACTIVITY • ACTION_SEARCH • ACTION_WEB_SEARCH • ACTION_FACTORY_TEST http://developer.android.com/reference/android/content/Intent.html
  • 16. BroadcastReceivers • Act like listeners that can respond to an Intent that is broadcasted by an application. • Allows your App to takeover from another app. (Open With). • Typically Declared in your Manifest.
  • 17. Services • Used for longer-running operations • Can run in the background when you app is not being used
  • 18. Further Reference • http://developer.android.com • http://www.i-programmer.info/programming/android/5887-android- adventures-getting-started-with-android-studio.html