2021-02-17 | Kotlin | Composants
Contexte
Permet d'accéder aux ressources, à des services de base (alamre, notifications…)
Le SDK permet de récupérer le contexte facilement
Exemple de récupération du contexte :
Manifest
- Ficher xml qui définit la configuration de l'application
- Définit les composants d'une app (Activités, permissions, services…)
- Utilisé par le système pour gérer l'app (lancer l'application…)
- Fichier obligatoire dans toute les applications
Permissions
- Les permissions sont renseignées dans le manifest
- Elles permettent de protéger la vie privée des utilisateurs
- Etre transparent par rapport aux utilisateurs
Features
- Les features sont renseignées dans le manifest
- Utilisation de composants hardware du téléphone (exemple : NFC - paiement sans contact)
- Indiquer les features obligatoire pour utiliser l'application
- Si le téléphone n'a pas la feature indiquée, alors il n'est pas possible d'installer l'application (elle n'apparaît pas dans le playstore)
Application
- Définit les composants de l'application
Intents, Intentions
- Permettent de décrire une action à éxecuter
- Communiquer avec les autres composants du système (ex : lancer la caméra, appeler un numpéro de téléphone, connaîtrela position de l'utilisateurs…)
Par exemple, pour passer d'une vue à une autre, c'est le SDK qui s'en charge. On indique alors cette action avec les intents.
Une intention se décompose en 3 parties :
- Origine : créer l'intention
- Système : traiter l'intention
- Destination : éxecuter l'intention
L'origine et la destination peuvent être la même application.
Inbtentions explicite
Je peux fournir toute les informations
Intentions implicite
Je ne peux pas forunir toute les infos (par exemple je ne sais pas par quel application l'utilisateur envoie des mails - gmail, yahoo…)
Filtres d'intentions
- Déclarer uen lmiste d'intentions
- Dire à quelle action je suis capable de répondre
- Déclarées dans le manifest
Passer des données
On peut utiliser putExtra pour partager des données via un intent (= Bundle)
Dans l'exemple ci-dessus, on utilise une valeur en dur, mais on peut également passer des models que l'on a nous-même créé (getParcelableExtra()), ou des valeurs issues d'un formulaire par exemple.