TP00 Convertisseur de devises I. Création de l`interface
Transcription
TP00 Convertisseur de devises I. Création de l`interface
M2-SILI Développement sous Android TP00 année 2016/2017 Convertisseur de devises Ce TP consiste à réaliser un convertisseur de devises. L'utilisateur pourra saisir un montant en euros et la conversion de ce montant vers d'autres devises apparaîtra à l'écran. I. Création de l'interface L'interface principale est assez simple, elle est composée d'un champ d'édition (un EditText) avec son titre (un TextView) pour saisir le montant que l'on veut convertir puis d'une liste de devises avec la conversion obtenue. L'activité est donc ici une ListActivity avec un « Adapter » spécifique au problème à réaliser. Cet Adapter n'utilisera plus le rendu par défaut pour instancier les éléments de la liste mais une ressource XML adaptée (un layout) que vous allez écrire et enregistrer sous le nom de ligne.xml. Le layout sera donc composé de deux widget ImageView. Le constructeur de l'Adapter doit donc rappeler le constructeur de sa super classe pour prendre en compte le layout pour l'inflation. Il faut aussi redéfinir la méthode getView qui est appelée chaque fois qu'un élément de la liste a besoin d'être affiché. C'est dans cette méthode que vous allez instancier le layout ligne.xml avec les bonnes valeurs. La fonction getView doit retourner une View correspondant à la ligne correctement instanciée. Pour cela il est nécessaire de créer un LayoutInflater qui chargera le layout décrit dans ligne.xml, puis modifiera les champs du layout en affectant les valeurs correspondant à la devise que l'on souhaite afficher. Un menu d'options doit être ajouté pour rafraîchir les montants convertis lorsque l'utilisateur à modifié le montant de référence en euros. Pour afficher le menu d'options, il faut redéfinir la méthode onCreateOptionsMenu de l'activité (vue en cours). Pour déclencher une action lorsque l'utilisateur clique sur une des options du menu, il faut redéfinir la méthode onOptionsItemSelected. 1/2 M2-SILI Développement sous Android année 2016/2017 Les devises ainsi que leur valeur de conversion sont lues depuis un fichier qui sera fourni comme « assets » dans votre application. Vous pouvez le télécharger en suivant le lien : http://www.info.univ-angers.fr/pub/barichar/page_perso/enseignements/android/ taux_20141028.csv L'activité devra, à son lancement, charger les données du fichier de devises dans l' Adapter lié à la ListView. Lorsque l'information quant à la devise n'est pas disponible, un « Not available » est affiché. L'utilisateur peut changer la valeur du champs de texte et lorsqu'il appuie sur l'item « Refresh » du menu d'options, tous les montants sont recalculés et affichés. Vous devez utilisez le processus d'inflation dès que possible, que cela soit pour les éléments de la liste ou les items du menu d'options ! Pour la lecture du fichier texte contenant les devises, vous pouvez utiliser les fonctions usuelles de Java concernant la lecture des fichiers. II. Mise à jour automatique des montants Afin de rendre l'application plus agréable à utiliser, vous devez faciliter la saisie en modifiant les options du champ texte concernant l' « inputType » ainsi que celui des « imeOptions » de manière à ce qu'un pavé numérique soit affiché. Lorsque l'utilisateur appuie sur « OK », le clavier disparaît, laissant apparaître toute la liste (cf. capture d'écran ci-dessous). Vous allez également faire en sorte que tous les montants de la liste se mettent à jour automatiquement sans avoir besoin d'appuyer sur « Refresh ». Pour cela, il faut ajouter un « TextWatcher » au champ texte qui sera chargé de mettre à jour l'Adapter après chaque modification de la valeur de référence en euros. 2/2