Telechargé par xavier2003

Cours 1 - Introduction

publicité
Développement d'une
application mobile I 420-3A4-SO
Cours #1
BONNES PRATIQUES, CYCLE DE VIE ET
INTRODUCTION A ANDROID
Bonnes pratiques

Les 4 qualités à garder en tête lors du développement

Expérience

UI vs UX

Fonctionalité

Performance & Stabilité

Sécurité & Confidentialité
Bonnes pratiques

Respect des nomenclatures

Nom de classes commence avec Majuscule

Nom de méthodes et attributs en minuscule


"m" au début des membres d'une classe: Ok, pas renforcé
Standard des parenthèse et accolades
if (b = 3) {
doSomething();
}
if (b=3) doSomething();
if (b=3)
doSomething();
Bonnes pratiques

Utilisation des annotations Java

@Override

@Deprecated

@SuppressWarning


Logging


Avec parcimonie
Ok, mais pas trop !
Commentaires

On le répète jamais assez.
Thème d'une application

Accent sur l'accessibilité

S'assurer du contraste entre le texte et le background

https://material.io/resources/color/

Démo personnalisation de theme

Colors.xml vs theme.xml
Cycle de vie d'une activité



onCreate()

Initialisation de l'activité

ViewBinding, Listeners, saveState…
onStart()

L'application s'affiche a l'écran

Animations, éléments visuels variables
onResume()


onPause()


L'application est mise en background
onDestroy()


L'application perd le focus
onStop()


L'application est en avant-plan, prête a intéragir avec l'utilisateur
L'application est en train de se fermer complètement
onRestart()

L'application reprend de son arrêt et redémarre
Durée de vie

Durée de vie entière


Durée de vie visible


Tout ce qui est entre "onCreate" et "onDestroy"
Entre "onStart" et "onStop"
Durée de vie de premier plan

Entre "onResume" et "onPause"
Exercice sur le cycle de vie

Créer une nouvelle application vide

Implémenter toutes les méthodes du cycle de vie

Dans chacune, ajouter un log

Log.d("MainActivity", "NomDeLaMethode");

Démarrer l'émulateur

Ouvrir la console Logcat et filtrer "MainActivity"

Explorer les réactions du lifecycle

Trouvez quelque chose d'inattendu… !

Retour sur le prochain cours
Ressources Android

Ajout d'icône vectorielles

Importation d'images

Le chat et le chien

Ajouter un bouton "Switch" au centre de la fenêtre

Ajouter une ImageView "benjo"

ContentDescription - Accessibilité

ConstraintLayout - Afficher l'image directement au dessus du bouton
Interactivité

Accéder au ressources et au composantes


findViewById
Ajouter un Listener sur le bouton
btnSwitch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switchImage();
}
});

Toast, Snackbar

Listener Snackbar - class implements View.OnClickListener avec un
@Override sur onClick(View v)
Exercice

Avec les images fournies de face de dé, créer une application de
"Dice roller"

L'application doit rouler le dé dès l'ouverture

On doit avoir un bouton qui nous permet de (re)rouler le dé autant de
fois qu'on le désire

L'image du dé doit réfléter le résultat

Afficher un message à l'utilisateur du résultat

"Vous avez rouler un 4"

Dans ce message, je veux une action pour retourner au résultat précédent
Téléchargement