Bonjour,
Je suis novice en développement Android et je suis actuellement en train de mettre en place un splashscreen pour une application.
J'ai donc pour cela créé une activité SplashScreen et j'y ai ajouté une progress bar horizontale. Cette progressbar évoluera en fonction des différents chargements de l'application.
Je souhaite juste tester que la progression se fait bien, ceci en bouchonnant les fonctions appelées dans le OnCreate du splashscreen, comme suit :
Dans mon OnCreate :
Et les fonctions appelées :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash); /* Changement du texte de loading */ TextView TexteChargement = (TextView) findViewById(R.id.TextView02); TexteChargement.setText("Initialisation"); /* Mise à jour de l'état de progression */ final ProgressBar progress = (ProgressBar) findViewById(R.id.progressbar); progress.setProgress(0); /* Identification du client */ TexteChargement.setText("Identification du client"); RecupIdentificationClient(); progress.setProgress(30); /* Récupération des données du client */ TexteChargement.setText("Récupération des données du client"); RecupDonneesClient(); progress.setProgress(100); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 /* Récupère les identifiants du client */ /* Si ceux-ci sont absents de l'application, on redirige automatiquement vers la page de Login */ private int RecupIdentificationClient(){ int FINAL = 500000; int i = 0; while (i < FINAL ) // bouclage pour faire attendre { i++; } return 0; } /* Récupère les données du client */ private int RecupDonneesClient(){ int FINAL = 500000; int i = 0; while (i < FINAL ) // bouclage pour faire attendre { i++; } return 0; }
Ca ne fonctionne (évidemment) absolument pas et l'élément de progressbar affiche déjà la valeur 100 alors qu'aucun traitement n'a été encore effectué dans RecupIdentificationClient !
Comment dois-je procéder ? J'imagine que je dois penser en Thread mais je pèche un peu dans le domaine ... Merci d'avance !
Partager