| |
Membre enregistré 169 messages Popularité : +2 (4 votes) |
|
Posté le 22 mai 2017 - 12:40 |
Bonjour,
J'ai une application qui doit contenir 2 modes:
- mode tracking (toutes les minutes) - mode tracking instantané (toutes les 5 secondes, pour un trajet par exemple)
Les données sont ensuite envoyées vers un webservice (PHP).
j'utilise pour le moment un thread qui est appelé toutes les minutes et toutes les 5 secondes, en fonction du mode, mais est-il possible d'améliorer le système avec les fonctions de GPS existantes ? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 169 messages Popularité : +2 (4 votes) |
|
Posté le 24 mai 2017 - 08:53 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 637 messages Popularité : +36 (36 votes) |
|
Posté le 24 mai 2017 - 10:05 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 169 messages Popularité : +2 (4 votes) |
|
Posté le 24 mai 2017 - 10:33 |
Bonjour,
d'après ce que j'ai compris, la fonction GPSSuitDéplacement fonctionne uniquement lorsque l'application est en premier plan, ce qui n'est malheureusement pas mon cas :/ de +, j'ai testé la fonction, en passant en paramètre 600 centièmes, mais cela ne fonctionne pas :/
Il y aurait la fonction géoSuiviActive mais apparemment, la précision serait grandement diminuée, et en + je n'ai pas bien compris l'utilisation .... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 169 messages Popularité : +2 (4 votes) |
|
Posté le 24 mai 2017 - 11:25 |
Ce que j'ai testé:
Dans le code d'un bouton:
géoSuiviProcédure(ProcDeplacement) géoSuiviActive(ValideActivationSuivi)
et les procédures:
Procedure ProcDeplacement(MaPosition est une geoPosition)
ToastAffiche(MaPosition..Latitude,toastCourt,cvHaut,chCentre)
Procedure ValideActivationSuivi(bSuiviActif est booléen, cErreur est une chaîne)
SI PAS bSuiviActif ALORS Erreur(cErreur) RETOUR SINON ToastAffiche("ok",toastCourt,cvHaut,chCentre) FIN
Ensuite, j'ai testé en me déplaçant mais cela ne m'a affiché qu'une seule fois ma position ..... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 637 messages Popularité : +36 (36 votes) |
|
Posté le 24 mai 2017 - 19:10 |
Bonjour,
Tu fais fausse route en utilisant GeoSuiviActive. Ce n'est pas du tout pareil ! Bien lire la documentation...
Ca ne marche pas car, déjà le suivi est de faible précision. Ensuite, dixit la documentation :
Attention : Le suivi est un suivi de faible précision. Les événements sont envoyés uniquement en cas de changements significatifs de la position et à des intervalles supérieurs à plusieurs minutes. A titre indicatif, les conditions d'envoi par plateforme sont les suivantes : iPhone/iPad Les événements de changement de position ne sont pas envoyés si le déplacement est en dessous de 500 mètres ou si l’intervalle de temps est inférieur à 5 minutes (décembre 2014). Android Les événements de changement de position sont envoyés à un intervalle approximatif allant de 30 secondes à 10 minutes selon la vitesse de déplacement.
https://doc.pcsoft.fr/?1000019277
Cdlt - Eric.
-- Eric DELATTRE http://www.yoosite.fr |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 169 messages Popularité : +2 (4 votes) |
|
Posté le 25 mai 2017 - 23:46 |
Bonsoir,
merci de ta réponse.
Donc, en sachant que mon application doit pouvoir:
clic sur bouton A -> suivi GPS automatique, toutes les 30 minutes + envoi de la position vers webservice clic sur bouton B -> suivi GPS automatique toutes les 5 à 10 secondes + envoi de la position vers webservice
ATTENTION: l'application peut être en avant ET en arrière plan.
Quelle serait la meilleure manière de mettre ceci en place? |
| |
| |
| | | |
|
| | |
| |
Posté le 26 mai 2017 - 14:51 |
Bonjour
UN timer sur 5 secondes. Dans le code du timer, si mode 5 secondes, traitement à chaque fois Si mode 30 minutes, comparaison avec la dernière dateheure d'envoi et traitement si nécessaire
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 5/25/2017 à 3:46 PM, Christopher Gr. a écrit :
Bonsoir,
merci de ta réponse.
Donc, en sachant que mon application doit pouvoir:
clic sur bouton A -> suivi GPS automatique, toutes les 30 minutes + envoi de la position vers webservice clic sur bouton B -> suivi GPS automatique toutes les 5 à 10 secondes + envoi de la position vers webservice
ATTENTION: l'application peut être en avant ET en arrière plan.
Quelle serait la meilleure manière de mettre ceci en place? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 637 messages Popularité : +36 (36 votes) |
|
Posté le 27 mai 2017 - 10:30 |
Bonjour,
Et pour le fonctionnement en tâche de fond, en Android tu peux utiliser un thread persistant.
Par contre, je ne sais pas pour iOS. J'ignore même si c'est faisable, du moins en WL.
Cdlt - Eric.
-- Eric DELATTRE http://www.yoosite.fr |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 169 messages Popularité : +2 (4 votes) |
|
Posté le 29 mai 2017 - 09:28 |
Bonjour,
merci je vais tester avec le timer, j'espère juste que ça n'est pas bloquant puisque l'application doit rester utilisable, même en mode "5 secondes" |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 169 messages Popularité : +2 (4 votes) |
|
Posté le 29 mai 2017 - 09:47 |
J'ai testé avec la fonction timerSys() mais c'est malheureusement bloquant :S |
| |
| |
| | | |
|
| | |
| |
Posté le 31 mai 2017 - 11:55 |
Bjr,
Christopher Gr. a exprimé avec précision : > J'ai testé avec la fonction timerSys() mais c'est malheureusement bloquant :S
Tu mets dans un thread persistant, et c'est pas bloquant, et ca marche meme l'appli arrétée
a plus
-- ------------------------------------------------------------- www.ctc-soft.com Gestion biblo-documentaire (free-share) Comptabilité shareware Logiciels de Gestion de saisie terrain Spécialisé Tournées de boulangers ------------------------------------------------------------- |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 169 messages Popularité : +2 (4 votes) |
|
Posté le 31 mai 2017 - 15:46 |
Bonjour,
ok merci mais comment puis-je arrêter ce thread persistant? |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 637 messages Popularité : +36 (36 votes) |
|
Posté le 31 mai 2017 - 18:25 |
Bonjour,
Dans la procédure définie dans la fonction ThreadPersistant, tu mets juste une boucle avec un boolean.
Exemple : TANTQUE isContinu Multitâche(-500) FIN
Quand isContinu passera à faux, le thread s'arrêtera tout seul.
Cdlt - Eric.
-- Eric DELATTRE http://www.yoosite.fr |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 1 message |
|
Posté le 11 juin 2017 - 23:42 |
Bonjour,
Pour ma part, j'ai une application qui remonte la position toutes les 5 secondes, je n'ai pas trouvé mieux qu'un thread persistent qui boucle toutes les 5 secondes et qui test la valeur d'un booléen pour l'arrêter. Mais c'est souvent que j'ai des trous inexpliqués...
Je suis intéressé par vos expériences.
Cdlt |
| |
| |
| | | |
|
| | |