Ressources informatiques

Ressources informatiques

Ressources informatiques

Créer une interface simple Android

Documentation : developer.android.com : Build a Simple User Interface

Objectif : Créer une application permettant d'afficher dans une zone de texte (TextView) un message saisi dans une zone d'édition de texte (EditText). C'est un bouton (Button) appelé Copier qui permettra d'effectuer cette opération. Un bouton Effacer effacera le contenu de la zone d'édition de texte.

Créez une application Android

Suivez la docucmentation pour créer votre application Android

Créer l'interface

Zone de texte

Zone d'édition de texte

Les boutons

Résultat obtenu :

Créer une interface simple

Ecrire le code de l'application

Il faut modifier le fichier MainActivity.java

Créer des attributs privés dans la classe MainActivity afin de mémoriser la référence des composants de l'interface auquels il sera nécessaire d'accéder.

private EditText zoneDeSaisie;
private TextView zoneDeTexte;

Affecter, dans la méthode onCreate(), à ces attributs la référence des composants

// Associer les attributs avec les composants de l'IHM
zoneDeSaisie = (EditText) findViewById(R.id.editText);
zoneDeTexte = (TextView) findViewById(R.id.textView);

La méthode findViewById() permet de rechercher la référence d'un composant par son identifiant. Le suffixe de l'identifiant (après R.id) doit être l'id défini pour chacun des composants dans le fichier app > res > layout > activity_main.xml

Créez les methodes appelées lorque l'on clique sur chacun des boutons

Chacune de ces méthodes doit avoir le nom défini dans la propriété onClick des boutons

/** Fonction appelée lorsqu'on clique sur le bouton effacer */
public void onClickBoutonEffacer(View view) {
   zoneDeTexte.setText("");
}

/** Fonction appelée lorsqu'on clique sur le bouton copier */
public void onClickBoutonCopier(View view) {
   zoneDeTexte.setText(zoneDeSaisie.getText());
}

Le code complet :

package com.masociete.appli2;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    private EditText zoneDeSaisie;
    private TextView zoneDeTexte;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Associer les attributs avec les composants de l'IHM
        zoneDeSaisie = (EditText) findViewById(R.id.editText);
        zoneDeTexte = (TextView) findViewById(R.id.textView);
    }

    /** Fonction appelée lorsqu'on clique sur le bouton effacer */
    public void onClickBoutonEffacer(View view) {
        zoneDeTexte.setText("");
    }

    /** Fonction appelée lorsqu'on clique sur le bouton copier */
    public void onClickBoutonCopier(View view) {
        zoneDeTexte.setText(zoneDeSaisie.getText());
    }
}

Exécuter l'application

Résutat obtenu :

Créer une interface simple