SlideShare a Scribd company logo
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

More Related Content

What's hot

Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
Bhavya Siddappa
 
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 architecture
Tomislav Homan
 
SeaJUG 5 15-2018
SeaJUG 5 15-2018SeaJUG 5 15-2018
SeaJUG 5 15-2018
Will Iverson
 
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
Jagadish Prasath
 
iOS Design Patterns
iOS Design PatternsiOS Design Patterns
iOS Design Patterns
Andreas Blick
 
Android training in Noida
Android training in NoidaAndroid training in Noida
Android training in Noida
SeoClass
 
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
Nandini Prabhu
 
Android application development
Android application developmentAndroid application development
Android application development
slidesuren
 
Android Development
Android DevelopmentAndroid Development
Android Development
mclougm4
 
Android application development workshop day1
Android application development workshop   day1Android application development workshop   day1
Android application development workshop day1
Borhan Otour
 
Design Patterns in iOS
Design Patterns in iOSDesign Patterns in iOS
Design Patterns in iOS
Yi-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 Thulin
Rikard Thulin
 
Mobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & TestingMobile Day - Intel XDK & Testing
Mobile Day - Intel XDK & Testing
Software 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_auth
lzongren
 
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
Arun Gupta
 
Android Architecture Components
Android Architecture ComponentsAndroid Architecture Components
Android Architecture Components
Darshan 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 Swarm
Comsysto Reply GmbH
 

What's hot (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 to Android development

Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Can Elmas
 
Android development first steps
Android development   first stepsAndroid development   first steps
Android development first steps
christoforosnalmpantis
 
Intro to android (gdays)
Intro to android (gdays)Intro to android (gdays)
Intro to android (gdays)
Omolara Adejuwon
 
Android Mobile App Development basics PPT
Android Mobile App Development basics PPTAndroid Mobile App Development basics PPT
Android Mobile App Development basics PPT
nithya697634
 
Android Workshop Part 1
Android Workshop Part 1Android Workshop Part 1
Android Workshop Part 1
NAILBITER
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
Jawad Mohmand
 
Android app development
Android app developmentAndroid app development
Android app development
Techizzaa
 
android development training in mumbai
android development training in mumbaiandroid development training in mumbai
android development training in mumbai
faizrashid1995
 
Google android os
Google android osGoogle android os
Google android os
Kirti Choudhary
 
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
DCETechnicalClub
 
Android app devolopment
Android app devolopmentAndroid app devolopment
Android app devolopment
SitCom Solutions
 
Presentation1
Presentation1Presentation1
Android class provider in mumbai
Android class provider in mumbaiAndroid class provider in mumbai
Android class provider in mumbai
Vibrant Technologies & Computers
 
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 Programming
Android ProgrammingAndroid Programming
Android Programming
Pasi Manninen
 
Android application development
Android application developmentAndroid application development
Android application development
Dewan Razib
 
Android Application Development.pdf
Android Application Development.pdfAndroid Application Development.pdf
Android Application Development.pdf
MohammedMuzammil99
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
SenthilKumar Selvaraj
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
SumanKumarDey5
 
Android Application Development (2).ppt
Android Application Development (2).pptAndroid Application Development (2).ppt
Android Application Development (2).ppt
RKRahulKhatri
 

Similar to 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
 

Recently uploaded

Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Pitangent Analytics & Technology Solutions Pvt. Ltd
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
AstuteBusiness
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
Vadym Kazulkin
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
Fwdays
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
Fwdays
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
c5vrf27qcz
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
LizaNolte
 

Recently uploaded (20)

Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
Crafting Excellence: A Comprehensive Guide to iOS Mobile App Development Serv...
 
Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |Astute Business Solutions | Oracle Cloud Partner |
Astute Business Solutions | Oracle Cloud Partner |
 
High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024High performance Serverless Java on AWS- GoTo Amsterdam 2024
High performance Serverless Java on AWS- GoTo Amsterdam 2024
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk"Frontline Battles with DDoS: Best practices and Lessons Learned",  Igor Ivaniuk
"Frontline Battles with DDoS: Best practices and Lessons Learned", Igor Ivaniuk
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin..."$10 thousand per minute of downtime: architecture, queues, streaming and fin...
"$10 thousand per minute of downtime: architecture, queues, streaming and fin...
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Y-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PPY-Combinator seed pitch deck template PP
Y-Combinator seed pitch deck template PP
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham HillinQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
inQuba Webinar Mastering Customer Journey Management with Dr Graham Hill
 

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