Objectives
|
|||||||||
- Engineers that must develop Android applications to control industrial systems.
- Architects that want to understand the benefit they may obtain from using Android in their products.
- Install Android on an embedded platform
- Interface an Android platform with an external system
- Create a typical Android Embedded application.
- Basic Linux user experience
- Basic C (or C++) programming skills
- Due to the high degree of advanced Java techniques being used, good Java development skills are mandatory
- See our cours L4G - Java pour Android for quickly learning the necessary Java techniques
- Printed course material (in English).
- One Linux PC for two trainees.
- One target Android platform (dual Cortex/A9) for two trainees
- External sensor hardware on an Arduino board connected in USB with the Android platform
- Cours théorique
- Support imprimé et PDF (en anglais).
- Assistance du formateur tout au long de la formation.
- Activités pratiques (40-50% de la durée)
- Exemples de code, exercices et solutions.
- Un PC (un par binôme au-delà de 6 stagiaires) avec carte cible si nécessaire.
- Machine virtuelle préconfigurée téléchargeable pour refaire les TP après le cours.
- Chaque session débute par un point avec les stagiaires.
- Tout ingénieur ou technicien en systèmes embarqués possédant les prérequis ci-dessus.
- Les prérequis sont évalués avant la formation.
- Les progrès sont évalués par le formateur via les exercices pratiques, et par des quizz pour les sections sans exercices.
- Chaque stagiaire reçoit une attestation de réussite.
- En cas de prérequis manquant, une formation différente ou complémentaire est proposée.
Plan du cours
- Linux and Android
- Android licensing
- The Android code base
- Building Android
- The Android build environment
- The Android build system
- The Android.mk files
- Adding new components to the build system
- Java components
- Native components
- Applications
| Exercise : | Compiling the Android platform | |
- Structure of an Android Application
- Android application components
- Activity
- Service
- Broadcast receiver
- Content provider
- Manifest file
- Application components declaration
- Permissions
| Exercise : | Hello world application | |
- User interface configuration
- Depending on the language
- Depending on screen characteristics (dimensions, orientation…)
| Exercise : | Multilingual Hello world (Deutsch-English-Français) | |
- Android properties
- The Android initialization
- Structure of the init process
- The Android initialization language
- The Dalvik Java virtual machine
- The Dalvik machine structure
- The Dalvik bytecodes
- The Dalvik “zygote” process
| Exercise : | Tailoring Android initialization to start additional system daemons | |
- Activities life cycle
- Activity callbacks
- onCreate
- onStart…
- Intents and Intents filter
- The Intent class Intent
- Declaring Intent filters in manifest files
- Activity invocation with and without results
- startActivity
- startActivityForResult
- Tasks (activities stack) and navigation between activities
| Exercise : | Writing a simplified parameter entry application | |
- Layouts
- Layout kinds
- Components properties related to layouts
- Resources
- Strings
- images
- layouts…
- Views
- Buttons, labels and edition fields
- View instantiation from a resource
- Specialized views
- ListView
- Data binding (Adapter class and subclasses)
- User Input
- Touch screen and keyboard
- Software keyboard management
- Dialogs and User notifications
- Dialog box
- Status Bar
- Toast
| Exercise : | Writing a simple Command and Control application | |
- Sensors in Android
- The sensor types
- The Sensor Manager
- Accessing Sensors
- Framework Architecture
- Sensor discovery
- Sensor Calibration
| Exercise : | Getting and displaying a sensor value (temperature...) | |
- The Android Binder architecture
- Binder implementation
- The AIDL language
- The AIDL tool
- Binder Java classes
- Writing Application Services
- System services
- What is a system service
- Static and context-dependent services
- Structure of a system service
- Adding a new system service
- The system ServiceManager process
| Exercise : | Coding a service to control an external device | |
- The Android NDK
- Defining Java methods in C++
- JNI for Android
- Integrating native code in a package
- Using the NDK from Eclipse
- Debugging native code
| Exercise : | Displaying data fetched from an external device | |
- User interface and multithreading
- Accessing views from another thread
| Exercise : | Multi-threaded user interface with buttons and progress bars | |
- Custom control creation
- By deriving directly the View class
- By deriving an existing view
- 2D Drawing
- Canvas and Shapes
- Drawing from the main thread
- Drawing from another thread
| Exercise : | Displaying a graph of sensor values | |
- Storage
- Shared preferences
- Internal storage
- External storage
- SQLite
- Content provider
- Communication with a content provider
- Implementing a content provider
| Exercise : | Logging data fetched from the external device and displaying historical data | |
- Installing a Broadcast Receiver
- Static creation of broadcast receivers
- Dynamic instantiation and registration
- Broadcasting intents
- Normal broadcast
- Ordered broadcast
- Using PendingIntent in broadcast receivers
- System broadcasted events
| Exercise : | Handling process alarms in a custom broadcast receiver | |
- Connections management
- Sockets
- HTTP requests
- WebView control
- Web Services
| Exercise : | Socket communications with a distant management application | |
- Why a HAL?
- HAL Component Structure
- Defining HAL components
- Loading and using HAL component
- The standard HAL components
- Graphics
- Audio
- Camera
- Bluetooth
- GPS
- Sensors
| Exercise : | Create a simple HAL component | |
Plus d'information
Pour vous enregistrer ou pour toute information supplémentaire, contactez nous par email à l'adresse info@ac6-formation.com.
Les inscriptions aux sessions de formation sont acceptées jusqu'à une semaine avant le début de la formation. Pour une inscription plus tardive nous consulter
Vous pouvez aussi remplir et nous envoyer le bulletin d'inscription
Ce cours peut être dispensé dans notre centre de formation près de Paris ou dans vos locaux, en France ou dans le monde entier.
Les sessions inter-entreprises programmées sont ouvertes dès deux inscrits. Sous condition d'un dossier complet, les inscriptions sont acceptées jusqu'à une semaine avant le début de la formation.
Dernière mise à jour du plan de cours : 20 mai 2026
L'inscription à nos formations est soumise à nos Conditions Générales de Vente