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