Android - Activités

Une activité représente un écran unique avec une interface utilisateur comme la fenêtre ou le cadre de Java.Android activity est la sous-classe de la classe ContextThemeWrapper.

Si vous avez travaillé avec un langage de programmation C, C ++ ou Java, vous devez avoir vu que votre programme démarre à partir de main()fonction. De manière très similaire, le système Android lance son programme avec dans unActivitycommençant par un appel à la méthode de rappel onCreate () . Il existe une séquence de méthodes de rappel qui démarrent une activité et une séquence de méthodes de rappel qui détruisent une activité, comme indiqué dans le diagramme du cycle de vie de l'activité ci-dessous: ( image fournie par: android.com )

La classe Activity définit les rappels suivants, c'est-à-dire les événements. Vous n'avez pas besoin d'implémenter toutes les méthodes de rappel. Cependant, il est important que vous compreniez chacun d'eux et implémentiez ceux qui garantissent que votre application se comporte comme les utilisateurs l'attendent.

Sr. Non Rappel et description
1

onCreate()

Il s'agit du premier rappel et est appelé lorsque l'activité est créée pour la première fois.

2

onStart()

Ce rappel est appelé lorsque l'activité devient visible pour l'utilisateur.

3

onResume()

Ceci est appelé lorsque l'utilisateur commence à interagir avec l'application.

4

onPause()

L'activité mise en pause ne reçoit aucune entrée de l'utilisateur et ne peut exécuter aucun code et est appelée lorsque l'activité en cours est mise en pause et que l'activité précédente est reprise.

5

onStop()

Ce rappel est appelé lorsque l'activité n'est plus visible.

6

onDestroy()

Ce rappel est appelé avant que l'activité ne soit détruite par le système.

sept

onRestart()

Ce rappel est appelé lorsque l'activité redémarre après son arrêt.

Exemple

Cet exemple vous guidera à travers des étapes simples pour afficher le cycle de vie de l'activité des applications Android. Suivez les étapes suivantes pour modifier l'application Android que nous avons créée dans le chapitre Exemple de Hello World -

Étape La description
1 Vous utiliserez Android Studio pour créer une application Android et la nommerez HelloWorld sous un package com.example.helloworld comme expliqué dans le chapitre Exemple de Hello World .
2 Modifiez le fichier d'activité principal MainActivity.java comme expliqué ci-dessous. Gardez le reste des fichiers inchangé.
3 Exécutez l'application pour lancer l'émulateur Android et vérifier le résultat des modifications effectuées dans l'application.

Voici le contenu du fichier d'activité principal modifié src/com.example.helloworld/MainActivity.java. Ce fichier comprend chacune des méthodes fondamentales du cycle de vie. leLog.d() méthode a été utilisée pour générer des messages de journal -

package com.example.helloworld;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;

public class MainActivity extends Activity {
   String msg = "Android : ";
   
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Log.d(msg, "The onCreate() event");
   }

   /** Called when the activity is about to become visible. */
   @Override
   protected void onStart() {
      super.onStart();
      Log.d(msg, "The onStart() event");
   }

   /** Called when the activity has become visible. */
   @Override
   protected void onResume() {
      super.onResume();
      Log.d(msg, "The onResume() event");
   }

   /** Called when another activity is taking focus. */
   @Override
   protected void onPause() {
      super.onPause();
      Log.d(msg, "The onPause() event");
   }

   /** Called when the activity is no longer visible. */
   @Override
   protected void onStop() {
      super.onStop();
      Log.d(msg, "The onStop() event");
   }

   /** Called just before the activity is destroyed. */
   @Override
   public void onDestroy() {
      super.onDestroy();
      Log.d(msg, "The onDestroy() event");
   }
}

Une classe d'activité charge tous les composants de l'interface utilisateur à l'aide du fichier XML disponible dans le dossier res / layout du projet. L'instruction suivante charge les composants de l'interface utilisateur à partir du fichier res / layout / activity_main.xml :

setContentView(R.layout.activity_main);

Une application peut avoir une ou plusieurs activités sans aucune restriction. Chaque activité que vous définissez pour votre application doit être déclarée dans votre fichier AndroidManifest.xml et l'activité principale de votre application doit être déclarée dans le manifeste avec un <intent-filter> qui inclut l'action MAIN et la catégorie LAUNCHER comme suit:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.tutorialspoint7.myapplication">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Si l'action MAIN ou la catégorie LAUNCHER n'est pas déclarée pour l'une de vos activités, l'icône de votre application n'apparaîtra pas dans la liste des applications de l'écran d'accueil.

Essayons d'exécuter notre modifié Hello World!application que nous venons de modifier. Je suppose que vous avez créé votreAVDlors de la configuration de l'environnement. Pour exécuter l'application à partir du studio Android, ouvrez l'un des fichiers d'activité de votre projet et cliquez sur l'

icône Exécuter dans la barre d'outils. Android Studio installe l'application sur votre AVD et la démarre.Si tout va bien avec votre configuration et votre application, il affichera la fenêtre de l'émulateur et vous devriez voir les messages de journal suivants dansLogCat fenêtre dans le studio Android -

08-23 10:32:07.682 4480-4480/com.example.helloworld D/Android :: The onCreate() event
08-23 10:32:07.683 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:32:07.685 4480-4480/com.example.helloworld D/Android :: The onResume() event

Essayons de cliquer sur le bouton de l'écran de verrouillage sur l'émulateur Android et il générera les messages d'événements suivants dans LogCat fenêtre dans le studio Android:

08-23 10:32:53.230 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:32:53.294 4480-4480/com.example.helloworld D/Android :: The onStop() event

Essayons à nouveau de déverrouiller votre écran sur l'émulateur Android et il générera les messages d'événements suivants dans LogCat fenêtre dans le studio Android:

08-23 10:34:41.390 4480-4480/com.example.helloworld D/Android :: The onStart() event
08-23 10:34:41.392 4480-4480/com.example.helloworld D/Android :: The onResume() event

Ensuite, essayons à nouveau de cliquer sur

le bouton Retour sur l'émulateur Android et il générera les messages d'événements suivants dansLogCat fenêtre dans le studio Android et cela termine le cycle de vie de l'activité pour une application Android.

08-23 10:37:24.806 4480-4480/com.example.helloworld D/Android :: The onPause() event
08-23 10:37:25.668 4480-4480/com.example.helloworld D/Android :: The onStop() event
08-23 10:37:25.669 4480-4480/com.example.helloworld D/Android :: The onDestroy() event