Premier type d'intention: le routage en interne

 

Le routage en interne ou encore appelé intention explicite: Il s'agit d'appeler des activités internes à l'application.

Image non trouvée !Vous ne ferait jamais d'appel explicite en dehors de votre application, car rien ne dit que l'autre application (ayant la dite activité) soit bien installée sur l'appareil !

 

Intention explicite

Jusqu'à présent, vous n'aviez qu'un écran à lancer. Mais une application avec un seul écran, c'est plutôt rare, surtout sur des portables !

Pour créer un second, puis un troisième, puis n écrans, il faudra effectuer les manipulations suivantes:

- D'abord définir le layout du nouvel écran. Dans File/new/other/android/android XML Layout File.

- Puis créer une nouvelle classe d'activité pour le nouvel écran.

Dans le menu fichier/new/class

Image non trouvée !

Avec la méthode qui contiendra le setContentView pointant sur votre nouveau layout.xml créé précédemment:

@Override
protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.autre_class_activity);

}

Puis définir cette nouvelle activité dans le fichier ManifestAndroid.xml de l'application:

android:name doit avoir le nom de la nouvelle classe.

Les filtres d'intentions pourront ressembler à ceci:

Action de type VIEW, dans le cas où vous voulez visualiser votre nouvelle ressource

Catégorie: Défaut.

Il ne reste plus qu'à instancier une intention.

La classe Intent est là pour cela:

Intent(contexte d'utilisation (l'instance de la classe Activity en cours), AutreClasseActivity.class);

et enfin, lancer l'activité de la nouvelle classe...
startActivity(intent);

 

Exemple de code d'appel explicite

En reprenant le code exemple du bouton avec son listener. Ce bouton lancera cette fois-ci une seconde activité qui affichera simplement une horloge.

D'abord le code pour le premier écran

Avec son fichier main_activity.xml

Rien d'exceptionel, que du déjà vu !

et sa classe MainActivity.java. Presque rien d'exceptionel, hormis l'ajout du code dans le listener du bouton permettant de lancer la seconde activité:

Le fichier activiy_aff_horloge.xml

La seconde activité qui va utiliser le nouveau fichier XML

Et enfin, le fichier manifest: