Attention, le contenu cet article est peut-être obsolète !
Comment créer une nouvelle activité sous Android et pouvoir la lancer depuis l'activité principale.Suite au précédent tutoriel, voici comment créer une nouvelle activité en plus de celle déja présente par défaut dans tout nouveau projet. Explications également pour pouvoir lancer cette nouvelle activité depuis la première.
Tout d'abord, sous Eclipse, créez un projet avec une activité vide : "Blank Activity". Elle se nomme par défaut "MainActivity".
Vous avez donc deux fichiers :
Le premier concerne le code de l'activité principale, lancée par votre application Android au démarrage, et le second concerne les élements d'affichage.
Voici ce que contient votre fichier Java :
Au lancement de l'application, Android lance la méthode onCreate. Le paramètre de type Bundle est null si vous lancez l'application ou contient les informations sauvegardées si elle était en pause.
super.onCreate(savedInstanceState);
Ici nous décidons de ce qui dot être fait à chaque démarrage. Puis enfin, nous affichons l'interface graphique par défaut :
setContentView(R.layout.activity_main);
Vous devez savoir que :
Tout d'abord, dans le répertoire res/layout, créez un fichier appelé mon_activity.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/monMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Voici mon message"
android:textAppearance="?android:attr/textAppearanceLarge" />
</LinearLayout>
Ensuite, dans le répertoire src, créez un nouvelle classe: monActivite.
Ouvrez-là. Ici, vous devrez mettre le code de votre activité, par exemple l'écoute des boutons, les calculs, etc... Mais nous, nous allons juste nous contenter de faire un petit réglage pour que l'Activité soit prête, c'est à dire la faire hériter de la classe Acitivity, et appeler le chargement du layout que vous avez créé pour cette activité :
package com.example.tutoriel;
import android.app.Activity;
import android.os.Bundle;
public class monActivite extends Activity{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mon_activity);
}
}
A présent, ouvrez activity_main.xml. Rajoutez ceci dans votre layout :
<Button
android:id="@+id/go_to_my_activity"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="152dp"
android:text="Vas-y" />
Enregistrez-tout. Allez à présent dans votre fichier MainActivity.java. Dans la méthode onCreate rajoutez ceci :
final Button boutonGoToEmailForm = (Button) findViewById(R.id.go_to_my_activity);
boutonGoToEmailForm.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, monActivite.class);
startActivity(intent);
}
});
Ici nous avons mis en place un listener : un écouteur sur le bouton go_to_my_activity. En cas de pression sur le bouton, il lance l'activité via l'Intent créé en dessous.
Dernière étape : chaque activité doit être déclarée dans le manifeste : AndroidManifest.xml :
<activity
android:name=".monActivite"
android:label="Mon Activité" />
A présent, à vous de tester votre code !