SlideShare a Scribd company logo
ECS 152B
• Yichuan Wang

• yicwang@ucdavis.edu

• Possible project: p2p+android+voip+soft
  handoff
Java
• Basic Java programming
  – Exceptions
  – Inner Class, Interface
• Advanced topics we will touch:
  – Java IO
  – Java Thread
  – Java Socket
• pages.cs.wisc.edu/~hasti/cs368/JavaTutor
  ial/
Android Basics

Credit goes to Google and
          UMBC
Agenda
•   Mobile Application Development (MAD)
•   Intro to Android platform
•   Platform architecture
•   Application building blocks
•   Development tools
•   Hello Android
Few reasons to go MAD…

• Smart Phones
  – Internet access anywhere
  – Social networking
• Millions of mobile users
• Open standards
Introduction to Android
• Open software platform for mobile
  development
• A complete stack – OS, Middleware,
  Applications
• An Open Handset Alliance (OHA) project
• Powered by Linux operating system
• Fast application development in Java
• Open source under the Apache 2 license
Introduction to android
Linux Kernel
•   Works as a HAL
•   Device drivers
•   Memory management
•   Process management
•   Networking
Libraries
•   C/C++ libraries
•   Interface through Java
•   Surface manager – Handling UI Windows
•   2D and 3D graphics
•   Media codecs, SQLite, Browser engine
Android Runtime
• Dalvik VM
  – Dex files
  – Compact and efficient than class files
  – Limited memory and battery power
• Core Libraries
  – Java 5 Std edition
  – Collections, I/O etc…
Application Framework



• API interface
• Activity manager – manages application
  life cycle.
Applications


• Built in and user apps
• Can replace built in apps
Agenda
•   Mobile Application Development (MAD)
•   Intro to Android platform
•   Platform architecture
•   Application building blocks
•   Development tools
•   Hello Android
Application Building Blocks
•   Activity
•   IntentReceiver
•   Service
•   ContentProvider
Activities
• Typically correspond to one UI screen
• But, they can:
  – Be faceless
  – Be in a floating window
  – Return a value
IntentReceivers
• Components that respond to broadcast
  ‘Intents’
• Way to respond to external notification or
  alarms
• Apps can invent and broadcast their own
  Intent
Intents
• Think of Intents as a verb and object; a
  description of what you want done
  – E.g. VIEW, CALL, PLAY etc..
• System matches Intent with Activity that
  can best provide the service
• Activities and IntentReceivers describe
  what Intents they can service
Intents
 Home

                                      Picasa
                                       Photo
                                      Gallery
Contacts

           “Pick photo”
 GMail

                 Client component makes a
                  System picks best
 Chat
                 request for a specific use
                  New components can
                  component for that action
                 action functionality
                  existing
Blogger
Blogger
Services
• Faceless components that run in the
  background
  – E.g. music player, network download etc…
ContentProviders
• Enables sharing of data across
  applications
  – E.g. address book, photo gallery
• Provides uniform APIs for:
  – querying
  – delete, update and insert.
• Content is represented by URI and MIME
  type
Agenda
•   Mobile Application Development (MAD)
•   Intro to Android platform
•   Platform architecture
•   Application building blocks
•   Development tools
•   Hello Android
Development Tools

• Eclipse

• Android SDK 1.0-2.0
  developer.android.com
The Emulator

 • QEMU-based ARM emulator
 • Runs the same image as the
   device

 • Limitations:
   – No Camera support
Devices
Hello World
• http://developer.android.com/guide/tutorial
  s/hello-world.html
• Generating UIs
  – Views – building blocks
  – E.g. TextView, EditText, Button
  – Placed into Layouts
  – E.g. LinearLayout, TableLayout,
    AbsoluteLayout
Application Lifecycle
• Application run in their own processes
  (VM, PID)
• Processes are started and stopped as
  needed to run an application's
  components
• Processes may be killed to reclaim
  resources
Introduction to android
Lifecycle
• System    • Home   • Mail   • Browser
  Process

  Home

                     • Map
 Contacts



  GMail
Location Manager
XMPP Services
• Allows any app to send device-to-device
  messages to other android users
• Data Messages are Intents with
  name/value pairs
• Works with any gmail account…
• Can also build servers to deliver server-to-
  device messages
Notification Manager
Notification Manager
• How background app interact with users

• Consistent notification presentation
Views
Views
Location Manager

More Related Content

PPT
Android app development
PPT
Android application development
PPT
Android application development
PPT
Synapse india reviews on android application
PPT
Android application development
PPTX
Bluestacks ANDROID
PPTX
Introduction to Android
PDF
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...
Android app development
Android application development
Android application development
Synapse india reviews on android application
Android application development
Bluestacks ANDROID
Introduction to Android
AMIS UX Event 2014: Mobile ADF; From Design To Device; The Tools that make it...

What's hot (20)

PPT
Android Training - Part 2
PPT
Google android os
PPT
Getting started
PPT
Android General information
PPT
Google android os
PPT
Ipsa cool maps 5
PPSX
Android Introduction
PPTX
Android enterprise application development
PPTX
Cross-Platform Mobile Development - Technical Stuff
PPTX
android
PPTX
Android workshop
PPT
Mutlimedia authoring tools
ODP
Synapse india reviews on asp.net mobile application
PPTX
authoring tools 2015
PPTX
UXT Chicago - Designing Mobile Apps for Enterprise Use
PPTX
PDF
PDF
C maksymchuk android
PPT
Multimedia authoring tools and User interface design
PDF
Unified logging on iOS
Android Training - Part 2
Google android os
Getting started
Android General information
Google android os
Ipsa cool maps 5
Android Introduction
Android enterprise application development
Cross-Platform Mobile Development - Technical Stuff
android
Android workshop
Mutlimedia authoring tools
Synapse india reviews on asp.net mobile application
authoring tools 2015
UXT Chicago - Designing Mobile Apps for Enterprise Use
C maksymchuk android
Multimedia authoring tools and User interface design
Unified logging on iOS
Ad

Viewers also liked (8)

PPTX
Gr 2 current focus on is use
PPTX
Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014
DOC
Archivo primer bimestre
PPTX
Envoi de colis en estonie
PDF
Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.
PPTX
Primeros Auxilios
PDF
Trabajo I Epidemiology Genétic PhD versión XIII
Gr 2 current focus on is use
Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014
Archivo primer bimestre
Envoi de colis en estonie
Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.
Primeros Auxilios
Trabajo I Epidemiology Genétic PhD versión XIII
Ad

Similar to Introduction to android (20)

PPTX
Android Application Development GDSC DCE Darbhanga.pptx
PPT
265.ppt
PDF
Android Application Development.pdf
PPT
Android Application Development (2).ppt
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android Application Development.ppt
PPT
Android application development
PPT
Synapseindia android apps application development
PPT
Android Training
PPTX
Android Application Development PPT.pptx
PPTX
Android Application Development (1).pptx
PPTX
Android quick talk
PPT
Lecture 1 Android Application Development.ppt
PPT
Introduction to Android Development
PPT
My androidpresentation
PDF
Android application development
Android Application Development GDSC DCE Darbhanga.pptx
265.ppt
Android Application Development.pdf
Android Application Development (2).ppt
Android Application Development.ppt
Android Application Development.ppt
Android Application Development.ppt
Android Application Development.ppt
Android Application Development.ppt
Android Application Development.ppt
Android application development
Synapseindia android apps application development
Android Training
Android Application Development PPT.pptx
Android Application Development (1).pptx
Android quick talk
Lecture 1 Android Application Development.ppt
Introduction to Android Development
My androidpresentation
Android application development

Recently uploaded (20)

PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
A Presentation on Artificial Intelligence
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PPTX
Machine Learning_overview_presentation.pptx
PPT
Teaching material agriculture food technology
PDF
Spectral efficient network and resource selection model in 5G networks
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PPTX
cloud_computing_Infrastucture_as_cloud_p
PPTX
Tartificialntelligence_presentation.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
August Patch Tuesday
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
Encapsulation_ Review paper, used for researhc scholars
A Presentation on Artificial Intelligence
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Group 1 Presentation -Planning and Decision Making .pptx
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Machine Learning_overview_presentation.pptx
Teaching material agriculture food technology
Spectral efficient network and resource selection model in 5G networks
TLE Review Electricity (Electricity).pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
MIND Revenue Release Quarter 2 2025 Press Release
cloud_computing_Infrastucture_as_cloud_p
Tartificialntelligence_presentation.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
A comparative study of natural language inference in Swahili using monolingua...
August Patch Tuesday
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Empathic Computing: Creating Shared Understanding
Assigned Numbers - 2025 - Bluetooth® Document
Per capita expenditure prediction using model stacking based on satellite ima...

Introduction to android

  • 1. ECS 152B • Yichuan Wang • [email protected] • Possible project: p2p+android+voip+soft handoff
  • 2. Java • Basic Java programming – Exceptions – Inner Class, Interface • Advanced topics we will touch: – Java IO – Java Thread – Java Socket • pages.cs.wisc.edu/~hasti/cs368/JavaTutor ial/
  • 3. Android Basics Credit goes to Google and UMBC
  • 4. Agenda • Mobile Application Development (MAD) • Intro to Android platform • Platform architecture • Application building blocks • Development tools • Hello Android
  • 5. Few reasons to go MAD… • Smart Phones – Internet access anywhere – Social networking • Millions of mobile users • Open standards
  • 6. Introduction to Android • Open software platform for mobile development • A complete stack – OS, Middleware, Applications • An Open Handset Alliance (OHA) project • Powered by Linux operating system • Fast application development in Java • Open source under the Apache 2 license
  • 8. Linux Kernel • Works as a HAL • Device drivers • Memory management • Process management • Networking
  • 9. Libraries • C/C++ libraries • Interface through Java • Surface manager – Handling UI Windows • 2D and 3D graphics • Media codecs, SQLite, Browser engine
  • 10. Android Runtime • Dalvik VM – Dex files – Compact and efficient than class files – Limited memory and battery power • Core Libraries – Java 5 Std edition – Collections, I/O etc…
  • 11. Application Framework • API interface • Activity manager – manages application life cycle.
  • 12. Applications • Built in and user apps • Can replace built in apps
  • 13. Agenda • Mobile Application Development (MAD) • Intro to Android platform • Platform architecture • Application building blocks • Development tools • Hello Android
  • 14. Application Building Blocks • Activity • IntentReceiver • Service • ContentProvider
  • 15. Activities • Typically correspond to one UI screen • But, they can: – Be faceless – Be in a floating window – Return a value
  • 16. IntentReceivers • Components that respond to broadcast ‘Intents’ • Way to respond to external notification or alarms • Apps can invent and broadcast their own Intent
  • 17. Intents • Think of Intents as a verb and object; a description of what you want done – E.g. VIEW, CALL, PLAY etc.. • System matches Intent with Activity that can best provide the service • Activities and IntentReceivers describe what Intents they can service
  • 18. Intents Home Picasa Photo Gallery Contacts “Pick photo” GMail Client component makes a System picks best Chat request for a specific use New components can component for that action action functionality existing Blogger Blogger
  • 19. Services • Faceless components that run in the background – E.g. music player, network download etc…
  • 20. ContentProviders • Enables sharing of data across applications – E.g. address book, photo gallery • Provides uniform APIs for: – querying – delete, update and insert. • Content is represented by URI and MIME type
  • 21. Agenda • Mobile Application Development (MAD) • Intro to Android platform • Platform architecture • Application building blocks • Development tools • Hello Android
  • 22. Development Tools • Eclipse • Android SDK 1.0-2.0 developer.android.com
  • 23. The Emulator • QEMU-based ARM emulator • Runs the same image as the device • Limitations: – No Camera support
  • 25. Hello World • http://developer.android.com/guide/tutorial s/hello-world.html • Generating UIs – Views – building blocks – E.g. TextView, EditText, Button – Placed into Layouts – E.g. LinearLayout, TableLayout, AbsoluteLayout
  • 26. Application Lifecycle • Application run in their own processes (VM, PID) • Processes are started and stopped as needed to run an application's components • Processes may be killed to reclaim resources
  • 28. Lifecycle • System • Home • Mail • Browser Process Home • Map Contacts GMail
  • 30. XMPP Services • Allows any app to send device-to-device messages to other android users • Data Messages are Intents with name/value pairs • Works with any gmail account… • Can also build servers to deliver server-to- device messages
  • 32. Notification Manager • How background app interact with users • Consistent notification presentation
  • 33. Views
  • 34. Views