Exemples de code Android

Conception de l'interface utilisateur selon l'approche hybride

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

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

MainActivity.java

package net.codeandroid.hellodroidhybride;

import androidx.appcompat.app.AppCompatActivity;

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

public class MainActivity extends AppCompatActivity {

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

        // cette ligne doit précéder tout appel à findViewById
        setContentView(R.layout.activity_main);

        // récupération d'un composant et assignation d'un gestionnaire
        Button bouton = (Button)findViewById(R.id.bouton);
        bouton.setOnClickListener(new Toaster());
    }

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

        @Override
        public void onClick(View bouton) {
            String texteMessage = getString(R.string.message);
            Toast message = Toast.makeText( MainActivity.this,
                    texteMessage, Toast.LENGTH_SHORT);
            message.show();
        }
    }
}

activity_main.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/texte_fenetre" />

    <!-- on a besoin de créer un ID pour y accéder dans le code Java -->
    <Button
        android:id="@+id/bouton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="@string/texte_bouton" />

</LinearLayout>

activity_main.xml

<resources>
    <string name="app_name">Hellodroid Hybride</string>
    <string name="texte_fenetre">
        Pressez le bouton pour recevoir un gentil message de Bugdroid.
    </string>
    <string name="texte_bouton">Afficher le message</string>
    <string name="message">Bugdroid vous dit bonjour!</string>
</resources>