Comme chaque semaine, mon nouvel article ! Si vous avez lu mon précédent article “TextWatcher en kotlin”, vous savez qu’actuellement je travaille sur une nouvelle application que je présenterai prochainement. Dans cette application, je vais utiliser deux activités (activity) qui communiqueront entre elles pour s’échanger des données. Dans cet article je vais vous rappeler la notion d’activité (activity) et vous expliquez comment gérer plusieurs activités sur votre application android. Nous verrons également la notions d’intent avec les activités sans trop rentrer dans les possibilités que la notion nous offre. La notion d’intent possède beaucoup de fonctionnalités qui nécessitent d’être traitées dans un ou plusieurs articles pour aborder l’essentielle.
Une activity c’est quoi ?
Une activité (en anglais : activity) sur android c’est le cœur de l’application. Une activité c’est un fichier et c’est aussi une classe. Elle gère l’écran de l’application sur lequel l’utilisateur peut interagir. Elle s’appuie sur un fichier XML qui généralement porte le même nom. L’activité possède la méthode Oncreate. Cette méthode initialise l’activité à partir d’un fichier XML (méthode setContentView() ). Pour caricaturer, une activité c’est un écran ou une page de votre application. À la création de votre projet Android Studio vous génère l’activité avec son fichier xml associé.
Votre application peut posséder plusieurs écrans donc plusieurs activités. L’utilisateur peut dans son application jongler par exemple avec un menu (première activity) et une page de paramètres (deuxième activity).
La création d’une seconde activity
Il y a plusieurs façons de rajouter une activité à notre projet. Le plus simple c’est de passer par le générateur de code de notre environnement de développement.
(clic droit dans l’onglet latéral de notre projet => “New”, => “Activity” => “Empty Activity”)
Cet outil va nous générer automatique le code de notre activité après qu’on l’ait configurée. Pour configurer cette activité, il suffit de compléter la fenêtre (ci-dessous) qui vient d’apparaître.
La case “Generate Layout File” va vous générer votre fichier XML layout. La deuxième case “Luncher Activity”, indique que ça sera votre première activité a être lancée à chaque démarrage de l’application. La dernière case “Backards Compatibility (AppCompat)” à une importance que visuel, elle ajoute à votre activité un thème que vous pouvez configurer.
cliquez ensuite sur Finish et android studio s’occupe de configurer et de générer les fichiers pour vous.
Dans le fichier AndroidManifests.xml, on peut apercevoir quelques modifications, notamment l’ajout de l’activity avec son nom.
Le fichier Manifest est très utile car il présente les informations essentielles de votre application android. Par exemple : Il indique le nom du package qui sert d’identifiant unique pour l’application, Il décrit les composants de l’application (les activités, les services), Il précise l’icône associée à votre application, ect…
Si vous souhaitez vous renseigner un peu plus sur le fichier manifest, je vous recommande de lire cette page.
La communication entre deux activités
La communication entre deux activités peut s’effectuer de plusieurs façons différentes (échange de données, changer d’activité, etc… ). Il serait trop long de vous préciser l’ensemble des solutions qu’il serait possible de faire. Dans mon cas, je vais vous présenter la communication à travers le changement d’activité que j’utilise notamment dans le développement de ma prochaine application.
Petit exemple
J’ai développé une petite application . Le but de cette application est de vous faire comprendre rapidement comment jongler avec vos activités. Pour cette application, j’ai créé une activité basique avec un bouton. Ce bouton permettra à l’utilisateur après le clic de se rendre sur une deuxième activité avec un bouton de retour. Ce bouton retour, renverra l’utilisateur vers la première activité.
la méthode startActivity
La méthode startActivity permet de lancer une nouvelle activité à l’écran qui vient s’empiler sur la première. Cette méthode demande en paramètre un Intent.
Un Intent c’est un objet qui décrit une opération à exécuter. Il peut être utilisé avec startActivity pour lancer une Activity, broadcastIntent où BroadcastReceiver pour faire de l’émission/réception et Context.startService ou Context.bindService pour communiquer avec un processus en arrière – plan.
L’intent s’initialise avec la méthode “Intent” qui porte le même nom. Elle demande en paramètre un contexte de départ et un contexte d’arrivée. Pour comprendre, reprenons notre exemple. Je souhaite depuis ma première activité aller sur ma deuxième activité. Par conséquent, mon contexte de départ c’est ma première activité et le contexte d’arrivé c’est ma deuxième activité.
Pour finir voici le code lors du clics sur le bouton “changer d’activity”. Le clics sur le bouton viendra appeler la méthode startActivity :
Et voici le code lors du clics sur le bouton “retour”. Le clics sur le bouton viendra appeler la méthode startActivity :
Merci d’avoir lu ! Maintenant, si vous avez aimé le contenu de l’article, si vous connaissez une personne à qui cet article peut intéresser, n’hésiter pas à le liker et à le partager sur les réseaux sociaux. Si vous souhaitez me faire part de vos remarques, de vos problèmes, de vos suggestions de prochain article ou tout simplement de votre soutien n’hésitez pas à m’en faire part dans les commentaires, je vous en remercie.
- 15Partages
C’est très cool et bien détaillé.merci
Je vous remercie, ça fait plaisir d’avoir un retour comme le vôtre.
Un article clair et pédagogique !
Merci beaucoup