Building, Deploying and Developing for Embedded Android

Nexus-Computing is specialized in holding Android workshops which address topics beyond standard software development. The highly skilled trainers with background in electrical engineering are highlighting topics that address hardware, device drivers and software development at a fundamental level.

Welcome to the full hands on Embedded Android experience

Our classic Practical Embedded Android Workshop based on the open Freescale iMX6 Platform, the Wandboard. In this training, experienced professionals deliver insight into Embedded Android. The training's location is Baden Switzerland.

The location is easily reachable within 15 minutes from Zurich by train. There is also a direct train from Zurich airport to Baden (see SBB online time table).

In this course you will learn the foundation for applying Android in an industrial setup.

The authors of the well known Blog Using Android in Industrial Automation will guide you through the first steps of building, deploying and using Embedded Android. Here you have the chance to ask questions and retain the practical knowledge the trainers have gathered about Linux, Android and Software Engineering

CURRENT TOPICS: The course is constantly updated. The current hot topics are - Android Driver development, Android Hardware interface access (I2C, SPI, UART, USB, ...) - Write your own Custom Driver API.

The Android Embedded Training is a four day class. Designed for software engineers and project managers to learn how Android works and why it should be favored over similar Embedded Operating Systems.

Course Details
Android Embedded

Location
Kirchweg 7
5400 Baden
Switzerland

Next Dates
To be determined

Class Size
Max 4 Participants

Price
2'600 CHF

Materials
Slides as PDF and Folder
Course Website available
Files on SD-Card / external Storage

Android & Hardware
Wandboard DL (iMXv6) as Embedded Platform
*NEW Android 6.01 Marshmallow
Hardware available for purchase!

Language
German & English

Sign Up & Details
By Phone: +41 56 552 01 01
By Email: info@nexus-computing.ch


Course overview

The following shows a basic overview of the topics covered during the workshop, structured into theoretical and practical parts respectively. Please note: Due to the small class size of the workshop, we will adapt the training to your project's needs and show you state of the art solutions and concepts for your embedded Android applications.

Day 1

Theory: Android system architecture

The participant familiarizes with the Android operating system. Android-specific mechanisms are exemplified by studying the corresponding source code of the Android operating system. Furthermore, we have a look at Android services and daemons and the functionality of integrated Linux drivers.

Pratice: compiling and deploying Android and the Linux kernel

We configure and compile the Linux kernel and the Android operating system for the target board called Wandboard (an open, community based, embedded platform). The participant will set up the Android toolchain, source code and development environment on a fresh installed Ubuntu 14.04. Linux kernel and the Android operating system are compiled and Android debugging over the serial console is initiated.

Day 2

Theory: Linux kernel driver and Java Native Interface

Hardware interfacing is always a key aspect in Embedded Applications. The participant learns how kernel features can be added to the operating system. Android applications may use the kernel device interfaces through the use of Java Native Interface and thus communicate with external hardware directly from within the Java context.

Practice: Using GPIO (kernel and userspace)

The Kernel is modified to define some GPIOs as input keys. With a user space C application it is also shown how GPIO interrupts can be used for an application.

Day 3

Theory: Android SDK and Android Studio

An introduction to the Android SDK shows the most important tools for Android development. We show how and why to create Activiteis that make use of multithreading with a short example and demonstrate the pitfalls of a blocked Android UI. Furthermore, essential hints and tips arg given to alleviate the software development on the Android Studio IDE.

Practice: Java Native Interface for C-Application

In the practical part we demonstrate how to to take advantage of the C functionality in a Java Android Application using JNI and create a User Interface for an application.

Day 4

Theory: Tips & Tricks

We traverse the Android source code and - among others things - analyze external Android projects. Changing the init process allows us to automatically start with specific settings to simplify debugging. A closer look inside the Android source code shows how to customize Android specific elements.

Practice: Writing an API

With the created application we show approaches of how to write and include a self written API for other developers. By introducing Services and Libraries, the real benefits of Android will become of substential help.

Prerequisites

Basic skills in C (or C++) and Java.
Basic knowledge of Linux, Bash (the Linux shell or terminal) and/or Ubuntu.
Beneficial: basic Android development skills with Android Studio
Note: basic Java skills are highly recommended

Target audience

Software developers or project managers, who aim for a practical insight into Android, with a focus on embedded systems. This practice oriented course delivers a broad overview of application, driver and platform development.