Aller au contenu

Sleepytux : Gestion de profil automatiques. :) (OpenSource) V3 OUT!


Recommended Posts

Bon allez j'ai deux idées!

Mais avant, explication pour les néophytes qui doivent ne rien comprendre à ce que je baragouine.

Bon alors voici l'objet time utilisé:

http://download.oracle.com/javase/1.4.2/docs/api/java/sql/Time.html

Donc si vous comprenez bien l'anglais, il s'agit d'un objet que l'on initialise en ms par rapport à la date du 1 janvier 1970!

Bon admettons, sauf que:

Si je table sur 1 ans: 1ans = 31 557 600 000ms Et si j'essaye par exemple d'initialiser l'objet time avec cette valeur, et bien et bien... C'est refusé! Parce que c'est trop grand comme valeur!!! Gné???????? :rolleyes:

Bon ok qu'à cela ne tienne, je mets 0 et je fais un setYear(1) pour dire que l'horaire que je précise est à un an depuis 1970 soit une date de 1971. Sauf que et c'est là ou c'est le plus drôle:

public void setYear(int i)
Deprecated.  

Yes super, et donc je me fais jeter comme une vulgaire chaussette par une exception!!!

Là faudrait vraiment qu'on explique comment on se sert de ce foutu objet qui dépend de l'année sans pouvoir préciser l'année d'une quelconque façon!

Bon qu'à cela ne tienne, j'ai trouvé une idée pour que tout marche bien, du moins je pense!

Les fuseaux horaires vont jusqu'à -12h, on est bien d'accord,

Donc normalement dans ma requête si je cherche tout ce qui est > à -43200000-1 ça devrait le faire, puisque 0h en gmt -12 donne normalement -43200000 donc ça marcherait toujours!

Après j'ai une autre solution mais je ne suis pas sûr du résultat. Soit je suis une quiche complet, soit java et moi ça fait 4000000000 et _a n'est vraiment pas dans mon état d'esprit et je cherche toujours au mauvais endroit...

Lien vers le commentaire
Partager sur d’autres sites

Sauf que moi je ne veux pas stocker une date, juste une durée justement!

Et là je ne comprends pas ce que c'est que ce merdié, si je prends gtm -11 que je mets 00h je tombe sur:

-46 800 000

Je ne comprends vraiment pas ce que c'est que ce bordel! :'(

Et en plus si on change de fuseau horaire ça ne marche plus, l'heure est décalée une fois stockée! c'est vraiment un bordel monstre.

Soit je casse tout, je rajoute l'heure en heure + minute + ms ms étant définie comme il faut, mais j'hésite à comprendre les implications avec ce foutu fuseau horaire.

J'ai beau tourner ça dans tous les sens ça me pose problème. :'(

Moi la seule chose que je veux c'est pouvoir stocker une heure en ms heure qui ne dépend pas d'une date lambda, heure ou 00h00 = 0ms et que l'histoire du fuseau horaire ne rentre en jeu que lors de la planification ce qui permettrait d'être tranquille si on change de fuseau horaire, et qui me permettrait de savoir que si je fais une recherche avec > -1, que je prends la première heure alors j'ai bien la première action de la journée!

Et ça j'ai beau chercher partout impossible d'arriver à faire ça! ça me soule mais d'une force inimaginable!

EDIt, en fait ce qui me fou le bordel, c'est ce time picker, je ne sais pas comment passer du time picker à un time sans que ça ne me fausse tout! :/ Dès que je passe ne ms tout est foiré!

Donc je ne vois qu'une solution, stocker l'heure et minute dans la bd et calculer moi même via ma formule les ms.

Donc tout recasser... Le service ne marchera plus etc. Punaise mais j'en ai marre mais mare mais marre du java. :o

Modifié par Burn2
Lien vers le commentaire
Partager sur d’autres sites

Salut

Ce que je n'ai pas compris c'est pourquoi tu dois tout mettre en ms.

Tu peux pas le stocker en minutes ou autre?

PS: soyez indulgent, je n'y connais rien en java ;)

@+

Parce que c'est plus facile pour faire une recherche, en fait, lorsque tu recherches des actions, j'ai juste à récupérer l'heure actuelle en ms, et faire en gros dit vulgairement

"Sélectionner les horaires ou le jour = le jour actuel et ou l'horaire est > à l'horaire actuelle"

Si tu le fais en heure et minute séparé ça devient un bordel monstre parce qu'il faut sélectionner:

"Sélectionner horaires ou le jour = le jour actuel et ou l'heure est = à l'heure actuelle et les minutes sont > aux minutes actuelles"

"Sélectionner horaires ou le jour = le jour actuel et ou l'heure est > à l'heure actuelle"

Que l'on peut faire en une requête:

Sélectionner horaires ou le jour = le jour actuel et ou l'heure est = à l'heure actuelle et les minutes sont > aux minutes actuelles ou les horaires ou le jour= le jour actuel et ou l'heure est > à l'heure actuelle.

Ok c'est faisable mais ça devient quand même assez bordélique, le but de stocker en ms était de n'avoir qu'une requête simple, dans un langage normal je n'aurais absolument eu aucun problème! là ce qui me fausse tout c'est toutes ces histoires de fuseaux horaire et d'heure en ms située à partir d'une heure de référence, alors que je ne peux rien faire!

AH et si ce n'est même pas faisable sans le champ en ms/seconde/minutes, le gros problème c'est qu'il est impossible de trier sur deux champs.... Donc comment fais tu pour trier sur l'heure et les minutes en même temps? Là je trie en ms la réponse et ça marche.

Là la solution que j'avais trouvée pose problème si on change de fuseau horaire. C'est inconcevable donc quitte à tout casser je vais y aller franchement et tout stocker en heure et minute.

Donc forcément tout revalider, la prochaine version ne sera clairement pas une rc!

Total j'ai tout à démolir et aucun doute que je n'ai pas le temps de le faire aujourd'hui.

Donc ça repousse à je ne sais combien de semaines + tout revalider.

j'enrage complet là, franchement java et android ça ne me convient vraiment pas niveau programmation!

C'est bordélique, des fonctions sont supprimées comme ça sur leur choix, les docs ne correspondent plus etc.

Et le pire c'est que je ne suis même pas sûr que si je stocke l'heure et les minutes que ça marche par la suite. Vu l'implication de temps nécessaire à tout corriger, ça sera minimum pour mars et encore si j'ai le temps... Trop bien!

EDIT: donc ce que je vais faire:

tout recasser la base pour avoir comme champ au lieu de l'heure en ms:

Un champ heure

Un champ minute

Un champ correspondant à l'horaire en minute (=horaire*60+minutes)

Avec ça j'espère pouvoir m'en sortir! Mais le travail de modification est juste totalement énorme....

Modifié par Burn2
Lien vers le commentaire
Partager sur d’autres sites

*** Sleepytux2 RC 6 ***

Encore une tentative de correction à l'arrache du problème des horaires proche de 00h ce quelque soit le fuseau horaire

http://alionet-repository.no-ip.info/sleepytux/2_0/

Merci d'avance pour vos retours.

Et le QR code:

imgphpdhttp3a2f2falione.png

Il s'agit ici d'un hack, je ne suis pas sûr que ça passe, normalement ça devrait, mais ce n'est pas propre, la première release sortira comme ça, la 2.1 reprendra le travail de fond que je veux faire en pétant toute la base de donnée pour sotcker l'horaire sous le format marqué plus haut. Si ça ne marche toujours pas pour haïti je n'ai plus de solution. (je suis rendu à la longueur maximale d'un long en négatif...)

Par contre, le problème de fuseau horaire reste présent, si vous changez de pays, toutes les horaires stockées sont fausses, il va me falloir tout casser pour corriger ça.

EDIT: et bonne nouvelle, ce que j'avais fait dans sleepytux 1 marche ce quelque soit le fuseau horaire, donc je vais pouvoir faire fonctionner ça...

Il faut que je change d'objet time, que je ne passe jamais par les ms et je devrais arriver à m'en sortir, verdict dans 1 ou 2 mois....

Modifié par Burn2
Lien vers le commentaire
Partager sur d’autres sites

Merci beaucoup pour ton retour. C'est quand même un bon gros hack tout pourri. :/

Donc il me faudra quand même tout casser pour remettre au propre, surtout à cause du problème lors du changement horaire. Donc je corrigerais tout ça dès que j'ai du temps de libre.

Lien vers le commentaire
Partager sur d’autres sites

Salut

J'ai installé la dernière version de sleepytux hier et j'ai essayé avecles horaires suivantes:

mise en mode avion : 1h00 du mat

sortie du mode avion à 7h00

Ça fonctionne nickel.

Faut que je reteste avec 00h00 pour voir si ça fonctionne ou pas mais il devrait pas y avoir de raisons.

En tous cas, très bon boulot Burn2 et merci pour cette application super utile.

@+

Lien vers le commentaire
Partager sur d’autres sites

Bon little bug à mois que c'est moi qui entre mal l'heure.

quand on veut programmer une action, par défaut y a l'heure actuelle: 15h18. Je veux mettre 0h00 donc pour pas faire défiler je le tape au clavier et je valide. En général il va me sortir 0h18. Les minutes ne semble pas prise en compte si on change et l'heure et les minutes.

Enfin moi ça m'arrive, je sais pas pour les autres, je suis sur un motorola défy; après c'est pas très dérangeant.

Lien vers le commentaire
Partager sur d’autres sites

Bonjour, j'en ai déjà parlé, en fait ce n'est pas un bug, c'est un comportement normal de l'élément graphique qui te permet de saisir l'heure, si tu entre l'heure au clavier, il te faut valider chaque champ via la touche entrée (ou resélectionner un autre champ comme tu le fais pour les heures ce qui explique le pourquoi les heures sont bonnes et pas les minutes) pour que ce que tu as saisis soit bien validé par le composant et que donc le composant me rende la bonne valeur.

Je ne sais pas si je suis clair. ;)

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...