Android Developer Fundamentals
Android
Lesson 1
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 1
Android ercial 4.0 International License
1.0 Introduction to Android
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 2
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 3
Android ercial 4.0 International License
Android Ecosystem
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 4
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 5
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 6
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 7
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 8
Android ercial 4.0 International License
Android app examples
Pandora Pokemon GO Facebook
Messenger
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 9
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 10
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 11
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 12
Android ercial 4.0 International License
Android Platform
Architecture
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 13
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 14
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 15
Android ercial 4.0 International 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
● Content providers to access data from other apps
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 16
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 17
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 18
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 19
Android ercial 4.0 International License
Linux Kernel
● Threading and low-level memory management
● Security features
● Drivers
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 20
Android ercial 4.0 International License
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
Lollipop 5.0 - 5.1.1 Nov 2014 21 - 22
Android History and
Marshmallow 6.0 - 6.0.1 Oct 2015 23 Platform Versions
for more and earlier
Nougat 7.0 Sept 2016 24 versions before 2011
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 21
Android ercial 4.0 International License
App Development
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 22
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 23
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 24
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 25
Android ercial 4.0 International License
Component types
● Activity is a single screen with a user interface
● Service performs long-running tasks in background
● Content provider manages shared set of data
● Broadcast receiver responds to system-wide announcements
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 26
Android ercial 4.0 International License
Think of Android as a hotel
● Your app is the guest
● The Android System is the hotel manager
● Services are available when you request them (intents)
○ In the foreground (activities) such as registration
○ In the background (services) such as laundry
● Calls you when a package has arrived (broadcast receiver)
● Access the city's tour companies (content provider)
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 27
Android ercial 4.0 International 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 Creative Commons Attribution-NonComm 28
Android ercial 4.0 International License
What's Next?
● Concept Chapter: 1.0 C Introduction to Android
● Practical: –
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 29
Android ercial 4.0 International License
END
This work is licensed under a
Introduction to
Android Developer Fundamentals Creative Commons Attribution-NonComm 30
Android ercial 4.0 International License