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/androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...)/androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...) 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:

androidSystème d'exploitation basé sur le noyau Linux conçu initialement pour les smartphones et tablettes et qui peut être trouvé sur d'autres appareils (Android TV, Android Auto, ...):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.javaLangage JAVA est un langage de programmation orienté objet qui s'exécute sur une JVM (Java Virtual Machine ou machine virtuelle 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: