Todd Burgess
Todd Burgess Media
todd@toddburgessmedia.com
Twitter: @tburgess57
Github: toddburgessmedia
Introduction to Android Development
https://bit.ly/podcamp2017Android
Introduction to Android Development
Introduction to Android Development
https://bit.ly/podcamp2017Android
About MeAbout Me
Computing and Information Science degree from University of Guelph
Did Java enterprise apps in Silicon Valley for 1.5 years
Migrated to Android platform 2 years ago
Several Apps on Google Play
What’s Your Score
Tech Dive
Eaves Street
Adoptathon Manager and Store Corodinator with Toronto Cat Rescue
Kenny and SpencerKenny and Spencer
Introduction to Android Development
https://bit.ly/podcamp2017Android
Cakes by ToddCakes by Todd
Introducing
Android
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android Introduction
In the Beginning
Android Introduction
In the Beginning
Mobile operating system first
released in 2008
Based on the Linux operating
system
API Version 1
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android 2017Android 2017
Current Android Release is Nougat
Over 1 billion devices in the World are currently running
Android
Android now runs on phones, tablets, watches, cars
and televisions
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android Nougat
API 25
Android Nougat
API 25
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android on TabletsAndroid on Tablets
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android WearAndroid Wear
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android AutoAndroid Auto
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android TVAndroid TV
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android ThingsAndroid Things
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android MarketshareAndroid Marketshare
https://www.statista.com/statistics/263445/global-smartphone-sales-by-operating-system-since-2009/
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android Versions (according to Wikipedia)Android Versions (according to Wikipedia)
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android Version Breakdown (January 2017)
Source: Wikipedia
Android Version Breakdown (January 2017)
Source: Wikipedia
Introduction to Android Development
https://bit.ly/podcamp2017Android
Understanding the Version FragmentationUnderstanding the Version Fragmentation
Android is popular in emerging markets
Emerging market Android devices are use older
technology
Android devices are not upgraded for a variety of
reasons
Upgrading Android devices is a “complicated process”
Introduction to Android Development
https://bit.ly/podcamp2017Android
Introduction
To
Android
Apps
Introduction to Android Development
https://bit.ly/podcamp2017Android
What is a Mobile Application
Source: Techopedia
What is a Mobile Application
Source: Techopedia
A mobile application, most commonly referred to as an
app, is a type of application software designed to run on a
mobile device, such as a smartphone or tablet computer.
Mobile applications frequently serve to provide users with
similar services to those accessed on PCs. Apps are
generally small, individual software units with limited
function.
Introduction to Android Development
https://bit.ly/podcamp2017Android
Advantages of a Mobile Device for AppsAdvantages of a Mobile Device for Apps
Ubitiquy
Availability
Data Consumption over Production
Sensor Information (ie accelertometers, light sensors,
device orientation)
Location Information
Notifications
Introduction to Android Development
https://bit.ly/podcamp2017Android
Introduction to the Android Operating SystemIntroduction to the Android Operating System
Android SDK
Your App
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android App Development OptionsAndroid App Development Options
Natives apps written with the Java programming language
Other options include C, C++, Kotlin
Apps written in Java are referred to as native apps
Other forms of app development include cross platform
development (React Native, Ionic, Xamarin, Unity)
Progressive web apps
Mobile Web sites
Introduction to Android Development
https://bit.ly/podcamp2017Android
Advantages of Native App DevelopmentAdvantages of Native App Development
Take advantge of all Android features
Reduced memory
Increased speed (Perf matters!!)
Users appreciate native experience
Can function off-line
Greater control of the user experience
Introduction to Android Development
https://bit.ly/podcamp2017Android
Putting an App TogetherPutting an App Together
Development Environment
Android Studio (Linux, macOS, Windows)
Java Programming Language
User Experience
Material Design
Testing Environment
Android Virtual Devices and Real Devices
Deployment
Google Play
Custom Applications
Material DesignMaterial Design
Material Design ExamplesMaterial Design Examples
Introduction to Android Development
https://bit.ly/podcamp2017Android
Material Design RationaleMaterial Design Rationale
Material Design is Google’s best practices for Android app design
Material Design Covers
● Colour Palettes
● Icons
● Margins and Borders
● Typography
● Elevations
● Animations
Adhering to Material Design is important to get the app
promoted by Google
Introduction to Android Development
https://bit.ly/podcamp2017Android
Introduction to JavaIntroduction to Java
Java is an open source programming languge
developed by Sun and maintained by Oracle
Object Oriented
Current version is 1.8 but most Android apps use 1.7
Java is found in enterprise applications, Android Studio
and Android
Introduction to Android Development
https://bit.ly/podcamp2017Android
Hello World in JavaHello World in Java
Introduction to Android Development
https://bit.ly/podcamp2017Android
Java vs Java on AndroidJava vs Java on Android
Writing
Android
Code
Introduction to Android Development
https://bit.ly/podcamp2017Android
Android StudioAndroid Studio
Activity
Service Content
Provider
Broadcast
Receiver
Introduction to Android Development
https://bit.ly/podcamp2017Android
Four Pieces of an Android AppFour Pieces of an Android App
Activity
● The user facing part of an app
● Can be thought of as the screens users interact with
Broadcast Receiver
● Handles events
● Can be app generated or system events
Service
● Runs in the background
● Can perform tasks (Intents) outside of the application
Content Provider
● Exposes app data to other applications
Introduction to Android Development
https://bit.ly/podcamp2017Android
Podcast Android AppPodcast Android App
Introduction to Android Development
https://bit.ly/podcamp2017Android
Introduction to MainActivityIntroduction to MainActivity
The first activity of an Android app is referred to as the
MainActivity
Activities have two basic components:
Java class file that extends Activity or
AppCompatActivity
XML Layout file
Introduction to Android Development
https://bit.ly/podcamp2017Android
activity_main.xmlactivity_main.xml
Introduction to Android Development
https://bit.ly/podcamp2017Android
activity_main.xml in Layout Editoractivity_main.xml in Layout Editor
Introduction to Android Development
https://bit.ly/podcamp2017Android
MainActivity.javaMainActivity.java
Introduction to Android Development
https://bit.ly/podcamp2017Android
AndroidManifest.xml
Describing our App to Android
AndroidManifest.xml
Describing our App to Android
Learning
More
About
Android
Android Developers
https://developer.android.com/index.html
Material Design for Android
https://developer.android.com/design/material/index.html
Introduction to Android Development
https://bit.ly/podcamp2017Android
Google ResourcesGoogle Resources
Introduction to Android Development
https://bit.ly/podcamp2017Android
PodcastsPodcasts
Fragmented
Covers a wide range of subjects regarding Android
and Java
Android Developers Backstage
Google podcast that deep dives into all things Android
and coding
Introduction to Android Development
https://bit.ly/podcamp2017Android
Udacity
Free courses by Google About Android
Udacity
Free courses by Google About Android
Introduction to Android Development
https://bit.ly/podcamp2017Android
Caster.io
Short Tutorials on Android Topics
Caster.io
Short Tutorials on Android Topics
Introduction to Android Development
https://bit.ly/podcamp2017Android
Words of Wisdom on Android TutorialsWords of Wisdom on Android Tutorials
Android tools and best practises
are changing every year so
when seeking out answers pay
special attention to the date it
was written
Introduction to Android Development
https://bit.ly/podcamp2017Android
MeetupsMeetups
Toronto Android Developers
https://www.meetup.com/ToAndroidDev/
Toronto Java User Group
https://www.meetup.com/Toronto-Java-Users-Group/
Mobile Growth Meetup
https://www.meetup.com/Mobile-Growth-Toronto/
Thanks for ListeningThanks for Listening
Happy Coding
&
Good Luck

Introduction to Android App Development

  • 1.
    Todd Burgess Todd BurgessMedia todd@toddburgessmedia.com Twitter: @tburgess57 Github: toddburgessmedia Introduction to Android Development https://bit.ly/podcamp2017Android Introduction to Android Development
  • 2.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android About MeAbout Me Computing and Information Science degree from University of Guelph Did Java enterprise apps in Silicon Valley for 1.5 years Migrated to Android platform 2 years ago Several Apps on Google Play What’s Your Score Tech Dive Eaves Street Adoptathon Manager and Store Corodinator with Toronto Cat Rescue
  • 3.
  • 4.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Cakes by ToddCakes by Todd
  • 5.
  • 6.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android Introduction In the Beginning Android Introduction In the Beginning Mobile operating system first released in 2008 Based on the Linux operating system API Version 1
  • 7.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android 2017Android 2017 Current Android Release is Nougat Over 1 billion devices in the World are currently running Android Android now runs on phones, tablets, watches, cars and televisions
  • 8.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android Nougat API 25 Android Nougat API 25
  • 9.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android on TabletsAndroid on Tablets
  • 10.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android WearAndroid Wear
  • 11.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android AutoAndroid Auto
  • 12.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android TVAndroid TV
  • 13.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android ThingsAndroid Things
  • 14.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android MarketshareAndroid Marketshare https://www.statista.com/statistics/263445/global-smartphone-sales-by-operating-system-since-2009/
  • 15.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android Versions (according to Wikipedia)Android Versions (according to Wikipedia)
  • 16.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android Version Breakdown (January 2017) Source: Wikipedia Android Version Breakdown (January 2017) Source: Wikipedia
  • 17.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Understanding the Version FragmentationUnderstanding the Version Fragmentation Android is popular in emerging markets Emerging market Android devices are use older technology Android devices are not upgraded for a variety of reasons Upgrading Android devices is a “complicated process”
  • 18.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android
  • 19.
  • 20.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android What is a Mobile Application Source: Techopedia What is a Mobile Application Source: Techopedia A mobile application, most commonly referred to as an app, is a type of application software designed to run on a mobile device, such as a smartphone or tablet computer. Mobile applications frequently serve to provide users with similar services to those accessed on PCs. Apps are generally small, individual software units with limited function.
  • 21.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Advantages of a Mobile Device for AppsAdvantages of a Mobile Device for Apps Ubitiquy Availability Data Consumption over Production Sensor Information (ie accelertometers, light sensors, device orientation) Location Information Notifications
  • 22.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Introduction to the Android Operating SystemIntroduction to the Android Operating System Android SDK Your App
  • 23.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android App Development OptionsAndroid App Development Options Natives apps written with the Java programming language Other options include C, C++, Kotlin Apps written in Java are referred to as native apps Other forms of app development include cross platform development (React Native, Ionic, Xamarin, Unity) Progressive web apps Mobile Web sites
  • 24.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Advantages of Native App DevelopmentAdvantages of Native App Development Take advantge of all Android features Reduced memory Increased speed (Perf matters!!) Users appreciate native experience Can function off-line Greater control of the user experience
  • 25.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Putting an App TogetherPutting an App Together Development Environment Android Studio (Linux, macOS, Windows) Java Programming Language User Experience Material Design Testing Environment Android Virtual Devices and Real Devices Deployment Google Play Custom Applications
  • 26.
  • 27.
  • 28.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Material Design RationaleMaterial Design Rationale Material Design is Google’s best practices for Android app design Material Design Covers ● Colour Palettes ● Icons ● Margins and Borders ● Typography ● Elevations ● Animations Adhering to Material Design is important to get the app promoted by Google
  • 30.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Introduction to JavaIntroduction to Java Java is an open source programming languge developed by Sun and maintained by Oracle Object Oriented Current version is 1.8 but most Android apps use 1.7 Java is found in enterprise applications, Android Studio and Android
  • 31.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Hello World in JavaHello World in Java
  • 32.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Java vs Java on AndroidJava vs Java on Android
  • 33.
  • 34.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Android StudioAndroid Studio
  • 35.
  • 36.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Four Pieces of an Android AppFour Pieces of an Android App Activity ● The user facing part of an app ● Can be thought of as the screens users interact with Broadcast Receiver ● Handles events ● Can be app generated or system events Service ● Runs in the background ● Can perform tasks (Intents) outside of the application Content Provider ● Exposes app data to other applications
  • 37.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Podcast Android AppPodcast Android App
  • 38.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Introduction to MainActivityIntroduction to MainActivity The first activity of an Android app is referred to as the MainActivity Activities have two basic components: Java class file that extends Activity or AppCompatActivity XML Layout file
  • 39.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android activity_main.xmlactivity_main.xml
  • 40.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android activity_main.xml in Layout Editoractivity_main.xml in Layout Editor
  • 41.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android MainActivity.javaMainActivity.java
  • 42.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android AndroidManifest.xml Describing our App to Android AndroidManifest.xml Describing our App to Android
  • 43.
  • 44.
    Android Developers https://developer.android.com/index.html Material Designfor Android https://developer.android.com/design/material/index.html Introduction to Android Development https://bit.ly/podcamp2017Android Google ResourcesGoogle Resources
  • 45.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android PodcastsPodcasts Fragmented Covers a wide range of subjects regarding Android and Java Android Developers Backstage Google podcast that deep dives into all things Android and coding
  • 46.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Udacity Free courses by Google About Android Udacity Free courses by Google About Android
  • 47.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Caster.io Short Tutorials on Android Topics Caster.io Short Tutorials on Android Topics
  • 48.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android Words of Wisdom on Android TutorialsWords of Wisdom on Android Tutorials Android tools and best practises are changing every year so when seeking out answers pay special attention to the date it was written
  • 49.
    Introduction to AndroidDevelopment https://bit.ly/podcamp2017Android MeetupsMeetups Toronto Android Developers https://www.meetup.com/ToAndroidDev/ Toronto Java User Group https://www.meetup.com/Toronto-Java-Users-Group/ Mobile Growth Meetup https://www.meetup.com/Mobile-Growth-Toronto/
  • 50.
    Thanks for ListeningThanksfor Listening Happy Coding & Good Luck

Editor's Notes

  • #2 How many use Android devices? How many people have software development experience? Any Java people? Android developers? IOS developers? Web people? Want to get into mobile development? Are in the wrong room?
  • #17 30.7% of all devices are 2 years old (Marshmellow) 21.9% of devices are 4 years old (KitKat) 32.9% Lollipop is 3 years old 85.5% of all devices 2 – 4 years old 76% of iOS devices are iOS 10
  • #23 Bottom two layers will disappear with black box Middle layer will be replaced with Android SDK Top layer will become Your App
  • #40 Red Box is coming
  • #42 5 red boxes to go through
  • #43 2 red boxes to go through