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

What's hot

Android Training - Part 2
Android Training - Part 2Android Training - Part 2
Android Training - Part 2
Tbldevelopment
 
Google android os
Google android osGoogle android os
Google android os
Kirti Choudhary
 
Getting started
Getting startedGetting started
Getting started
Training Guide
 
Android General information
Android General informationAndroid General information
Android General information
Prashant Gosai
 
Google android os
Google android osGoogle android os
Google android os
Faiq Ali Sayed
 
Ipsa cool maps 5
Ipsa cool maps 5Ipsa cool maps 5
Ipsa cool maps 5
rgcone
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
Sharmistha Mandal
 
Android enterprise application development
Android enterprise application developmentAndroid enterprise application development
Android enterprise application development
Paramvir Singh
 
Cross-Platform Mobile Development - Technical Stuff
Cross-Platform Mobile Development - Technical StuffCross-Platform Mobile Development - Technical Stuff
Cross-Platform Mobile Development - Technical Stuff
Akash Kubavat
 
android
androidandroid
android
Akhil Kumar
 
Android workshop
Android workshopAndroid workshop
Android workshop
SubashiniRathinavel
 
Mutlimedia authoring tools
Mutlimedia authoring toolsMutlimedia authoring tools
Mutlimedia authoring tools
Jay Patel
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile application
saritasingh19866
 
authoring tools 2015
authoring tools 2015authoring tools 2015
authoring tools 2015
UPSIcoursework
 
UXT Chicago - Designing Mobile Apps for Enterprise Use
UXT Chicago - Designing Mobile Apps for Enterprise UseUXT Chicago - Designing Mobile Apps for Enterprise Use
UXT Chicago - Designing Mobile Apps for Enterprise Use
Jeff Steffgen
 
Twitter
TwitterTwitter
Extensions
ExtensionsExtensions
C maksymchuk android
C maksymchuk androidC maksymchuk android
C maksymchuk android
sdeconf
 
Multimedia authoring tools and User interface design
Multimedia authoring tools and User interface designMultimedia authoring tools and User interface design
Multimedia authoring tools and User interface design
Sagar Rai
 
Unified logging on iOS
Unified logging on iOSUnified logging on iOS
Unified logging on iOS
LINE Corporation
 

What's hot (20)

Android Training - Part 2
Android Training - Part 2Android Training - Part 2
Android Training - Part 2
 
Google android os
Google android osGoogle android os
Google android os
 
Getting started
Getting startedGetting started
Getting started
 
Android General information
Android General informationAndroid General information
Android General information
 
Google android os
Google android osGoogle android os
Google android os
 
Ipsa cool maps 5
Ipsa cool maps 5Ipsa cool maps 5
Ipsa cool maps 5
 
Android Introduction
Android IntroductionAndroid Introduction
Android Introduction
 
Android enterprise application development
Android enterprise application developmentAndroid enterprise application development
Android enterprise application development
 
Cross-Platform Mobile Development - Technical Stuff
Cross-Platform Mobile Development - Technical StuffCross-Platform Mobile Development - Technical Stuff
Cross-Platform Mobile Development - Technical Stuff
 
android
androidandroid
android
 
Android workshop
Android workshopAndroid workshop
Android workshop
 
Mutlimedia authoring tools
Mutlimedia authoring toolsMutlimedia authoring tools
Mutlimedia authoring tools
 
Synapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile applicationSynapse india reviews on asp.net mobile application
Synapse india reviews on asp.net mobile application
 
authoring tools 2015
authoring tools 2015authoring tools 2015
authoring tools 2015
 
UXT Chicago - Designing Mobile Apps for Enterprise Use
UXT Chicago - Designing Mobile Apps for Enterprise UseUXT Chicago - Designing Mobile Apps for Enterprise Use
UXT Chicago - Designing Mobile Apps for Enterprise Use
 
Twitter
TwitterTwitter
Twitter
 
Extensions
ExtensionsExtensions
Extensions
 
C maksymchuk android
C maksymchuk androidC maksymchuk android
C maksymchuk android
 
Multimedia authoring tools and User interface design
Multimedia authoring tools and User interface designMultimedia authoring tools and User interface design
Multimedia authoring tools and User interface design
 
Unified logging on iOS
Unified logging on iOSUnified logging on iOS
Unified logging on iOS
 

Viewers also liked

Gr 2 current focus on is use
Gr 2   current focus on is useGr 2   current focus on is use
Gr 2 current focus on is use
university of education,Lahore
 
Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014
Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014
Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014
SAS in Deutschland, Österreich und der Schweiz
 
Archivo primer bimestre
Archivo primer bimestreArchivo primer bimestre
Archivo primer bimestre
jennypav85
 
Envoi de colis en estonie
Envoi de colis en estonieEnvoi de colis en estonie
Envoi de colis en estonie
jamesbrite
 
Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.
Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.
Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.
Revisión y ajuste POT Santiago de Cali
 
Primeros Auxilios
Primeros Auxilios Primeros Auxilios
Primeros Auxilios
Natalí Calderón Tobar
 
TIP 25 Domestic Violence
TIP 25 Domestic ViolenceTIP 25 Domestic Violence
Trabajo I Epidemiology Genétic PhD versión XIII
Trabajo I Epidemiology Genétic PhD versión XIIITrabajo I Epidemiology Genétic PhD versión XIII
Trabajo I Epidemiology Genétic PhD versión XIII
Luis Enrique Medina
 

Viewers also liked (8)

Gr 2 current focus on is use
Gr 2   current focus on is useGr 2   current focus on is use
Gr 2 current focus on is use
 
Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014
Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014
Industrie 4.0: Impulsvortrag beim Wirtschaftsrat Deutschland 2014
 
Archivo primer bimestre
Archivo primer bimestreArchivo primer bimestre
Archivo primer bimestre
 
Envoi de colis en estonie
Envoi de colis en estonieEnvoi de colis en estonie
Envoi de colis en estonie
 
Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.
Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.
Cronograma de jornadas de participación ciudadana urbana. Mayo 2013.
 
Primeros Auxilios
Primeros Auxilios Primeros Auxilios
Primeros Auxilios
 
TIP 25 Domestic Violence
TIP 25 Domestic ViolenceTIP 25 Domestic Violence
TIP 25 Domestic Violence
 
Trabajo I Epidemiology Genétic PhD versión XIII
Trabajo I Epidemiology Genétic PhD versión XIIITrabajo I Epidemiology Genétic PhD versión XIII
Trabajo I Epidemiology Genétic PhD versión XIII
 

Similar to Introduction to android

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
 
265.ppt
265.ppt265.ppt
265.ppt
sanjaykj6
 
Android Application Development.pdf
Android Application Development.pdfAndroid Application Development.pdf
Android Application Development.pdf
MohammedMuzammil99
 
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
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
SumanKumarDey5
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
SHUBHAMKENDRE5
 
Android application development
Android application developmentAndroid application development
Android application development
MadhuprakashR1
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
TarunSharma506177
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
AyushThakur97
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
SarikaDontha1
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application development
Synapseindiappsdevelopment
 
Android Training
Android TrainingAndroid Training
Android Training
Tbldevelopment
 
Android Application Development (1).pptx
Android Application Development (1).pptxAndroid Application Development (1).pptx
Android Application Development (1).pptx
TanishSagre
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
SenthilKumar Selvaraj
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
Can Elmas
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
niteshnarayanlal
 
Android application development
Android application developmentAndroid application development
Android application development
Linh Vi Tường
 
Android application development
Android application developmentAndroid application development
Android application development
Darshan Gohel
 
Android development
Android developmentAndroid development
Android development
mkpartners
 

Similar to Introduction to android (20)

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
 
265.ppt
265.ppt265.ppt
265.ppt
 
Android Application Development.pdf
Android Application Development.pdfAndroid Application Development.pdf
Android Application Development.pdf
 
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
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Android Application Development.ppt
Android Application Development.pptAndroid Application Development.ppt
Android Application Development.ppt
 
Synapseindia android apps application development
Synapseindia android apps application developmentSynapseindia android apps application development
Synapseindia android apps application development
 
Android Training
Android TrainingAndroid Training
Android Training
 
Android Application Development (1).pptx
Android Application Development (1).pptxAndroid Application Development (1).pptx
Android Application Development (1).pptx
 
Android quick talk
Android quick talkAndroid quick talk
Android quick talk
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
My androidpresentation
My androidpresentationMy androidpresentation
My androidpresentation
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android application development
Android application developmentAndroid application development
Android application development
 
Android development
Android developmentAndroid development
Android development
 

Recently uploaded

Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
marufrahmanstratejm
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Jeffrey Haguewood
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 

Recently uploaded (20)

Public CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptxPublic CyberSecurity Awareness Presentation 2024.pptx
Public CyberSecurity Awareness Presentation 2024.pptx
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
Salesforce Integration for Bonterra Impact Management (fka Social Solutions A...
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 

Introduction to android

  • 1. ECS 152B • Yichuan Wang • yicwang@ucdavis.edu • 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
  • 7.
  • 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
  • 27.
  • 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