Android
Android
Android est un système d'exploitation basé sur Linux. Il est conçu principalement pour les
appareils mobiles à écran tactile tels que les tablettes et les smartphones. Le système
d'exploitation Android s'est développé au cours des 15 dernières années, depuis les téléphones
noirs et blancs jusqu'aux smartphones ou mini-ordinateurs récents.
android est un système d'exploitation puissant qui prend en charge un grand nombre
d'applications dans les smartphones et autres appareils compatibles. Ces applications sont plus
confortables et plus avancées pour les utilisateurs. Le matériel qui supporte le logiciel android
est basé sur une plateforme d'architecture ARM. android est un système d'exploitation open
source, ce qui signifie qu'il n'y a pas de frais de licence, de distribution ou de développement
et que tout le monde peut l'utiliser. L'android a des millions d'applications disponibles qui
peuvent vous aider à gérer votre vie facilement et il est disponible à bas prix sur le marché,
c'est pourquoi l'android est très populaire.
Histoire d'Android
Les noms de code d'Android sont actuellement de A à P, tels que Aestro, Blender, Cupcake,
Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat,
Lollipop, Marshmallow, Nougat, Oreo et Pie. Comprenons l'histoire d'Android ci-dessous.
Andy Rubin a fondé Android Incorporation à Palo Alto, en Californie (États-Unis) en octobre
2003.
Google a acquis android Incorporation le 17 août 2005. Depuis lors, elle est dans la filiale de
Google Incorporation.
Les principaux employés d'Android Incorporation sont Andy Rubin, Rich Miner, Chris White
et Nick Sears.
Android est le surnom d'Andy Rubin donné par ses collègues de travail en raison de son
amour pour les robots. Google annonce le développement de l'OS Android en 2007.
Le premier téléphone fonctionnant sous le système d'exploitation Android est le T-Mobile G1.
HTC a lancé le premier mobile Android en 2008.
Caractéristiques d'Android
Étant donné qu'Android est open source et que les fabricants peuvent le personnaliser
librement, il n'existe pas de configuration matérielle et logicielle fixe.
1. Stockage - Utilise SQLite, une base de données relationnelle légère, pour le stockage des
données.
2. Connectivité - Prise en charge de GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth
(y compris A2DP et AVRCP), WiFi, LTE et WiMAX.
3. Messagerie - Prend en charge les SMS et les MMS.
4. Navigateur Web - Basé sur le logiciel libre WebKit, ainsi que sur le moteur JavaScript V8
de Chrome.
5. Prise en charge des médias - Comprend la prise en charge des médias suivants : H.263,
H.264 (dans un conteneur 3GP ou MP4), MPEG-4 SP, AMR, AMR- WB (dans un conteneur
3GP), AAC, HE-AAC (dans un conteneur MP4 ou 3GP), MP3, MIDI, Ogg Vorbis, WAV,
JPEG, PNG, GIF et BMP.
6. Support matériel - Accéléromètre, appareil photo, boussole numérique, capteur de
proximité et GPS Multi.
7. Multi-touch - Prise en charge des écrans multi-touch Multi.
8. Multi-tâches - Prise en charge des applications multi-tâches.
9. Support Flash - Android 2.3 supporte Flash 10.1.
10. Tethering - Prise en charge du partage de connexions Internet en tant que point d'accès
filaire ou sans fil.
Versions d'Android
Version Date Nom de code Niveau API
1.0 23 septembre 2008 Aucun nom de version 1
1.1 9 février 2009 Petit Four 2
1.5 27 avril 2009 Cupcake 3
1.6 15 septembre 2009 Donut 4
2.1 26 octobre 2009 Eclair 7
2.2 20 mai 2010 Froyo 8
2.3 6 décembre 2010 Gingerbread 9 et 10
3.1 et 3.3 22 février 2011 Honeycomb 12 et 13
4.0 18 octobre 2011 Ice Cream Sandwitch 15
4.1, 4.2 et 4.3 9 juillet 2012 Jelly Bean 16, 17 et 18
4.4 31 octobre 2013 KitKat 19
5.0 12 novembre 2014 Lollipop 21
6.0 5 octobre 2015 Marshmallow 23
7.0 22 août 2016 Nougat 24-25
8.0 21 août 2017 Oreo 26-27
9.0 6 août 2018 Pie 28
10 3 septembre 2019 Android 10 29
11 8 septembre 2020 Android 11 30
ARCHITECTURE ANDROID
Noyau Linux ou Linux kernel
Android utilise le puissant noyau Linux et prend en charge une large gamme de pilotes
matériels. Le noyau est le cœur du système d'exploitation qui gère les demandes d'entrée et de
sortie des logiciels. Il fournit les fonctionnalités de base du système comme la gestion des
processus, la gestion de la mémoire, la gestion des périphériques tels que la caméra, le clavier,
l'écran, etc. Linux est très bon en réseau et il n'est pas nécessaire de l'interfacer avec le
matériel périphérique. Le noyau lui-même n'interagit pas directement avec l'utilisateur mais
plutôt avec le shell et d'autres programmes ainsi qu'avec les périphériques du système.
Bibliothèques Android
En plus d'un ensemble de bibliothèques de développement Java standard (fournissant un
support pour des tâches d'usage général telles que la manipulation des chaînes de caractères,
la mise en réseau et la manipulation des fichiers), l'environnement de développement Android
comprend également les bibliothèques Android. Il s'agit d'un ensemble de bibliothèques
basées sur Java qui sont spécifiques au développement d'Android. Parmi les exemples de
bibliothèques de cette catégorie figurent les bibliothèques du cadre d'application, ainsi que
celles qui facilitent la création d'interfaces utilisateur, le dessin graphique et l'accès aux bases
de données.
Bibliothèques C/C++
Les bibliothèques centrales du moteur d'exécution d'Android décrites dans la section
précédente sont basées sur Java et fournissent les principales API aux développeurs qui
écrivent des applications Android. Il est important de noter, cependant, que les bibliothèques
centrales n'effectuent pas une grande partie du travail réel et sont, en fait, essentiellement des
"enveloppes" Java autour d'un ensemble de bibliothèques C/C++. Lorsque l'on fait appel, par
exemple, à la bibliothèque [Link] pour dessiner des graphiques 3D sur l'écran du
périphérique, la bibliothèque fait en fait appel à la bibliothèque OpenGL ES C++ qui, à son
tour, travaille avec le noyau Linux sous-jacent pour effectuer les tâches de dessin.
Les bibliothèques C/C++ sont incluses pour remplir un large éventail de fonctions,
notamment le dessin graphique 2D et 3D, la communication SSL (Secure Sockets Layer), la
gestion de la base de données SQLite, la lecture audio et vidéo, le rendu des polices bitmap et
vectorielles, la gestion du sous-système d'affichage et de la couche graphique, ainsi qu'une
mise en œuvre de la bibliothèque système C standard (libc).
Le runtime Android
Au même niveau que les bibliothèques, le moteur d'exécution Android fournit un ensemble
de bibliothèques de base qui permettent aux développeurs d'écrire des applications Android à
l'aide de la plate-forme Java.
Le runtime Android comprend également la machine virtuelle Dalvik, qui permet à chaque application
Android de s'exécuter dans son propre processus, avec sa propre instance de la machine virtuelle Dalvik
(les applications Android sont compilées dans les exécutables Dalvik). Dalvik est une machine virtuelle
spécialisée conçue spécifiquement pour Android et optimisée pour les appareils mobiles alimentés par
batterie et dotés d'une mémoire et d'une unité centrale limitées.
Cadre d'application
Le cadre applicatif est un ensemble de services qui forment collectivement l'environnement dans lequel les
applications Android s'exécutent et sont gérées. Ce cadre met en œuvre le concept selon lequel les
applications Android sont construites à partir de composants réutilisables, interchangeables et
remplaçables. Ce concept est poussé un peu plus loin dans la mesure où une application est également
capable de publier ses capacités ainsi que les données correspondantes afin qu'elles puissent être trouvées et
réutilisées par d'autres applications.
Gestionnaire d'activités - Contrôle tous les aspects du cycle de vie de l'application et de la pile d'activités.
Fournisseurs de contenu - Permet aux applications de publier et de partager des données avec d'autres
applications.
Gestionnaire de ressources - Permet d'accéder aux ressources intégrées non codées, telles que les chaînes
de caractères, les paramètres de couleur et les dispositions de l'interface utilisateur.
Gestionnaire de notifications - Permet aux applications d'afficher des alertes et des notifications à
l'utilisateur.
Système de vues - Ensemble extensible de vues utilisé pour créer des interfaces utilisateur d'applications.
Package Manager - Système permettant aux applications de trouver des informations sur les autres
applications actuellement installées sur l'appareil.
Telephony Manager - Fournit des informations à l'application sur les services de téléphonie disponibles
sur l'appareil, comme l'état et les informations sur les abonnés.
Location Manager - Fournit un accès aux services de localisation permettant à une application de recevoir
des mises à jour sur les changements de localisation.
Applications
Au sommet du cadre android, il y a les applications. Toutes les applications telles que l'accueil, les contacts,
les paramètres, les jeux, les navigateurs utilisent le cadre android qui utilise le runtime et les bibliothèques
android. Le runtime Android et les bibliothèques natives utilisent le noyau linux.
INTRODUCTION À L'IDE ANDROID
STUDIO
android studio
Android Studio est l'environnement de développement intégré (IDE) officiel pour le développement
d'applications Android, basé sur IntelliJ IDEA .
structure du projet
L'image ci-dessus montre la vue du projet Android où vous aurez tous vos fichiers liés à votre projet. Ici,
nous avons un module Android Application qui se compose de Manifest, Java, Res Folders.
Dossier Manifest : Ce dossier se compose d'un fichier [Link] que le système Android exige pour
toutes les informations essentielles de l'application, comme :
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:icon">
<activity android:name=".TutorialsPanel"
android:parentActivityName=".Tutorials"></activity>
<activité
android:name=".Tutorials"
android:parentActivityName=".Tableau de bord" />
<activité
android:name=".QuizPanel"
android:parentActivityName=".QuizActivity" />
<activité
android:name=".QuizActivity"
android:parentActivityName=".Dashboard" />
<activité
android:name=".Questionnaires d'entretien" et
android:parentActivityName=".Dashboard" />
<activité
android:name=".Tableau de bord" (Dashboard)
android:label="@string/title_activity_dashboard"
android:theme="@style/[Link]" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="[Link]" />
</manifest>
Dossier Java : C'est ici que vous aurez tous vos fichiers Java et Kotlin.
Res Folder : Ce dossier se compose de tous les besoins médiatiques de l'application comme les dispositions
d'écran à l'intérieur de la mise en page, les images à l'intérieur de drawable, les polices, la couleur, les
chaînes et la dimension seront à l'intérieur des valeurs.
Barre d'outils : Toutes les actions nécessaires comme copier, coller, trouver, etc. avec l'exécution de
l'application, l'ouverture du gestionnaire SDK et d'autres outils.
Barre de navigation : Elle vous montre le chemin du fichier sur lequel vous travaillez.
Fenêtre de l'éditeur : Il s'agit de l'écran où tous vos fichiers sont ouverts, et où vous pouvez écrire du code,
concevoir des mises en page, etc. en fonction du type de fichier.
Barre d'outils : Il s'agit d'une fenêtre composée de plusieurs options que vous pouvez développer en
cliquant dessus.
Fenêtre d'outils : Vous verrez ici l'option que vous avez sélectionnée dans la barre de la fenêtre d'outils.
Barre d'état : Vous pouvez y vérifier l'état de votre projet.
Système de construction Gradle
Dans Android Studio, Gradle est un outil de construction personnalisé utilisé pour construire des fichiers
APK, en gérant les dépendances et en fournissant une logique de construction personnalisée.
Le fichier APK (Android Application Package) est un fichier zip spécialement formaté qui se compose de
Bytecode, de ressources (images, UI, XML, etc.) et d'autres éléments.
Dans ce chapitre, vous avez pris connaissance de tous les détails initiaux de l'EDI Android Studio. Cet EDI
comprend de nombreuses fonctionnalités qui rendront votre voyage en tant que développeur Android plus
confortable. Nous aborderons d'autres fonctionnalités une par une dans les prochains
chapitres.Android_Cours_03
COMPOSANTS DE L'APPLICATION
ANDROID
Les composants de l'application Android ou les blocs de construction de base sont les blocs de
construction de base d'une application Android et ces composants permettront au système ou
à l'utilisateur d'accéder à notre application.
Les éléments suivants sont les blocs de construction de base des composants d'application
Android qui peuvent être utilisés dans une application Android :
Activités
Intent
Services
Récepteurs de diffusion
Fournisseurs de contenu
Les Activités
Une activité représente un écran unique avec une interface utilisateur (IU) et sert de point
d'entrée aux utilisateurs pour interagir avec l'application.
Par exemple, une application de contacts qui comporte plusieurs activités comme l'affichage
d'une liste de contacts, l'ajout d'un nouveau contact et une autre activité qui permet de
rechercher les contacts dans la liste de contacts d'une application. Toutes les activités d'une
application de contacts sont indépendantes les unes des autres, mais ces activités fonctionnent
ensemble pour offrir une meilleure expérience à l'utilisateur.
Intents
Un intent est un objet de messagerie qui est utilisé pour demander une action à un autre
composant.
Intents implicites
Intents explicites
Services
Le service est un composant qui est un processus d'arrière-plan pour effectuer des opérations
de longue durée en fonction de nos besoins. Le service n'a pas d'interface utilisateur (UI) et il
peut exécuter les applications en arrière-plan pendant une longue période, comme jouer de la
musique en arrière-plan lorsque l'utilisateur est dans une autre application.
Services locaux
Services distants
Le service local est un service auquel on accède depuis l'application, tandis que le service
distant est un service auquel on accède à distance depuis d'autres applications fonctionnant sur
le même appareil.
Les Récepteurs de diffusion
Les récepteurs de diffusion sont des composants qui permettent à un système de transmettre
des événements à l'application, comme l'écoute d'un appel entrant, des sms, l'envoi d'un
message de batterie faible à l'application, etc. Les applications peuvent également lancer des
diffusions pour faire savoir aux autres applications que les données requises sont disponibles
sur un appareil pour l'utiliser. Il est utilisé pour gérer la communication entre le système
d'exploitation Android et les applications.
En général, nous utilisons des intentions pour transmettre des événements de diffusion à
d'autres applications et les récepteurs de diffusion utilisent les notifications de la barre d'état
pour informer l'utilisateur qu'un événement de diffusion se produit.
Fournisseurs de contenu
Les fournisseurs de contenu sont utilisés pour échanger les données entre les applications en
fonction des demandes. Les fournisseurs de contenu peuvent partager les données de
l'application qui sont stockées dans le système de fichiers, la base de données SQLite, sur le
Web ou tout autre emplacement de stockage auquel notre application peut accéder.
LE FICHIER MANIFESTE DE
L'APPLICATION ANDROID
Aujourd'hui, je voudrais vous aider du mieux que je le peux à comprendre le fichier manifeste
de l'application Android en tant que développeur android. Chaque application android que
vous construisez comprendra un fichier appelé [Link] qui est placé à la racine
de la hiérarchie du projet. Pourquoi est-il important ? Parce qu'il vous permet de définir la
structure et les métadonnées de votre application android et de ses composants.
//Image du manifeste
Le fichier Manifest de l'application Android comprend des nœuds pour chacun des
composants suivants :
Activités
Services
Fournisseurs de contenu
Récepteurs de diffusion
qui composent votre application et utilise les filtres d'intention et les autorisations pour
déterminer comment ils interagissent entre eux et avec les autres applications. Il vous offre
également des attributs que vous pouvez utiliser pour spécifier les métadonnées de
l'application, comme l'icône et le thème, entre autres.
Le fichier Android Application Manifest est composé d'une balise manifest racine dont
l'attribut package est défini sur le package du projet. Il comprend normalement un
attribut xmlns:android qui fournit plusieurs attributs système utilisés dans le fichier manifeste
de l'application Android.
<manifest xmlns:android="[Link]
xmlns:tools="[Link]
package="[Link]">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:replace="android:icon">
<activity android:name=".TutorialsPanel"
android:parentActivityName=".Tutorials"></activity>
<activité
android:name=".Tutorials"
android:parentActivityName=".Tableau de bord" />
<activité
android:name=".QuizPanel"
android:parentActivityName=".QuizActivity" />
<activité
android:name=".QuizActivity"
android:parentActivityName=".Dashboard" />
<activité
android:name=".Questionnaires d'entretien" et
android:parentActivityName=".Dashboard" />
<activité
android:name=".Tableau de bord" (Dashboard)
android:label="@string/title_activity_dashboard"
android:theme="@style/[Link]" />
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="[Link]" />
</manifest>
Comme indiqué précédemment, la balise manifest comprend des nœuds qui définissent les
composants de l'application, les paramètres de sécurité et même les classes de test qui
composent votre application cool. Faisons maintenant connaissance avec ces balises de nœud
de manifeste avec des exemples xml.
1)application - Un manifeste ne peut contenir qu'un seul nœud d'application. Il utilise des
attributs pour spécifier les métadonnées de votre application Android (titre, icône et thème).
En outre, il agit comme un conteneur qui inclut les balises Activity, Service, Content Provider
et Broadcast Receiver pour spécifier les composants de l'application :
activity - Pour chaque activité affichée par votre application android, une
balise activity est nécessaire. Vous la définissez en utilisant l'attribut
android:name pour spécifier le nom de la classe. Elle doit inclure l'activité
principale de lancement et tout autre écran ou boîte de dialogue qui peut
être affiché. Si vous essayez de lancer une activité qui n'est pas définie,
vous obtiendrez une exception d'exécution. Chaque nœud d'activité prend
en charge les balises enfant intent-filter qui spécifient les intents qui
lancent l'activité.
service - Comme pour l'étiquette Activity, vous devez créer un nouveau
service pour chaque classe Service utilisée dans votre application. Les
balises de service prennent également en charge les balises enfant intent-
filter pour permettre une liaison tardive au moment de l'exécution.
provider - Les balises provider sont utilisées pour chacun des
fournisseurs de contenu de votre application. Les fournisseurs de contenu
sont utilisés pour gérer l'accès aux bases de données et leur partage au
sein des applications et entre elles.
receiver - Vous pouvez enregistrer un récepteur de diffusion en ajoutant
une balise receiver sans avoir à lancer votre application au préalable. Les
récepteurs de diffusion ressemblent davantage à des écouteurs
d'événements globaux : une fois enregistrés, ils s'exécutent dès qu'une
application diffuse une intention correspondante.
2)uses-permission - fait partie du modèle de sécurité. Il déclare les permissions dont vous
avez déterminé que votre application a besoin pour fonctionner correctement. Les permissions
que vous incluez seront toujours présentées à l'utilisateur pour qu'il les accorde ou les refuse
pendant l'installation. De nombreux services android natifs nécessitent des permissions, par
exemple ceux qui ont des implications en termes de coût ou de sécurité. Exemples : services
de localisation, SMS, etc.
3)permission - Vous devez définir une permission dans le fichier manifeste de l'application
android avant de restreindre l'accès à un composant de l'application. Utilisez la balise
permission pour créer les définitions de permission. Les composants de l'application peuvent
ensuite les exiger en ajoutant l'attribut android:permission. Les autres applications devront
alors inclure une balise uses-permission dans leur fichier manifeste et obtenir une autorisation
avant de pouvoir utiliser ces composants protégés.
Dans la balise permission, vous pouvez spécifier le niveau d'accès autorisé (normal,
dangereux, signature, signatureOrSystem), un label et une ressource externe contenant la
description des risques liés à l'octroi de cette permission.
<< PREC
ACTIVITÉS ANDROID
Une activité est l'un des principaux éléments constitutifs du développement d'une
application Android. Elle représente un écran unique avec une interface utilisateur
(UI). ContextThemeWrapper est la super classe d'une activité. L'activité est le point
d'entrée principal d'une application Android, tout comme la méthode principale
d'un programme écrit en Java ou en C++. Une activité interagit avec l'utilisateur,
elle crée donc une fenêtre pour placer les éléments de l'interface utilisateur. Une
application Android peut contenir plusieurs activités, c'est-à-dire plusieurs écrans
différents qui peuvent interagir les uns avec les autres et indépendamment avec
l'utilisateur.
L'activité Android a son propre cycle de vie. Au cours de sa vie, elle peut effectuer
de nombreuses opérations. Les activités Android sont stockées et gérées dans une
pile appelée pile d'activités. Une nouvelle activité arrive en haut de la pile et
s'exécute, tandis que la précédente reste en dessous de la nouvelle activité dans la
pile. Lorsque l'activité supérieure de la pile sort, l'activité inférieure au sommet
devient active.
OnCreate() : C'est la première méthode de rappel d'une activité Android. Elle est
appelée lorsqu'une activité est créée. C'est là que vous définissez tous les trucs
comme les boutons, les vues, la case à cocher, TextView etc.
OnStart() : C'est la deuxième méthode de rappel. Elle est appelée lorsque
l'activité est visible à l'écran par l'utilisateur.
OnResume() : Elle est appelée après la méthode OnStart() si l'activité passe au
premier plan. C'est le moment où l'utilisateur commence à interagir avec l'activité.
OnPause() : Cette méthode est suivie de OnResume(). Cette méthode est appelée
lorsqu'une activité précédente est reprise.
OnStop() : Elle est appelée lorsqu'une autre activité est reprise et que cette activité
n'est plus visible pour l'utilisateur. Elle devient cachée.
OnDestroy() : C'est la méthode de rappel final lorsque l'activité est terminée.
OnRestart() : Elle est appelée lorsqu'une activité redémarre.
Voici l'exemple d'une activité Android. La première étape consiste à ouvrir votre
Android Studio et à créer un nouveau projet. L'assistant de nouveau projet vous
permettra de créer une nouvelle activité et le nom du nouveau projet est Activity
Lifecycle.
package [Link] ;
import [Link] ;
import [Link] ;
import [Link] ;
import [Link] ;
@Override
protected void onStart() {
[Link]() ;
Log.d("Activity Lifecycle", "onStart is invoked") ;
[Link]([Link], "onStart is
invoked",Toast.LENGTH_SHORT).show() ;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
[Link](savedInstanceState) ;
setContentView([Link].activity_main) ;
Log.d("Activity Lifecycle", "onCreate is invoked") ;
[Link]([Link], "onCreate is
invoked",Toast.LENGTH_SHORT).show() ;
}
@Override
protected void onStop() {
[Link]() ;
Log.d("Activity Lifecycle", "onStop is invoked") ;
[Link]([Link], "onStop is
invoked",Toast.LENGTH_SHORT).show() ;
}
@Override
protected void onResume() {
[Link]() ;
Log.d("Activity Lifecycle", "onResume is invoked") ;
[Link]([Link], "onResume is
invoked",Toast.LENGTH_SHORT).show() ;
}
@Override
protected void onPause() {
[Link]() ;
Log.d("Activity Lifecycle", "onPause is invoked") ;
[Link]([Link], "onPause is
invoked",Toast.LENGTH_SHORT).show() ;
}
@Override
protected void onDestroy() {
[Link]() ;
Log.d("Activity Lifecycle", "onDestroy is invoked") ;
[Link]([Link], "onDestroy is
invoked",Toast.LENGTH_SHORT).show() ;
}
}
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World !"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</[Link]>
Nom du fichier : [Link]
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<filtre d'intention>
<action android:name="[Link]" />
<category android:name="[Link]" />
</intent-filter>
</activity>
</application>
</manifest>
Sortie :
Vous verrez la sortie sur l'émulateur ou l'appareil ou logcot dans android studio.
Vous devez ouvrir logcat dans android studio.
// sortie IMAGE
Maintenant vous pouvez voir sur le logcat : les méthodes onCreate, onStart et
onResume sont invoquées et aussi voir dans le toast.
Maintenant vous pouvez cliquer sur le bouton HOME. Vous verrez que la méthode
onPause est invoquée.
Après un certain temps, vous verrez que la méthode onStop est invoquée.
Vous voyez maintenant qu'il est sur la page d'accueil. Cliquez maintenant sur le
bouton central pour relancer l'application.
Maintenant vous pouvez également voir sur le logcat : les méthodes onRestart,
onStart et onResume sont invoquées.
Cliquez maintenant sur le bouton retour. Vous pouvez maintenant voir que la
méthode onPause est invoquée.
Après un certain temps, vous verrez que les méthodes onStop et onDestroy sont
invoquées.
ANDROID FRAGMENT
Un fragment Android est un morceau d'une activité qui permet une conception plus
modulaire de l'activité. Il ne serait pas faux de dire qu'un fragment est une sorte de
sous-activité. Dans une activité Android, il est utilisé pour créer une interface
utilisateur (UI) dynamique et flexible. Un fragment Android a son propre cycle de
vie, mais il est toujours intégré à une activité de sorte que le cycle de vie des
fragments Android est directement affecté par le cycle de vie des activités hôtes et
les fragments Android reçoivent leurs propres événements d'entrée. Dans une
application androïde, nous pouvons utiliser plusieurs fragments androïdes dans une
seule activité d'une application pour créer une interface utilisateur (UI) multivolets
et nous pouvons également utiliser un seul fragment dans plusieurs activités.
Maintenant, le gestionnaire de fragments est responsable de l'ajout ou la
suppression ou le remplacement des fragments au moment de l'exécution dans
n'importe où d'une activité. Lorsque nous ajoutons un fragment dans une activité, il
vit dans un ViewGroup dans le côté de la hiérarchie de vue des activités et le
fragment définit sa propre disposition de vue en déclarant le fragment dans le
fichier de mise en page des activités comme un élément <fragment> ou à partir du
code de l'application en l'ajoutant à un ViewGroup existant.
ListFragment
DialogFragment
PreferenceFragment
WebViewFragment
ListFragment
ListFragment est similaire à ListActivity et contient une ListView par défaut. Son
but est d'afficher une liste d'éléments. Nous avons utilisé ListFragment ; voir la
section Création et gestion des fragments pour ListFragment.
DialogFragment
Un DialogFragment affiche un dialogue au-dessus de l'activité de son propriétaire.
Nous allons créer un fragment qui possède un bouton Supprimer. Lorsque l'on
clique sur le bouton, une boîte de dialogue DialogFragment s'affiche.
PreferenceFragment
PreferenceFragment contient une hiérarchie d'objets de préférences sous forme de
listes. Ces préférences seront automatiquement enregistrées dans sharedPreferences
au fur et à mesure que l'utilisateur interagit avec elles. Pour récupérer une instance
de SharedPreferences que la hiérarchie de préférences de ce fragment utilisera,
appelez [Link]([Link])
avec un contexte dans le même package que ce fragment.
WebViewFragment
//image
onAttach()
Cette méthode est appelée avant même les méthodes de rappel onCreate() et après
avoir attaché le fragment à l'activité. Si Android SDK Version(API Level<23) il
prend une activité comme une référence qui accueillera le fragment sinon il prend
Contexte comme une référence. En utilisant cette référence, nous pouvons obtenir
les services du système et initialiser les événements interactifs du fragment, etc.
onCreate()
Cette méthode est appelée lors de la création du fragment et il prend Bundle comme
une référence qui est utilisé pour initialiser les composants nécessaires et de stocker
sa valeur que vous voulez conserver lorsque le fragment est en pause ou arrêté
l'état, puis [Link] le fragment est mis en œuvre pour la première fois dans
l'activité Bundle objet est nul.
onCreateView()
Dans cette méthode lorsque le fragment est ajouté à une activité pour la première
[Link] devez retourner une vue de cette méthode qui est la racine de la mise en
page de votre fragment. Si le fragment ne fournit pas une interface utilisateur (UI),
vous pouvez retourner null.
onActivityCreated()
Cette méthode est appelée après que le callback Activity onCreate() ait terminé son
exécution. Cette méthode est une indication que l'activité a terminé son exécution
avant que nous essayions d'accéder sans interruption et de modifier les éléments de
l'interface utilisateur (IU) de l'activité.
onStart()
Cette méthode est appelée une fois que le fragment android devient visible dans
l'activité après le callback onStart() de l'activité.
onResume()
Cette méthode est appelée lorsque l'utilisateur interagit avec les fragments android
dans l'activité après le callback onResume() de l'activité.
Si un fragment n'est plus utilisé, il passe par une série inverse de rappels.
onPause()
Cette méthode est appelée lorsque le fragment n'est plus utilisé pour interagir avec
l'utilisateur, soit parce que son activité est en état de pause, soit parce qu'une
opération du fragment le modifie dans l'activité.
onStop()
Cette méthode est appelée lorsque le fragment n'est plus utilisé pour interagir avec
l'utilisateur, soit parce que son activité est en état d'arrêt, soit parce qu'une
opération de fragment le modifie dans l'activité.
onDestroyView()
Cette méthode est appelée pour permettre au fragment de nettoyer les ressources
associées à sa vue dans l'activité.
onDestroy()
Cette méthode est appelée pour faire le nettoyage final de l'état du fragment.
onDetach()
Cette méthode est appelée pour que le fragment ne soit plus associé à son activité.
INTENT ANDROID
Un Intent est un objet de messagerie que vous pouvez utiliser pour stimuler un
composant d'une application. Les intents vous permettent d'interagir avec des
composants qui appartiennent soit à la même application, soit à l'extérieur de cette
application. Il s'agit d'une description abstraite d'une opération à effectuer. L'objet
Intent contient des informations qui sont utilisées soit par les composants qui
reçoivent cette intention, soit par le système Android lui-même. L'intention peut
être utilisée pour : Démarrer une activité, Démarrer un service, Diffuser une
émission, Afficher une page web, etc.
Objets d'intent
Flags (Drapeaux) : Ces drapeaux sont définis dans la classe d'intention qui
fonctionnent comme des métadonnées pour l'intention et les drapeaux peuvent
demander au système Android de lancer une activité d'une manière spécifique.
Les intents explicites : Un intent explicite est le type d'intention dans lequel vous
définissez explicitement le composant qui doit être appelé par le système Android.
En général, les intentions explicites sont utilisées pour lancer des composants dans
votre propre application. Pour créer une intent explicite
Intents implicites : L'intent implicite est le type d'intention où, au lieu de définir les
composants exacts, vous devez définir l'action que vous voulez exécuter pour les
différentes activités. Pour créer une intent implicite :
Filtres d'intents
Un filtre d'intent Android est une expression. Elle est exprimée dans le fichier
manifeste d'une application andoid. Il définit le type d'intention que le composant
doit recevoir. Android Os utilise des filtres pour identifier l'ensemble des activités,
des services et des récepteurs de diffusion qui peuvent traiter l'intention à l'aide
d'un ensemble spécifié de catégories d'actions, de données et de schémas associés à
une intention. S'il n'y a pas de filtre d'intent pour une activité, seule une intention
explicite peut la lancer.
Pour des raisons de sécurité, le filtre d'intent ne peut pas être utilisé pour le service.
Le service peut démarrer sans avertir l'utilisateur et s'exécuter en arrière-plan.
L'architecture Android de votre appareil trouvera le composant déclaré dans un
filtre d'intention et le recherchera dans toute l'application Android. Lorsqu'il est
trouvé, il démarre l'activité correspondante et exécute l'action appropriée.
Dans Android, un composant a des filtres séparés pour chaque tâche qu'il peut faire,
chaque visage qu'il peut montrer à l'utilisateur. Par exemple, l'activité NoteEditor
de l'exemple d'application de bloc-notes a deux filtres : un pour démarrer une note
spécifique que l'utilisateur peut visualiser ou modifier, et un autre pour démarrer
une nouvelle note vierge que l'utilisateur peut remplir et enregistrer.