====== Android(3) : Application avec appel de sous-activités ====== ===== 1. Description du projet à réaliser ===== Afin de gérer son inventaire, une société veut disposer d'une application sur mobile permettant à ses salariés de recenser les articles en stocks. L'application sera composée de 3 fenêtres : * La fenêtre principale qui permet d’appeler les 2 autres fenêtres * Une fenêtre dédiée à la saisie d’un article * Une fenêtre dédiée à l’affichage des articles {{ :promo_2025:slam:2maquette.png?600 |}} ===== 2. Mise en œuvre ===== Créer un nouveau projet (Type Empty View Activity), nommé Inventaire avec les mêmes caractéristiques que la première application déjà créée. ==== a. Réalisation de la fenêtre principale ==== {{ :promo_2025:slam:2ecran1.png?200|}} Dans une LinearLayout(Vertical) : * **tvTitre** « Articles en stock » (attribut gravity pour centrer) * **btAjoutArticle** « Ajouter un nouvel article », en cliquant sur ce bouton, la sous fenêtre AjoutArticle s’ouvre * **btListeArticles** « Liste des articles », en cliquant sur ce bouton, la sous fenêtre ListeArticles s’ouvre * **btQuitter** "Quitter", un clic sur ce bouton fera disparaitre l'application (mais ne la fermera pas). - Créer les libellés nécessaires dans le fichier strings.xml (libTvTitre, libBtAjout, libBtListe, libBtQuitter) - Compléter l'interface graphique : ajouter le titre et les 3 boutons - Tester l'affichage **Traitement du bouton "Quitter"** - Au niveau de la classe qui gère cette activité (MainActivity.java), ajouter la méthode initialisations() suivante : {{ :promo_2025:slam:2initialisations.png?600 |}} - Ajouter l'appel de cette méthode au niveau de la méthode onCreate. **Tester** - L'application s'effacera, mais restera présente dans la liste des applications ouvertes, ceci afin d'épargner à l'utilisateur le temps de recharge s'il désire revenir sur cette application. Jalon1 : fenêtre principale et bouton Quitter fonctionnel ==== b. Réalisation de l'activité "Ajouter un article" ==== === Réalisation de la fenêtre AjoutArticle === {{ :promo_2025:slam:2ecranajout.png?200|}} __Ajouter une nouvelle activité__ : clic droit au niveau de **app/java**., choisir **new**, puis **Activity** et **Empty View Activity**. Nommer cette activité AjoutArticleActivity, le layout sera activity_ajout_article, puis accepter les options proposées par défaut. Positionner **le titre et le bouton Quitter** pour l'instant === Appel de cette fenêtre depuis la fenêtre principale === La communication entre composants s'effectue à l'aide **d'intents**. Les intents sont des agents chargés de gérer le mécanisme permettant de faire exécuter certaines actions (comme lancer une nouvelle activité), ou de faire circuler des messages entre les applications. Au niveau de l'activité principale, l'ouverture de la fenêtre AjoutArticleActivity s'effectue en cliquant sur le bouton "Ajouter un article". Il faut donc modifier la classe **MainActivity.java** **Modifier MainActivity.java :** - Ajouter la méthode **demarrerAjout** pour gérer l'Intent qui lancera l'activité : {{ :promo_2025:slam:2demarrerajout.png?600 |}} - Ajouter le code suivant au niveau de la méthode **initialisations** :{{ :promo_2025:slam:2ajoutinitialisations.png?600 |}} - Jalon2 : Lien fenêtre principale vers fenêtre d'ajout d'un article - Comme pour l'activité principale, gérer le bouton **Quitter** de l'activité d'Ajout d'un article. Un clic sur ce bouton, provoquera un retour vers l'activité principale. - Jalon3 : "Quitter" fenêtre d'ajout d'un article fonctionnel - Finir la fenêtre d'ajout d'un article : Créer les libellés nécessaires et l'interface graphique - **4 PlainText** pour permettre la saisie de la référence, de la désignation, du prix (réel), quantité (entier) - **bouton** Ajouter - Jalon4 : fenêtre d'ajout d'un article terminée ==== c. Réalisation de l'activité "Lister les articles" ==== Créer l'activité **ListeArticleActivity**. Sur l'interface graphique, figureront : le titre (Liste des articles), et un bouton Quitter. - Gérer le bouton **Quitter** et l'**appel de la fenêtre ListeArticleActivity** depuis la fenêtre principale - Jalon5 : fenêtre de liste des articles terminée et lien avec page principale ===== 3. Questions ===== Répondre aux questions suivantes. Les réponses feront l'objet d'un **document publié sur le drive à la suite du précédent**. - Présenter le contexte, le travail réalisé et les éventuelles difficultés rencontrées. - Comment fait-on pour passer d'une activité à l'autre ? - Rechercher comment une activité peut passer des informations à une autre Montrer le document à Mme Thevenot