Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Bug tous les matins au premier allumage

Sujet résolu
14 janvier 2020 à 9:30:26

Bonjour, voici un soucis que je rencontre avec mon développement :

Seulement une fois en début de journée

Je développe une application pour le boulot et je suis embêté par un problème, et ce surtout du fait que le bug n'est reproductible que chaque matin au premier allumage, tout le restant de la journée le bug ne survient plus du tout même après avoir supprimé les données de l'app, l'avoir désinstallé ou même après avoir éteint la tablette pendant 3 heures puis la rallumer...

ça ne le fait qu'une seule fois à la toute première exécution de la journée :(  

Le bug en question

J'ai un écran avec une ListView de fonctions dites "fonctions principales", je n'en ai qu'une seule dans cette liste : celle d'IDFonction "1".

Elle est affichée grâce à une condition qui n'affiche que les fonctions principales (ID d'un seul chiffre) parmi les 10 retournées par un webservice (1,11,12,13,14,15,16,17,18,19).

Le problème qui survient qu'une seule fois par jour, c'est qu'après avoir sélectionné l’élément "Fonction d'ID 1", je passe bien à l'écran suivant avec l'index 0 (c'est le seul élément de la liste), dont je prends l'ID pour filtrer les "sous-fonctions" à afficher sur l'activité d'après (toutes celles qui commencent par cet ID (1) donc 11,12,13,14,15,16,17,18,19 mais je n'ai que la sous-fonction 19 qui s'affiche.

J'ai débogué tout et je constate qu'après avoir sélectionné la fonction "1", l'application en allant chercher la fonction d'index 0 dans l'arraylist des 10 fonctions du webservice, tombe sur la fonction d'ID 19 d'où son affichage alors que c'est la dernière des 10 et que ça devrait prendre la première, celle qu'on a sélectionné.

Alors, pourquoi ça me fait ça et pourquoi je ne peux plus jamais reproduire ce bug toute la journée, et qu'il faut attendre le lendemain pour que le bug réapparaisse ?

Merci d'avance de votre aide.

-
Edité par Niko300 14 janvier 2020 à 9:30:57

  • Partager sur Facebook
  • Partager sur Twitter
16 janvier 2020 à 15:26:27

Depuis lors j'ai constaté que le webservice me renvoyait en fait les 20 fonctions dans l'ordre inverse et que du coup celle d'index 0 était la 19 et non la 1 : Du coup affichage de la 19 (seule fonction qui commence par 19).

Mais ça n'explique pas pourquoi le webservice renvoit les fonctions dans l'ordre inverse uniquement une fois par jour au premier lancement de la requête...

  • Partager sur Facebook
  • Partager sur Twitter
21 janvier 2020 à 15:28:47 - Message modéré pour le motif suivant : Toute forme de publicité est interdite


22 janvier 2020 à 16:05:56

octimus5 a écrit:

(...) avez-vous réussià trouver (...)

Oui, je passe une liste d'objets "Fonction" à mon adaptateur plutôt qu'une liste de String.

public MyAdapter(List<Fonction> list) {
this.list = list;
setHasStableIds(true);
}

Comme cela ça me permet de pouvoir savoir exactement sur quelle fonction j'ai appuyé et en récupérer son ID exact.

Avant j'avais une liste de "Fonction" de laquelle je prenais la "Fonction" d'index choisi et l'adaptateur de la ListView ne connaissait qu'un String du texte affiché (par exemple : "1. Fonction principale") car je lui passais une List<String>.

Je passe directement la liste de "Fonction" à mon adaptateur et le tour est joué.

Mais le webservice continue de me les envoyer dans le désordre le matin même si ça ne pose plus de problème.

A noté qu'il n'y a pas d'ORDER BY donc le problème est peut être déjà au moment de la requête SQL.



  • Partager sur Facebook
  • Partager sur Twitter
1 avril 2020 à 2:23:34 - Message modéré pour le motif suivant : Toute forme de publicité est interdite


8 avril 2020 à 16:10:22

WilliamJohn2 a écrit:

that does not explain why the webservice returns the functions in reverse order only once a day when the request is first launched ...

I will never know it...

You are on a french forum so please write your message in french language.

  • Partager sur Facebook
  • Partager sur Twitter
26 juillet 2020 à 12:40:06

Edit by Lorrio:

Bonjour,

Petit soucis avec ce sujet qui reste bloqué en haut...

La seule solution trouvée à l'heure actuelle est de le déterrer en y postant un message pour qu'il puisse ensuite redescendre au fur et à mesure que les autres sujets remontent.

Pardon pour la gène occasionnée, je ferme.

Lorrio.

-
Edité par lorrio 19 avril 2021 à 20:22:08

  • Partager sur Facebook
  • Partager sur Twitter