Android Developer Fundamentals V2
Build your first
app
Lesson 1
Introduction
Introductiontoto
Android Developer Fundamentals V2 Android
Android 1
1.0 Introduction to Android
Introduction to
Android Developer Fundamentals V2 Android 2
Contents
● Android is an ecosystem
● Android platform architecture
● Android Versions
● Challenges of Android app development
● App fundamentals
Introduction to
Android Developer Fundamentals V2 Android 3
Android Ecosystem
Introduction to
Android Developer Fundamentals V2 Android 4
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
Introduction to
Android Developer Fundamentals V2 Android 5
Android user interaction
● Touch gestures: swiping, tapping, pinching
● Virtual keyboard for characters, numbers, and emoji
● Support for Bluetooth, USB controllers and peripherals
Introduction to
Android Developer Fundamentals V2 Android 6
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
Introduction to
Android Developer Fundamentals V2 Android 7
Android home screen
● Launcher icons for apps
● Self-updating widgets for live content
● Can be multiple pages
● Folders to organize apps
● "OK Google"
Introduction to
Android Developer Fundamentals V2 Android 8
Android app examples
Pandora Pokemon GO Facebook
Messenger
Introduction to
Android Developer Fundamentals V2 Android 9
Android Software Developer Kit (SDK)
● Development tools (debugger, monitors, editors)
● Libraries (maps, wearables)
● Virtual devices (emulators)
● Documentation (developers.android.com)
● Sample code
Introduction to
Android Developer Fundamentals V2 Android 10
Android Studio
● Official Android IDE
● Develop, run, debug,
test, and package apps
● Monitors and
performance tools
● Virtual devices
● Project views
● Visual layout editor
Introduction to
Android Developer Fundamentals V2 Android 11
Google Play store
Publish apps through Google Play store:
● Official app store for Android
● Digital distribution service operated by Google
Introduction to
Android Developer Fundamentals V2 Android 12
Android Platform
Architecture
Introduction to
Android Developer Fundamentals V2 Android 13
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
Introduction to
Android Developer Fundamentals V2 Android 14
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.
Introduction to
Android Developer Fundamentals V2 Android 15
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
Introduction to
Android Developer Fundamentals V2 Android 16
Android runtime
Each app runs in its own process with its own instance of the
Android Runtime.
Introduction to
Android Developer Fundamentals V2 Android 17
C/C++ libraries
● Core C/C++ Libraries give access to core native Android
system components and services.
Introduction to
Android Developer Fundamentals V2 Android 18
Hardware Abstraction Layer (HAL)
● Standard interfaces that expose device hardware
capabilities as libraries
Examples: Camera, bluetooth module
Introduction to
Android Developer Fundamentals V2 Android 19
Linux Kernel
● Threading and low-level memory management
● Security features
● Drivers
Introduction to
Android Developer Fundamentals V2 Android 20
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
Introduction to
Android Developer Fundamentals V2 Android 21
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
Introduction to
Android Developer Fundamentals V2 Android 22
App Development
Introduction to
Android Developer Fundamentals V2 Android 23
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)
Introduction to
Android Developer Fundamentals V2 Android 24
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.)
Introduction to
Android Developer Fundamentals V2 Android 25
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
Introduction to
Android Developer Fundamentals V2 Android 26
Learn more
● Android History
● Introduction to Android
● Platform Architecture
● UI Overview
● Platform Versions
● Supporting Different Platform Versions
● Android Studio User’s Guide
Introduction to
Android Developer Fundamentals V2 Android 27
What's Next?
● Concept Chapter: 1.0 Introduction to Android
● No Practical
Introduction to This work is licensed under a Creative
Android Developer Fundamentals V2 Commons Attribution-NonCommercial 28
Android
4.0 International License
END
This work is licensed under a Creative
Introduction to
Android Developer Fundamentals Commons Attribution-NonCommercial 29
Android 4.0 International License