SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
Android Apps
for Absolute Beginners
Vaclav Hnizda
vaclav.cz@gmail.com
Who am I?
Vaclav Hnizda
Background
●
●
●
●
●

BS in Music Education - 2005
MS in Software Engineering - 2014
First coded in ‘98 in QBasic!
Currently focus in Java & Android
Attended Google IO - 2012

Met Vic Gundotra
Senior VP of Google Engineering

Contact
● email: vaclav.cz@gmail.com
● linkedin: www.linkedin.com/in/vaclavhnizda
● twitter: @Vaclav_Moravak
Android Past
● Dalvik VM on top of Linux-based OS
● designed with touch mobility in mind
● Initially developed by Android, Inc., backed by Google
● In 2005 purchased & publicly displayed in 2007
● Also in 2007 Open Handset Alliance created
● The first Android-powered phone was sold in October
2008.
Android Present
●
●
●
●
●
●
●
●
●

Cupcake: 1.5 (2009)
Donut: 1.6
Eclair: 2.0-1
Froyo: 2.2
Gingerbread: 2.3
Honeycomb: 3.0-2
Ice Cream Sandwich: 4.0
Jelly Bean: 4.1-3
KitKat: 4.4 (2013)
images from http://developer.android.com/
Why Android ?
● Portability

● IDE Improvement
Android System Architecture

( source: http://developer.android.com/images/system-architecture.jpg )
Linux Kernel
Linux device drivers
●

where all hardware is
managed

Android specific drivers:
●
●
●
●

( source: http://developer.android.com/images/system-architecture.jpg )

wake lock logger
logger
lowmemorykiller
Paranoid network-ing
The vast Libraries
Custom Java
● Library is a
custom made
collection of
classes optimized
for the mobile
platform

( source: http://developer.android.com/images/system-architecture.jpg )
Android Runtime
Dalvik
● Just in time
● optimized for
mobile devices
● Just because it’s a
VM does not
mean it runs slow,
very efficient and
fast
( source: http://developer.android.com/images/system-architecture.jpg )
Application Framework
The legos!
● Building blocks
● Many Features for
you to make use
of rather than
having to build it
from scratch

( source: http://developer.android.com/images/system-architecture.jpg )
Last but not least, Applications !
<Your App Here>
● All things visible to
you and any
Android user are
located on this
layer
( source: http://developer.android.com/images/system-architecture.jpg )
Application lifecycle - It’s alive?
Resume
(visible)
onResume()

onResume()

Started
(visible)
onStart()

Created

onStart()
onRestart()

onPause()

Paused
(partially visible)
onStop()

Stopped
(hidden)

onCreate()

onDestroy()

Launched

Destroyed
Android? New problems to solve!
● What happens when the user receives a phone call or
switches to another app from yours?
● Does your app consume valuable system resources
when the user is not actively using it?
● What happens to the user's progress if they leave your
app and return to it at a later time?
● Will you allow screen rotation? If so, will your app
crash?
● Many, many more!
Other questions to ask..
●
●
●
●
●

Will the app be stand alone?
Will it need a dedicated network connection?
Will a Phone data plan be enough?
Will data be stored locally, somewhere else?
Do I need something to run in the
background?
Android make it easy to start now.
Want more Visual Power?

● Canvas and Drawables
● Hardware Acceleration
● OpenGL
Media? Got that too.
There are libraries already built in to:
● play videos & music
● capture an image from the camera
● find your location with the GPS
● manage what the volume rocker does
● voice activation? ready for you!
Storage - so many options!
● Shared Preferences
● Internal Storage
● External Storage
● SQLite Databases
● Network Connection
Which Screen will you support?
Application lifecycle Revisited
Resume
(visible)
onResume()

onResume()

Started
(visible)
onStart()

Created

onStart()
onRestart()

onPause()

Paused
(partially visible)
onStop()

Stopped
(hidden)

onCreate()

onDestroy()

Launched

Destroyed
Android Skeleton
Android Skeleton
Android Skeleton
Android Skeleton
Application lifecycle Revisited
Resume
(visible)
onResume()

onResume()

Started
(visible)
onStart()

Created

onStart()
onRestart()

onPause()

Paused
(partially visible)
onStop()

Stopped
(hidden)

onCreate()

onDestroy()

Launched

Destroyed
Other considerations.. HTML5 ?
HTML vs Java
Budget - All vs One
User reach vs User Experience
Browser vs Fullscreen
Online vs Offline
Alerts - Email vs local Notifications
OpenGL vs Even more
Future topics
● HTML5 apps vs native Android apps
● Building that first native app right
● Android framework basics
● How to get Android to work with you
● Exploring the Rich libraries of Android OS
● APIs and how they can supercharge your app
?

vaclav.cz@gmail.com
●
www.linkedin.com/in/vaclavhnizda/
●
@Vaclav_Moravak
More talks to come!

NS

IO

ST

E
QU

Thanks
for
coming!

Contenu connexe

En vedette

Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Sunil Nair
 

En vedette (16)

Learn Android app development in easy steps
Learn Android app development in easy stepsLearn Android app development in easy steps
Learn Android app development in easy steps
 
Open document presentation
Open document presentationOpen document presentation
Open document presentation
 
Android
AndroidAndroid
Android
 
Android Coding Standered
Android Coding StanderedAndroid Coding Standered
Android Coding Standered
 
App Smashing for Beginners
App Smashing for BeginnersApp Smashing for Beginners
App Smashing for Beginners
 
Architect Concept - .NET Interview Senior / Mid Level
Architect Concept - .NET Interview Senior / Mid Level Architect Concept - .NET Interview Senior / Mid Level
Architect Concept - .NET Interview Senior / Mid Level
 
Programming Android Application in Scala.
Programming Android Application in Scala.Programming Android Application in Scala.
Programming Android Application in Scala.
 
Android Programming
Android ProgrammingAndroid Programming
Android Programming
 
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
Data Mining - Classification Of Breast Cancer Dataset using Decision Tree Ind...
 
Decision tree Using c4.5 Algorithm
Decision tree Using c4.5 AlgorithmDecision tree Using c4.5 Algorithm
Decision tree Using c4.5 Algorithm
 
Android coding guidlines
Android coding guidlinesAndroid coding guidlines
Android coding guidlines
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
 
Android workShop
Android workShopAndroid workShop
Android workShop
 
Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The Basics
 
Android Application Development Using Java
Android Application Development Using JavaAndroid Application Development Using Java
Android Application Development Using Java
 
Android ppt
Android ppt Android ppt
Android ppt
 

Similaire à Android Apps for Absolute Beginners

1319571 634635606205391250
1319571 6346356062053912501319571 634635606205391250
1319571 634635606205391250
MadNor Exe
 
Embedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVEmbedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IV
Opersys inc.
 
Embedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VEmbedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon V
Opersys inc.
 
Embedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIEmbedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConII
Opersys inc.
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014
Opersys inc.
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014
Opersys inc.
 

Similaire à Android Apps for Absolute Beginners (20)

Android Developing Overview
Android Developing OverviewAndroid Developing Overview
Android Developing Overview
 
Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011Android jumpstart at ESC Boston 2011
Android jumpstart at ESC Boston 2011
 
Mobile app development using Android SDK
Mobile app development using Android SDKMobile app development using Android SDK
Mobile app development using Android SDK
 
Android Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part IAndroid Jumpstart ESC SV 2012 Part I
Android Jumpstart ESC SV 2012 Part I
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
PRESENTATION ON ANDROID
PRESENTATION ON ANDROIDPRESENTATION ON ANDROID
PRESENTATION ON ANDROID
 
Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011Embedded Android Workshop at Embedded Linux Conference Europe 2011
Embedded Android Workshop at Embedded Linux Conference Europe 2011
 
Embedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC EuropeEmbedded Android Workshop at ELC Europe
Embedded Android Workshop at ELC Europe
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Embedded Android Workshop at Android Open 2011
Embedded Android Workshop at Android Open 2011Embedded Android Workshop at Android Open 2011
Embedded Android Workshop at Android Open 2011
 
uMobile, I’m Mobile, We’re All Mobile!!
uMobile, I’m Mobile, We’re All Mobile!!uMobile, I’m Mobile, We’re All Mobile!!
uMobile, I’m Mobile, We’re All Mobile!!
 
1319571 634635606205391250
1319571 6346356062053912501319571 634635606205391250
1319571 634635606205391250
 
Embedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IVEmbedded Android Workshop at AnDevCon IV
Embedded Android Workshop at AnDevCon IV
 
Embedded Android Workshop with Nougat
Embedded Android Workshop with NougatEmbedded Android Workshop with Nougat
Embedded Android Workshop with Nougat
 
Embedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon VEmbedded Android Workshop at AnDevCon V
Embedded Android Workshop at AnDevCon V
 
Mobile cloud
Mobile cloudMobile cloud
Mobile cloud
 
Embedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConIIEmbedded Android Workshop at AnDevConII
Embedded Android Workshop at AnDevConII
 
Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014Embedded Android Workshop at ABS 2014
Embedded Android Workshop at ABS 2014
 
Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014Embedded Android Workshop at Embedded World 2014
Embedded Android Workshop at Embedded World 2014
 
Game Development in VR
Game Development in VR Game Development in VR
Game Development in VR
 

Dernier

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
vu2urc
 

Dernier (20)

04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
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...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 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...
 
[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
 
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
 

Android Apps for Absolute Beginners