Android Developer Fundamentals V2
Build your first
app
Lesson 1
This
Thiswork
workis islicensed
licensedunder
undera a
Introduction
Introductiontoto
Android Developer Fundamentals V2 Creative
CreativeCommons
CommonsAttribution
Attribution4.0
4.0Inter
Inter 1
Android
Android national
nationalLicense
License
1.0 Introduction to Android
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 2
Android national License
Contents
● Android is an ecosystem
● Android platform architecture
● Android Versions
● Challenges of Android app development
● App fundamentals
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 3
Android national License
Android Ecosystem
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 4
Android national License
What is Android?
● Mobile operating system based on Linux kernel
● User Interface for touch screens
● Used on over 80% of all smartphones
● Powers devices such as watches, TVs, and cars
● Over 2 Million Android apps in Google Play store
● Highly customizable for devices / by vendors
● Open source
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 5
Android national License
Android user interaction
● Touch gestures: swiping, tapping, pinching
● Virtual keyboard for characters, numbers, and emoji
● Support for Bluetooth, USB controllers and peripherals
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 6
Android national License
Android and sensors
Sensors can discover user action and respond
● Device contents rotate as needed
● Walking adjusts position on map
● Tilting steers a virtual car or controls a physical toy
● Moving too fast disables game interactions
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 7
Android national License
Android home screen
● Launcher icons for apps
● Self-updating widgets for live content
● Can be multiple pages
● Folders to organize apps
● "OK Google"
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 8
Android national License
Android app examples
Pandora Pokemon GO Facebook
Messenger
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 9
Android national License
Android Software Developer Kit (SDK)
● Development tools (debugger, monitors, editors)
● Libraries (maps, wearables)
● Virtual devices (emulators)
● Documentation (developers.android.com)
● Sample code
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 10
Android national License
Android Studio
● Official Android IDE
● Develop, run, debug,
test, and package apps
● Monitors and
performance tools
● Virtual devices
● Project views
● Visual layout editor
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 11
Android national License
Google Play store
Publish apps through Google Play store:
● Official app store for Android
● Digital distribution service operated by Google
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 12
Android national License
Android Platform
Architecture
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 13
Android national License
Android stack
1. System and user apps
2. Android OS API in
Java framework
3. Expose native APIs;
run apps
4. Expose device
hardware capabilities
5. Linux Kernel
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 14
Android national License
System and user apps
● System apps have no special status
● System apps provide key capabilities to app developers
Example:
Your app can use a system app to deliver a SMS
message.
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 15
Android national License
Java API Framework
The entire feature-set of the Android OS is available to you
through APIs written in the Java language.
● View class hierarchy to create UI screens
● Notification manager
● Activity manager for life cycles and navigation
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 16
Android national License
Android runtime
Each app runs in its own process with its own instance of the
Android Runtime.
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 17
Android national License
C/C++ libraries
● Core C/C++ Libraries give access to core native Android
system components and services.
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 18
Android national License
Hardware Abstraction Layer (HAL)
● Standard interfaces that expose device hardware
capabilities as libraries
Examples: Camera, bluetooth module
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 19
Android national License
Linux Kernel
● Threading and low-level memory management
● Security features
● Drivers
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 20
Android national License
Older Android versions
Codename Version Released API Level
Honeycomb 3.0 - 3.2.6 Feb 2011 11 - 13
Ice Cream Sandwich 4.0 - 4.0.4 Oct 2011 14 - 15
Jelly Bean 4.1 - 4.3.1 July 2012 16 - 18
KitKat 4.4 - 4.4.4 Oct 2013 19 - 20 Android History and
Platform Versions
Lollipop 5.0 - 5.1.1 Nov 2014 21 - 22 for more and earlier
versions before 2011
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 21
Android national License
Newer Android versions
Codename Version Released API Level
Marshmallow 6.0 - 6.0.1 Oct 2015 23
Nougat 7.0 - 7.1 Sept 2016 24 - 25
Oreo 8.0 - 8.1 Sept 2017 26 - 27
Pie 9.0 Aug 2018 28
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 22
Android national License
App Development
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 23
Android national License
What is an Android app?
● One or more interactive screens
● Written using Java Programming Language and XML
● Uses the Android Software Development Kit (SDK)
● Uses Android libraries and Android Application
Framework
● Executed by Android Runtime Virtual machine (ART)
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 24
Android national License
Challenges of Android development
● Multiple screen sizes and resolutions
● Performance: make your apps responsive and smooth
● Security: keep source code and user data safe
● Compatibility: run well on older platform versions
● Marketing: understand the market and your users
(Hint: It doesn't have to be expensive, but it can be.)
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 25
Android national License
App building blocks
● Resources: layouts, images, strings, colors as XML and
media files
● Components: activities, services, and helper classes as
Java code
● Manifest: information about app for the runtime
● Build configuration: APK versions in Gradle config files
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 26
Android national License
Learn more
● Android History
● Introduction to Android
● Platform Architecture
● UI Overview
● Platform Versions
● Supporting Different Platform Versions
● Android Studio User’s Guide
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution 4.0 Inter 27
Android national License
What's Next?
● Concept Chapter: 1.0 Introduction to Android
● No Practical
This work is licensed under a
Introduction to
Android Developer Fundamentals V2 Creative Commons Attribution-NonCo 28
Android mmercial 4.0 International License
END
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonCo 29
Android mmercial 4.0 International License