Exemples de code Android

Conception de l'interface utilisateur selon l'approche procédurale

Selon cette approche, Java est utilisé pour tout : créer les chaînes de caractères, faire la mise en page, créer les composants de l'interface utilisateur et assigner les gestionnaires d'événements.

L'application "Hellodroid Java" affiche un message dans un toast lorsque l'on clique sur un bouton.

MainActivity.java

package net.codeandroid.hellodroidjava;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // mise en page
        LinearLayout fenetre = new LinearLayout(this);
        fenetre.setOrientation(LinearLayout.VERTICAL);
        setTitle("Hellodroid Java");

        // texte de bienvenue
        TextView texte = new TextView(this);
        texte.setText(
                "Pressez le bouton pour recevoir un gentil message " +
                        "de Bugdroid.");
        fenetre.addView(texte);

        // bouton
        Button bouton = new Button(this);
        bouton.setText("Afficher le message");

        // assignation d'un gestionnaire de clic (Attention: Toaster
        // n'est pas une classe officielle!)
        bouton.setOnClickListener(new Toaster());

        fenetre.addView(bouton);

        // fixe la vue qui formera l'interface utilisateur
        setContentView(fenetre);
    }

    // gestionnaire d'événement (ici sous forme de classe interne)
    private class Toaster implements View.OnClickListener {

        @Override
        public void onClick(View bouton) {
            Toast message = Toast.makeText(MainActivity.this,
                    "Bugdroid vous dit bonjour!", Toast.LENGTH_SHORT);
            message.show();
        }
    }
}

Avec cette approche, aucune modification n'a besoin d'être apportée aux fichiers XML générés par Android Studio.