Android Mini-Projets
Travail à réaliser
Pour chaque sujet, vous avez 3 tâches à accomplir, dont 2 travaux à
rendre. Vous êtes en binôme et vous devez tout rendre le 29 janvier
2018 (3 semaines).
- Vous devrez chercher la documentation correspondant à votre
sujet. Privilégiez bien sûr la source la plus fiable :
https://developer.android.com. Vous pouvez aussi vous inspirer de
tutos et de forums sur le Web. (par exemple
https://stackoverflow.com, http://www.vogella.com etc.) Attention
toutefois à la fraîcheur des documentations que vous consultez :
vérifiez la date. Si vous trouvez un tuto correspondant à votre tâche
mais que sa date est 2006 ou même 2012, les API auront probablement
pas mal évolué depuis. -
Développer une petite application de test suivant les consignes
données dans votre sujet. Les applications de test doivent être en 2
langues (français et anglais préférées).
Attention quand votre application demande des permissions, il faut les
attribuer à la main (dans les préférences, menu Applications, selon
votre version d’Android). -
Préparer une présentation de 20 min, là aussi en respectant les
consignes données dans votre sujet. Il s’agit en fait d’un mini-cours
pour expliquer aux autres étudiants comment faire ! Les présentations
auront lieu le 29 janvier à partir de 14h.
Sujets
Sujet 1 – Utiliser l’API camera
Android permet d’utiliser l’appareil photo directement. Cela permet
de prendre une photo sans lancer d’activité extérieure (une autre
solution pour prendre une photo est d’ailleurs de lancer l’activité
de prise de vue).
Pour cela vous utiliserez l’API Camera ». Elle permet de se connecter
à une des caméras de l’appareil (il y en a 1 ou 2), d’afficher une
*preview et de prendre une photo.
Exercice à faire
Développer une application capable de prendre une photo en utilisant
l’API Camera.
D’autre part la photo ne doit pas être enregistrée dans la galerie,
mais dans un dossier spécifique (à votre l’application).
Présentation
Expliquer les 2 façons de prendre une photo : en utilisant l’activité
prise de vue (via un Intent) et en utilisant l’API Camera.
Sujet 2 – Services
Il s’agit d’un composant d’application correspondant soit à une
opération n’ayant pas besoin d’interaction avec un utilisateur, soit
de fournir une fonctionnalité a d’autres applications. Un service n’a
donc pas d’écran associé (il est juste défini dans un fichier java et
n’a donc pas de fichier xml de layout).
L’exemple typique consiste à jouer un son : si le son est joué dans
une activité, lorsque l’on va sortir de l’activité le son cesse d’être
joué. L’utilisation d’un service va donc permettre de continuer à
jouer le son lorsqu’on aura changé d’activité ou qu’on aura éteint
l’écran.
Dans la pratique, une activité va démarrer le son. C’est sur cette
activité que se trouve l’interface utilisateur : boutons play/pause
,
etc. Lorsque l’utilisateur appuie sur play
, l’activité lance le
service qui va jouer le son. L’utilisateur peut alors sortir de
l’activité, utiliser d’autres activités ou même éteindre
l’écran. Lorsque que l’utilisateur revient vers l’activité initiale et
appuie sur stop, cette dernier envoie un message au service pour
arrêter le son.
Exercice à faire
Créer un service capable d’afficher des toasts régulièrement.
Présentation
Expliquer ce qu’est un service, comment créer et lancer un service.
Sujet 3 – Localisation / GPS et autres
Android dispose de différentes de localisation (dont en particulier le
GPS, mais aussi la localisation via le réseau GSM). On peut utiliser
les données cartographiques de l’application Maps pour afficher une
carte sur l’écran.
Exercice à faire
Afficher la localisation, avec la précision. L’application devra
pouvoir mettre à jour la position régulièrement : un bouton permettra
d’activer ou de déactiver la mise à jour automatique de la
position. Une carte doit afficher la position du téléphone.
Présentation
Expliquer le principe de la localisation sur Android, et comment aller
chercher la carte pour l’afficher dans votre application.
Sujet 4 – Capteurs et écran tactile
Les téléphones mobiles sont truffés de capteurs : GPS, accéléromètre, etc.
Le système permet de vérifier si les capteurs sont présents ou non, et
de faire différents réglages.
D’autre part l’écran tactile permet de reconnaître la position d’un
doigt. Les appareil récents sont capables de détecter plusieurs doigts
simultanés.
Exercice à faire
Développer une démo permettant de faire bouger une balle en fonction
de l’inclinaison de l’appareil : plus l’inclinaison est forte plus
la balle ira vite, dans le sens de l’inclinaison. Elle devra
rebondir sur les bords et aussi sur le doigt si l’utilisateur pose son
doigt sur l’écran (reconnaître au moins 1 doigt).
Présentation
Expliquer comment vérifier la présence d’un capteur et comment
récupérer des données dessus.
Expliquer le fonctionnement de l’écran tactile.
Sujet 5 – Notifications
Android permet de programmer des notifications qui vont apparaître sur
l’écran à un moment donné. Ces notifications peuvent signaler un
événement (par exemple la fin d’un morceau joué par le lecteur
multimédia), ou un rappel (de type alarme), ou encore signaler un
événement extérieur (reçu par le téléphone, comme une news par exemple).
Exercice à faire
Développer une application permettant d’afficher une notification à
une heure donnée (type rappel).
Présentation
Présentez les différents types de notifications et indiquez comment
envoyer une notification.
Binômes
- binôme 1 : Tony/Guillaume – Sujet 3 – Localisation
- binôme 2 : Jérémy/Yasmina – Sujet 4 – Capteurs/écran tactile
- binôme 3 : Nassim/Raouia – Sujet 1 – Appareil photo
- binôme 4 : Walid/Assia – Sujet 2 – Service
- Sujet 5 – Dom