Semaine 3
Semaine 3
Semaine 3
1 / 53
Android - Semaine 3
Applications et activités
Applications et activités
3 / 53 Pierre Nerzic
Android - Semaine 3
Applications et activités
Présentation
Une activité qui n’est pas déclarée dans le manifeste ne peut pas
être lancée.
5 / 53
Android - Semaine 3
Applications et activités
6 / 53
Android - Semaine 3
Applications et activités
8 / 53
Android - Semaine 3
Applications et activités
11 / 53
Android - Semaine 3
Applications et activités
12 / 53
Android - Semaine 3
Applications
Applications
13 / 53
Android - Semaine 3
Applications
14 / 53
Android - Semaine 3
Applications
15 / 53
Android - Semaine 3
Applications
16 / 53
Android - Semaine 3
Applications
Ce code identifie l’activité lancée, afin de savoir plus tard que c’est
d’elle qu’on revient. Par exemple, on pourrait lancer au choix
plusieurs activités : édition, copie, suppression d’informations. Il
faut pouvoir les distinguer au retour.
17 / 53
Android - Semaine 3
Applications
18 / 53
Android - Semaine 3
Applications
Méthode onActivityResult
Quand on revient dans l’activité appelante, Android lui fait exécuter
cette méthode :
onActivityResult(int requestCode, int resultCode,
Intent data)
20 / 53
Android - Semaine 3
Applications
21 / 53
Android - Semaine 3
Applications
22 / 53
Android - Semaine 3
Applications
Contexte d’application
Pour finir sur les applications, il faut savoir qu’il y a un objet global
vivant pendant tout le fonctionnement d’une application : le
contexte d’application. Voici comment le récupérer :
Application context = this.getApplicationContext();
23 / 53
Android - Semaine 3
Applications
// initialisation du contexte
@Override public void onCreate() {
super.onCreate();
varglob = 3;
}
}
24 / 53
Android - Semaine 3
Applications
25 / 53
Android - Semaine 3
Applications
26 / 53
Android - Semaine 3
Activités
Activités
27 / 53
Android - Semaine 3
Activités
Présentation
28 / 53
Android - Semaine 3
Activités
29 / 53
Android - Semaine 3
Activités
30 / 53
Android - Semaine 3
Activités
Squelette d’activité
// fermer la base
db.close();
}
32 / 53
Android - Semaine 3
Activités
33 / 53
Android - Semaine 3
Activités
34 / 53
Android - Semaine 3
Activités
@Override
public void onSaveInstanceState(Bundle etat) {
// enregistrer l'état courant
etat.putInt(ETAT_SCORE, mScoreJoueur);
super.onSaveInstanceState(etat);
}
35 / 53
Android - Semaine 3
Activités
36 / 53
Android - Semaine 3
Vues et activités
Vues et activités
37 / 53
Android - Semaine 3
Vues et activités
38 / 53
Android - Semaine 3
Vues et activités
</LinearLayout>
39 / 53
Android - Semaine 3
Vues et activités
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ui = ActivityMainBinding.inflate(getLayoutInflater());
setContentView(ui.getRoot());
// exemple d'emploi
ui.titre.setText("super cool !");
}
41 / 53
Android - Semaine 3
Vues et activités
42 / 53
Android - Semaine 3
Vues et activités
La plupart des vues ont des setters et getters Java pour leurs
propriétés XML. Par exemple TextView.
En XML :
<TextView android:id="@+id/titre"
android:lines="2"
android:text="@string/debut" />
En Java :
TextView tvTitre = ui.titre;
tvTitre.setLines(2);
tvTitre.setText(R.string.debut);
Actions de l’utilisateur
44 / 53
Android - Semaine 3
Vues et activités
46 / 53
Android - Semaine 3
Vues et activités
Écouteur privé
Cela consiste à définir une classe privée dans l’activité ; cette classe
implémente l’interface OnClickListener ; et à en fournir une
instance en tant qu’écouteur.
48 / 53
Android - Semaine 3
Vues et activités
49 / 53
Android - Semaine 3
Vues et activités
50 / 53
Android - Semaine 3
Vues et activités
52 / 53