First Technology Transfer

Standard and Advanced Technical Training, Consultancy and Mentoring

AND 101 - Introduction to Android for Technical Managers and Teachers

Seminar Outline

This one day seminar/workshop aims to provide a comprehensive overview of the Android stack and the development of applications using this stack. It also explains how Android runs on top of Linux and reviews the possibilities arising from porting Android to embedded systems. It should be useful to managers and teachers planning to embark on developing Android based embedded applications or introducing Android courses as part of a Computing Science teaching course.

Workshop Objectives

The goals of this workshop are:

  • To provide a thorough overview of the Android SDK (Software Development Kit) stack
  • To provide a "broad brush" overview of the Android Architecture, SDK toolkits, as well as security and publishing aspects of application development
  • To cover project and code development issues such as testing, debugging and design
  • To explore the potential of Android as a platform for more general embedded systems development

Intended Audience

The course is aimed at technical managers and teachers.

Its approach is oriented towards raising issues and answering questions related to understanding Android technology from the perspective of making strategic decisions, starting Android development projects and developing Android teaching modules.


Course Contents

How Android became

  • A brief tour and a brief history

The Java aspects of Android

  • Java as a language
  • The peculiar requirements of mobile telephone applications

Structure of Android - layer by layer from hardware to application

  • Linux kernel
  • Android runtime and the Dalvik VM
  • Native libraries
  • Application frameworks and application building

Key Concepts and Building Block Components

  • Activities and the Activity lifecycle
  • Services and the Service lifecycle
  • Intents
  • Broadcast receivers
  • Content providers

Operating System, Tools and Utilities

  • Hardware support for sensors and networking
    • Camera, accelerometers, touch screens, GPS, Compass
    • WiFi, mobile telephony, Bluetooth
  • database and multi-media support
  • Filesystem and storage devices
  • Google maps
  • Preferences and notifications

Security

  • Permissions
  • Android Sandbox model

Application Development

  • what the SDK provides
  • Android Virtual Devices
  • support for multiple platforms

Programming

  • Tour of Android Studio
  • Android Java programming in Android Studio
  • Executing code in the emulator
  • Executing code on an actual device
  • Overview of Unit Testing and Agile Android Development

Overview of App Framework internals

  • Tasks, processes, activities
  • Multi-threading
  • Services
  • Inter-process communication mechanisms
  • AIDL