:: Enseignements :: ESIPE :: E4INFO :: 2013-2014 :: Interface Graphique avec Android ::
![[LOGO]](http://igm.univ-mlv.fr/ens/resources/mlv.png) | Layouts, actions et intent |
Exercice 1 - Layouts et Menu
Le but de cet exercice est de manipuler différents layouts
(LinearLayout, RelativeLayout, TableLayout, GridLayout),
puis de tous les combiner dans un FrameLayout.
Chaque écran utilisant un layout particulier devra être défini dans son propre fichier XML.
-
Utiliser un LinearLayout pour obtenir le rendu suivant :
-
Utiliser un RelativeLayout pour obtenir le rendu suivant :
-
Utiliser un TableLayout pour obtenir le rendu suivant :
-
Utiliser un GridLayout pour obtenir le même rendu celui de la question précédente.
-
Créer un menu qui permettra de passer d'un layout à l'autre.
-
Faire en sorte qu'en fonction de l'item du menu choisi le bon rendu soit affiché.
Vous utiliserez un FrameLayout pour switcher entre les différents rendus.
Attention: ne pas oublier d'enlever la transparence de chaque layout au moyen de l'attribut "android:background"!
Exercice 2 - Intent
Le but de l'exercice est de lancer l'exécution d'une autre activité à partir de votre premier travail.
-
Créer une nouvelle activité nommée SendingSMSActivity à partir de l'assistant de création, en utilisant une BlankActivity. Indiquez l'Activité du premier exercice en tant que père de celle-ci.
-
Lier cette Activité au bouton1 : que devez-vous choisir (lien XML ou listener) ?
-
Dans cette nouvelle activité, afficher dynamiquement un message "Envoi de SMS": dans le code java, créer un TextView tv, puis en utilisant setContentView(tv).
-
Créer une nouvelle activité qui sert à éditer un email avec trois champs éditables (destinataire, sujet, message) et un bouton d'envoi. Cette activité sera créée statiquement au moyen d'un fichier XML. Lier cette activité au bouton2. Comment faire pour éviter de créer trop d'objets?
- Bonus:
Nous souhaitons améliorer l'activité affichant le message "Envoi de SMS" en envoyant réellement un SMS.
Pour envoyer un SMS, vous pouvez utiliser le SmsManager. En utilisant la méthode statique getDefault(), vous aurez accès à une instance sur laquelle vous pourrez invoquer la méthode sendTextMessage("PhoneNumber",null,"Text",null,null);. ATTENTION : pour que cela fonctionne, vous devez autoriser votre application à utiliser la fonctionalité SMS. Pour cela, modifier votre Manifest en ajoutant uses-permission android:name="android.permission.SEND_SMS" .
© Université de Marne-la-Vallée