SlideShare a Scribd company logo
1 of 24
Download to read offline
Mobile App
Development
using Android
SDK
Josh Clemm
October 27, 2010
Agenda
● Overview of Android
● Overview of Android App framework
● Application Development walkthrough
● Demos!
What is Android?
● Complete software stack for mobile
devices
● Operating system based
on Linux
● Middleware
● Mobile applications
● Developed by Google
● The Android SDK
● Provides tools and APIs to develop apps in
Java
LINUX KERNEL
LIBRARIES ANDROID RUNTIME
APPLICATION FRAMEWORK
APPLICATIONS
Home Contacts Phone Browser …
Activity
Manager
Window
Manager
Content
Providers
View System
Package
Manager
Telephony
Manager
Resource
Manager
Location
Manager
Notification
Manager
Surface
Manager
Media
Framework
SQLite
OpenGL | ES FreeType WebKit
libcSSLSGL
Core
Libraries
Dalvik Virtual
Machine
Display
Driver
Camera
Driver
Flash Memory
Driver
Binder (IPC)
Driver
Keypad
Driver
Wifi
Driver
Audio
Drivers
Power
Management
Linux Kernel
● Android relies on core Linux 2.6
services
● Security
● Memory management
● Process management
● Network stack
● Driver model
LINUX KERNEL
Display
Driver
Camera
Driver
Flash Memory
Driver
Binder (IPC)
Driver
Keypad
Driver
Wifi
Driver
Audio
Drivers
Power
Management
Android libraries
● C library (Bionic)
● Media libraries
● LibWebCore – web browser engine
● SGL – 2G graphics engine
● 3D libraries – based on OpenGL ES 1.0
● FreeType – bitmap/vector rendering
● SQLite relational database
LIBRARIES
Surface
Manager
Media
Framework
SQLite OpenGL | ES
FreeType WebKit libc SSL
Android Runtime
● Provides most of the
functionality of Java’s libraries
● Apps run in its own process
within its own Dalvik VM
● Optimized for minimal memory
● Register-based vs. stack-based
● JIT compilation
ANDROID RUNTIME
Core
Libraries
Dalvik Virtual
Machine
Java Source
Code
Java Byte Code
Dalvik Byte
Code
Dalvik
Executable
Dalvik VM
APPLICATION FRAMEWORK
Application Framework
● Open/consistent development platform
● Activity Manager controls lifecycle of app
● Access location information
● Run background services, add
notifications to the status bar, and more…
Activity
Manager
Window
Manager
Content
Providers
View System
Package
Manager
Telephony
Manager
Resource
Manager
Location
Manager
Notification
Manager
Android Applications
● Let’s walkthrough…
● Installing what you need
● Writing your app
● Layouts, Logic, and Images
● Testing and debugging with
emulator/device
● Publishing to App Market
Android Applications
● How to get started
● Install Java 5 or 6
● Download Android SDK
● (Optional) Install Eclipse IDE
● (Optional) Install Android Eclipse Plugin (ADT)
● The ADT plugin can manage installs of various
Android versions.
● It’s easy to get the latest releases
App Development
● Come up with an idea
● Determine the layout of the screens
● Code logic
● Customize look and feel
App Development - Layouts
App Development - Logic
● An activity can represent one screen
● There’s an activity lifecycle: onCreate(),
onStart(), onResume(), onPause(), onStop(),
onDestroy()
● An activity can have multiple views
● Tabs, lists, a map
App Development – running
● Use built-in
emulator
● Mimic any target
device
● Slow and can’t do
everything
● Run on Device
● Fast, debuggable
Demos
● Cool things like
● Embedded map views
● Embedded web views
● Using location
● Using accelerometer
Questions?
Resources
● http://www.openhandsetalliance.
com/android_overview.html
● http://developer.android.
com/guide/basics/what-is-android.html
● http://en.wikipedia.
org/wiki/Android_%
28operating_system%29
● Myself
Backup Slides
Publishing and beyond
● Before publishing remember…
● Create an icon
● Be able to support multiple screen sizes
● Be able to support multiple OS versions
● You might want to support multiple
languages
Publishing and beyond
● Sign your apps
● Add your App to Android Market
● Also possible to use third-party app
markets
● Register as an Android developer ($25)
● Upload and watch the downloads fly!
Security And Permissions
● No App has permission to do anything
that would impact another app
● Apps run in its own process
● It’s a secure sandbox
● Permissions required are declared
before a user installs the app
Filesystem and Database
● Each app has its own unique file system
on the phone’s internal memory
● App preferences, databases, flat files
reside there
● The SD card is a better resource for
storing larger files (like for a game)
Android Resources
/res folder R.java
Android package
Your code
ADT generates
Reference
Constants
Runtime
App Components
● Reusable components
● Views – GUI widgets like lists, grids, text
boxes, embedded web browser
● Content providers – access data from other
apps (Contacts)
● Resource manager – access to non-code
resources (graphics, layouts, strings)
● Activity manager – lifecycle of apps

More Related Content

Similar to Mobile app development using Android SDK

Android workshop material
Android workshop materialAndroid workshop material
Android workshop materialReza Yogaswara
 
Begining Android Development
Begining Android DevelopmentBegining Android Development
Begining Android DevelopmentHayi Nukman
 
Android Developing Overview
Android Developing OverviewAndroid Developing Overview
Android Developing OverviewAbdallah Abuouf
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpointJohnLagman3
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting StartAnuchit Chalothorn
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentSanskar Saraf
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentSanskar Saraf
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_authlzongren
 
Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application FrameworkYong Heui Cho
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneursRodrigo Gil
 

Similar to Mobile app development using Android SDK (20)

Android workshop material
Android workshop materialAndroid workshop material
Android workshop material
 
Begining Android Development
Begining Android DevelopmentBegining Android Development
Begining Android Development
 
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using AndroidAndroid : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
 
Android Developing Overview
Android Developing OverviewAndroid Developing Overview
Android Developing Overview
 
Embedded Android : System Development - Part I
Embedded Android : System Development - Part IEmbedded Android : System Development - Part I
Embedded Android : System Development - Part I
 
Android
AndroidAndroid
Android
 
Android report.
Android report.Android report.
Android report.
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Mobile Application Development powerpoint
Mobile Application Development powerpointMobile Application Development powerpoint
Mobile Application Development powerpoint
 
Andoid Basics
Andoid BasicsAndoid Basics
Andoid Basics
 
Android App Development 01 : Getting Start
Android App Development 01 : Getting StartAndroid App Development 01 : Getting Start
Android App Development 01 : Getting Start
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android development
 
An introduction on Android OS, its working and android development
An introduction on Android OS, its working and android developmentAn introduction on Android OS, its working and android development
An introduction on Android OS, its working and android development
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
Android dev o_auth
Android dev o_authAndroid dev o_auth
Android dev o_auth
 
android
androidandroid
android
 
Android - Application Framework
Android - Application FrameworkAndroid - Application Framework
Android - Application Framework
 
Android based os
Android based osAndroid based os
Android based os
 
Programming for non tech entrepreneurs
Programming for non tech entrepreneursProgramming for non tech entrepreneurs
Programming for non tech entrepreneurs
 
01 03 - introduction to android
01  03 - introduction to android01  03 - introduction to android
01 03 - introduction to android
 

Recently uploaded

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Recently uploaded (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

Mobile app development using Android SDK

  • 2. Agenda ● Overview of Android ● Overview of Android App framework ● Application Development walkthrough ● Demos!
  • 3. What is Android? ● Complete software stack for mobile devices ● Operating system based on Linux ● Middleware ● Mobile applications ● Developed by Google ● The Android SDK ● Provides tools and APIs to develop apps in Java
  • 4. LINUX KERNEL LIBRARIES ANDROID RUNTIME APPLICATION FRAMEWORK APPLICATIONS Home Contacts Phone Browser … Activity Manager Window Manager Content Providers View System Package Manager Telephony Manager Resource Manager Location Manager Notification Manager Surface Manager Media Framework SQLite OpenGL | ES FreeType WebKit libcSSLSGL Core Libraries Dalvik Virtual Machine Display Driver Camera Driver Flash Memory Driver Binder (IPC) Driver Keypad Driver Wifi Driver Audio Drivers Power Management
  • 5. Linux Kernel ● Android relies on core Linux 2.6 services ● Security ● Memory management ● Process management ● Network stack ● Driver model LINUX KERNEL Display Driver Camera Driver Flash Memory Driver Binder (IPC) Driver Keypad Driver Wifi Driver Audio Drivers Power Management
  • 6. Android libraries ● C library (Bionic) ● Media libraries ● LibWebCore – web browser engine ● SGL – 2G graphics engine ● 3D libraries – based on OpenGL ES 1.0 ● FreeType – bitmap/vector rendering ● SQLite relational database LIBRARIES Surface Manager Media Framework SQLite OpenGL | ES FreeType WebKit libc SSL
  • 7. Android Runtime ● Provides most of the functionality of Java’s libraries ● Apps run in its own process within its own Dalvik VM ● Optimized for minimal memory ● Register-based vs. stack-based ● JIT compilation ANDROID RUNTIME Core Libraries Dalvik Virtual Machine Java Source Code Java Byte Code Dalvik Byte Code Dalvik Executable Dalvik VM
  • 8. APPLICATION FRAMEWORK Application Framework ● Open/consistent development platform ● Activity Manager controls lifecycle of app ● Access location information ● Run background services, add notifications to the status bar, and more… Activity Manager Window Manager Content Providers View System Package Manager Telephony Manager Resource Manager Location Manager Notification Manager
  • 9. Android Applications ● Let’s walkthrough… ● Installing what you need ● Writing your app ● Layouts, Logic, and Images ● Testing and debugging with emulator/device ● Publishing to App Market
  • 10. Android Applications ● How to get started ● Install Java 5 or 6 ● Download Android SDK ● (Optional) Install Eclipse IDE ● (Optional) Install Android Eclipse Plugin (ADT) ● The ADT plugin can manage installs of various Android versions. ● It’s easy to get the latest releases
  • 11. App Development ● Come up with an idea ● Determine the layout of the screens ● Code logic ● Customize look and feel
  • 12. App Development - Layouts
  • 13. App Development - Logic ● An activity can represent one screen ● There’s an activity lifecycle: onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy() ● An activity can have multiple views ● Tabs, lists, a map
  • 14. App Development – running ● Use built-in emulator ● Mimic any target device ● Slow and can’t do everything ● Run on Device ● Fast, debuggable
  • 15. Demos ● Cool things like ● Embedded map views ● Embedded web views ● Using location ● Using accelerometer
  • 19. Publishing and beyond ● Before publishing remember… ● Create an icon ● Be able to support multiple screen sizes ● Be able to support multiple OS versions ● You might want to support multiple languages
  • 20. Publishing and beyond ● Sign your apps ● Add your App to Android Market ● Also possible to use third-party app markets ● Register as an Android developer ($25) ● Upload and watch the downloads fly!
  • 21. Security And Permissions ● No App has permission to do anything that would impact another app ● Apps run in its own process ● It’s a secure sandbox ● Permissions required are declared before a user installs the app
  • 22. Filesystem and Database ● Each app has its own unique file system on the phone’s internal memory ● App preferences, databases, flat files reside there ● The SD card is a better resource for storing larger files (like for a game)
  • 23. Android Resources /res folder R.java Android package Your code ADT generates Reference Constants Runtime
  • 24. App Components ● Reusable components ● Views – GUI widgets like lists, grids, text boxes, embedded web browser ● Content providers – access data from other apps (Contacts) ● Resource manager – access to non-code resources (graphics, layouts, strings) ● Activity manager – lifecycle of apps