1 of 29

Build your first app

Android Developer Fundamentals V2

1

1

1

Lesson 1

Android Developer Fundamentals V2

Introduction to Android

Android Developer Fundamentals V2

Introduction to Android

2 of 29

2

1.0 Introduction to Android

Android Developer Fundamentals V2

Introduction to Android

3 of 29

Contents

3

Android Developer Fundamentals V2

Introduction to Android

4 of 29

Android Ecosystem

4

Android Developer Fundamentals V2

Introduction to Android

5 of 29

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

5

Android Developer Fundamentals V2

Introduction to Android

6 of 29

Android user interaction

  • Touch gestures: swiping, tapping, pinching
  • Virtual keyboard for characters, numbers, and emoji
  • Support for Bluetooth, USB controllers and peripherals

6

Android Developer Fundamentals V2

Introduction to Android

7 of 29

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

7

Android Developer Fundamentals V2

Introduction to Android

8 of 29

Android home screen

  • Launcher icons for apps
  • Self-updating widgets for live content
  • Can be multiple pages
  • Folders to organize apps
  • "OK Google"

8

Android Developer Fundamentals V2

Introduction to Android

9 of 29

Android app examples

9

Pandora

Pokemon GO

Facebook�Messenger

Android Developer Fundamentals V2

Introduction to Android

10 of 29

Android Software Developer Kit (SDK)

  • Development tools (debugger, monitors, editors)
  • Libraries (maps, wearables)
  • Virtual devices (emulators)
  • Documentation (developers.android.com)
  • Sample code

10

Android Developer Fundamentals V2

Introduction to Android

11 of 29

Android Studio

11

  • Official Android IDE
  • Develop, run, debug, test, and package apps
  • Monitors and performance tools
  • Virtual devices
  • Project views
  • Visual layout editor

Android Developer Fundamentals V2

Introduction to Android

12 of 29

Google Play store

Publish apps through Google Play store:

  • Official app store for Android
  • Digital distribution service operated by Google

12

Android Developer Fundamentals V2

Introduction to Android

13 of 29

Android Platform Architecture

13

Android Developer Fundamentals V2

Introduction to Android

14 of 29

Android stack

14

  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

Android Developer Fundamentals V2

Introduction to Android

15 of 29

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.

15

Android Developer Fundamentals V2

Introduction to Android

16 of 29

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

16

Android Developer Fundamentals V2

Introduction to Android

17 of 29

Android runtime

Each app runs in its own process with its own instance of the Android Runtime.

17

Android Developer Fundamentals V2

Introduction to Android

18 of 29

C/C++ libraries

  • Core C/C++ Libraries give access to core native Android system components and services.

18

Android Developer Fundamentals V2

Introduction to Android

19 of 29

Hardware Abstraction Layer (HAL)

  • Standard interfaces that expose device hardware capabilities as libraries��Examples: Camera, bluetooth module

19

Android Developer Fundamentals V2

Introduction to Android

20 of 29

Linux Kernel

  • Threading and low-level memory management
  • Security features
  • Drivers

20

Android Developer Fundamentals V2

Introduction to Android

21 of 29

Older Android versions

21

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 Platform Versions

for more and earlier versions before 2011

Android Developer Fundamentals V2

Introduction to Android

22 of 29

Newer Android versions

22

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

Android Developer Fundamentals V2

Introduction to Android

23 of 29

App Development

23

Android Developer Fundamentals V2

Introduction to Android

24 of 29

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)

24

Android Developer Fundamentals V2

Introduction to Android

25 of 29

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.)

25

Android Developer Fundamentals V2

Introduction to Android

26 of 29

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

26

Android Developer Fundamentals V2

Introduction to Android

27 of 29

Learn more

27

Android Developer Fundamentals V2

Introduction to Android

28 of 29

What's Next?

28

  • Concept Chapter: 1.0 Introduction to Android
  • No Practical

Android Developer Fundamentals V2

Introduction to Android

29 of 29

END

29

Android Developer Fundamentals

Introduction to Android