Niveau d'étude
BAC +3
ECTS
3 crédits
Composante
Sciences économiques, gestion, mathématiques et informatique
Volume horaire
33h
Période de l'année
Enseignement sixième semestre
Description
Les cours abordent successivement les principaux mécanismes offerts par Android pour le développement d'applications embarquées sur des terminaux mobiles de type téléphones intelligents ("smartphone") ou tablettes tactiles : l'environnement et outils de développement (déploiement d'application, debugger, sdk), l'IHM, les principaux Framework. On s’attachera en particulier à étudier les éléments spécifiques à la programmation mobile : la géolocalisation, la base de données interne, stockage des données, interactions et échanges avec des serveurs externes et d'autres terminaux, sécurité, et surtout la programmation asynchrone et évènementielle.
Objectifs
Programme :
- Présentation des concepts de base de la programmation Android.
- Présentation des objets de langage pour la GUI (frontend).
- Présentation des outils pour gérer les capteurs.
- Présentation des outils de communications.
- Présentation des outils de manipulation de données.
- Présentation de la sécurité Android.
L’ensemble de ces concepts seront illustrés avec un ensemble d’exercices sur machine.
Évaluation
Évaluation en session 1 pour les étudiants inscrits en formule standard de contrôle de connaissances : des épreuves de contrôle continu pendant le semestre (50% de la note) incluant le rendu d’un rapport écrit et/ou une soutenance orale du projet, et un examen terminal écrit de 2h (50% de la note).
Évaluation en session 1 pour les étudiants inscrits en formule dérogatoire de contrôle de connaissances : un examen terminal écrit de 2h (100% de la note).
Évaluation en session 2 : un examen terminal écrit de 2h (100% de la note).
Compétences visées
- Niveau intermédiaire en modélisation d’applications objet pour Android.
- Programmation asynchrone en environnement contraint et distribué.
- Gestion des ressources sur des terminaux à systèmes embarqués (énergie et espace de stockage limités)
- Partage de donnée en faible bande passante et gestion de la non-permanence de la connexion.
- Gestion des spécificités des terminaux mobiles (géolocalisation et autres).