:: Enseignements :: ESIPE :: E4INFO :: 2015-2016 :: Interface Graphique avec Android ::
[LOGO]

Ma première activité Android, vues graphiques, layout simple et action



Exercice 1 - Echauffement

Le but de ce premier exercice est de créer un simple projet Android en utilisant l'environnement de développement Android Studio.
Pour cette première application, nous utiliserons l'icône par défaut.

  1. Lancez Android Studio et créez une application nommée HelloIR avec pour package fr.umlv.android.helloir.
    Comment choisir avec sagesse la version minimale du SDK à utiliser ?
  2. Qu'est ce qu'une Activity ?
    Choississez une EmptyActivity.
  3. Une fois l'application créée, comment faire pour exécuter celle-ci dans un émulateur ?
  4. Que décrit le fichier XML res/layout/activiy_main.xml ?
    Comment est-il relié à la classe fr.umlv.android.helloir.MainActivity ?
    A quoi sert la classe fr.umlv.android.R située dans le répertoire gen ?
    Comment est-elle mise à jour ?
    Note: Si vous ne voyez pas ce répertoire, allez dans l'onglet Project à gauche de la fenêtre puis cliquez sur Android en haut et sélectionnez Project).
  5. Consultez le contenu du fichier AndroidManifest.xml généré. A quoi sert-il ?
  6. Ajoutez un champ de texte "Hello IR" au niveau de l'interface graphique. Pourquoi ne doit-on pas ajouter le contenu du texte en dur dans activity_main.xml ?
    Faites en sorte d'internationaliser l'application pour que le champ affiche "Salut IR" en français.

Exercice 2 - Linear Layout

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:paddingLeft="16dp"
    android:paddingRight="16dp"
    tools:context=".MainActivity" >

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="To" />

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:hint="Subject" />

    <EditText
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:gravity="top"
        android:hint="Message" />

    <Button
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="Send" />

</LinearLayout>
    
  1. Comment faire pour que le nom des champs de texte et du bouton ne soit pas entré en dur dans le fichier activity_main.xml ?
  2. On souhaite que lorsque l'utilisateur appuie sur le bouton "Send", un Toast s'affiche indiquant le sujet du message et à qui le message est envoyé.
    Comment créer et afficher un Toast (en utilisant Toast.makeText) ?
    Comment associer une méthode dans MainActivity avec le click du bouton "Send" ?
    Comment récupérer une référence sur une View graphique dans cette méthode ?
    Comment récupérer le texte d'un EditText ?
  3. Comment faire pour mettre un bouton "Default" à gauche du bouton "Send" ? (en utilisant toujours le LinearLayout)
    Indication, on peut mettre des LinearLayout dans les LinearLayout.
    Codez la solution proposée.
    Faites en sorte que lorsque l'utilisateur appuie sur le bouton "Default", un Toast indiquant "DEFAULT" s'affiche.
    Essayez d'implanter cette fonctionalité de deux façons différentes. Quelle est la meilleure ?
  4. On souhaite vérifier que le champ To est bien une adresse mail, pour cela changez le type de champ texte dans le layout/activity_main.xml.