{"id":11,"date":"2012-04-16T23:46:00","date_gmt":"2012-04-16T23:46:00","guid":{"rendered":"http:\/\/cyol.fr\/blogwp\/?p=11"},"modified":"2013-11-14T16:28:13","modified_gmt":"2013-11-14T15:28:13","slug":"dev-android-attention-a-l-import-de-classe-date","status":"publish","type":"post","link":"https:\/\/cyol.fr\/blog\/post\/dev-android-attention-a-l-import-de-classe-date\/","title":{"rendered":"D\u00e9v Android : attention \u00e0 l&rsquo;import de classe Date"},"content":{"rendered":"<p><a href=\"https:\/\/cyol.fr\/blog\/wp-content\/uploads\/billets\/icones\/Android_Robot_100.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-124\" title=\"Android_Robot_100\" alt=\"Logo Android\" src=\"https:\/\/cyol.fr\/blog\/wp-content\/uploads\/billets\/icones\/Android_Robot_100.png\" width=\"85\" height=\"100\" \/><\/a>Pour SRDice je travaille \u00e0 proposer la possibilit\u00e9 de sauver les r\u00e9sultats des jets de d\u00e9s Shadowrun dans un fichier de log. Et qui dit log dit date !<\/p>\n<p>En cherchant \u00e0 faire une fonction pour r\u00e9cup\u00e9rer la date courante, je me suis retrouv\u00e9 face \u00e0 une erreur due \u00e0 mon inattention&#8230;<\/p>\n<p><!--more--><br \/>\nQuand je d\u00e9clare Date() dans mon programme, Eclipse me propose de rajouter dans le code l&rsquo;import qui va bien, comme tout appels \u00e0 des classes Android ou Java non encore d\u00e9clar\u00e9es.<\/p>\n<p>\u00ab\u00a0Date cannot be resolved to a type\u00a0\u00bb<\/p>\n<p><a href=\"https:\/\/cyol.fr\/blog\/wp-content\/uploads\/billets\/dev-android-attention-a-l-import-de-classe-date\/erreurDate.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-225\" title=\"erreurDate\" alt=\"\" src=\"https:\/\/cyol.fr\/blog\/wp-content\/uploads\/billets\/dev-android-attention-a-l-import-de-classe-date\/erreurDate.png\" width=\"224\" height=\"145\" srcset=\"https:\/\/cyol.fr\/blog\/wp-content\/uploads\/billets\/dev-android-attention-a-l-import-de-classe-date\/erreurDate.png 224w, https:\/\/cyol.fr\/blog\/wp-content\/uploads\/billets\/dev-android-attention-a-l-import-de-classe-date\/erreurDate-150x97.png 150w\" sizes=\"auto, (max-width: 224px) 100vw, 224px\" \/><\/a><\/p>\n<p>Dans 90% des cas, il n&rsquo;y a qu&rsquo;un seul Import de propos\u00e9. Du coup, j&rsquo;ai cliqu\u00e9 sans vraiment lire sur le premier. \u00c9videmment celui qu&rsquo;il faut n&rsquo;est pas java.sql.Date mais java.util.Date.<\/p>\n<p>Apr\u00e8s import de java.sql.Date je me retrouve donc toujours avec une erreur, cette fois : \u00ab\u00a0The constructor Date() is undefined\u00a0\u00bb<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAASsAAAB8CAIAAAC+OgEYAAAK8klEQVR4nO2b22sc1x3Hzx\/Th5K3PhoabJxALUIwETQ4VeLaUbMGF2yBIcE0IQo0bSFFrPrihsXCpAHF8aZK00kvpqlb57JQAmmpBF5al7jTEhU2FrsFkchSTh4mWp09l9\/85npmZr+HD2L2zLnP+cxvdlcrNkdflMM3zr5fKKVNBIAcEaX1BAMBMIGBAPgEBgLgExgIgE9KNVAqqWgDhRDESwAqQtkxcOweU0K+q\/rEYCCoAwf78nnxbQ21nJZPv7RiGqUdm+FRTibNTC1\/YlY231wSCiHgJ\/DFxM5TFYo9Vg+0MlYIA0276BhoLT8xKxgIakICA61xbzMPA4lw5zLQLD8xqyQGAuCRxDHQWj5Wv80iY2DGp1AAPJLGQOKJlICwzgyGtI35GoinUOARyycx9EtNxUQGEt9GqPmuz2OIB9HUBkI\/4JfGfiPP\/DYC+gG\/6PtPisWCjr+KXWLxII7leqz1K4TgjA0Av0wYGG3Ngv6OVSnob4pRAeCdAwOLi37j44Ki3\/g49dgA8IUwv1tDQkIqLcFAJCSfCQYiIflMMBAJyWeCgUhIPlM+Bor9xCmDhITkNFCQFrnUYhe7AwCYMFB\/YdOUkMpptpEJAwGIEELcJ2SE0IJYLjFQy4le2gzUkv+lAaAEIiPuE0qs8mGg3Hrn9OD1I4PuA4PXj2y9cxoSgilhwkDpKQYO\/9ga3ZiXn7wd8f8b88MbLb6EeKblr1IJa0V0sX+Lz7\/l+iKE+LoYbW9v7+zsUDEwyUcsiQ389M3Du\/9b29v85fjvYO2wy0Dj3WbZFyZ1dykqajNN3bJawCyc7wK6WqPHUOjKVxkhxNdEPwzD4XD4lRvWD1E47qX+JGbrd4fvbb21O\/pgd\/Te7uiDe3ff+vS3h40ecr6cWZastIrMaWY0sJz1yd5vUw0MgqDX64VhWN438tpS3r1+6LPR2t7uYO\/ef\/Z2B7eOHjchLoY1UBChQzvleulqTTvW\/mrDc1W0vjQ3meslcwrWRvjNWpc6dok4o+K0Q1\/fxiCE6HQ6QRD0+31vBn72z6Wt3rc+374ppfx8++ato8fDZxYHV1Zvz7UGV1bDZxZjDTS3SOxu49elq1g3OqeiWZivCnO+1mG4mnXt76RLVHROwxBCtNvtbre7sbHhzUAp5d7Hz+\/87XtSynt\/f+rW0eODK6tSys32JSnl4MpqCgNdN850BtLdcZpKWpgerTY7V8RIamDsGBKZQw8yda2GIYRYWlq6du3a+vq6RwPvSCmvv3Gxt3H37dULt44evz3XivTbbF+6PdfKEgOJisxtMT6OLUAPIy8D+WNm5linmWiJONPJq1bDqJCBL3b\/KqV85OxL+RpI7Kd0dX0ZOD5OdNewtsxfE2Z3ZeY0jAoZ+MNf\/GHtNzcfX\/hx9qdQqTzPWOesnjJfmptAa8oaD9WSROOcfokG6Y5cc6f3sWuaru7oBU+0sJwL51qEZiCqY+Cv\/\/ThQ6curv3+Pe2TmE9+0jYNBEkvs\/UYeKc6Bt4Zn+V8GwFSXGkJ\/apHpQwcY03+FwuA3GEZuP8IfnCs5hRgIADTAjcGqr6pNrJ9g4EAWJgwUFNFjXVWA81jMzyKyQQDAVCJvDiIgdb4ZkoVGw9d5WEgACp6DExqVGy4cxnYfe1lAIDzfWBSA5PHQCQkJMky0BXT6GDoOiXxFArAPpGBQgj9KVQqT5WqVNbnTKK8eQoGAjBG\/ySmnAQDAYhwPoXCQABKoLEGEl3sPw\/7X3pmfhVGCwqiKgYqbxTTzIGZKavxKwFB\/pM0DJwqKmFgEVbw97fHpWfmV2fMIHcqYaA2IDNHjZCmruMcazHTdq2M1X8zJruitJbPaY0Ytjnf2FF530MgC9UykL790wZa4yqnQbMw3SmxlK72OQNONEHX\/QXUjgoZGJuZ1EBmg9ZjLRC5WtMKE+PUWpOTFplnrRM0+wJ1pyoGcqJicTGQONbqWnvRjpkRlZ5O7ARBM2AZuL\/zDo7VnOwGEnsro4FEvlmGcIbzkn+c3UDX7EDt4MZA1TfVRrZvMQYSz1fmKS3HzJfJfdDOunq0rqB5lpig2a951uzdNQwYWHdEjX6hi90GmofQYuCkJBMWJYqHrvIwEAAVPQYmNSo23OVoIADNQ4+BLm2qEAMBaB4sA10xjQ6GhI0wEIAI51OoVJ4qVamsz5lEefMUDARgjDMGFppgIAARMBAAn8BAAHwCAwHwCQwEwCcwEACf1MnA7775g4g8pr0YmzPNEKuR+0JFDWZpVq1bu+tYJwOfeOPix\/9tPdG9yL8wrutRcQOtgylo66c7Fa0tscLMMY8LZJxdXu2UT50MfOzq0\/\/491Pfufo0\/6rAwKS9ME8xww4MZIy8PgY++uqF9X\/NP\/rqhdSXxLxzE\/dys6TWrFrA3JHaWeswYkdFjyd22Mx+XRX5tzBOm64lZbZAX0dzSHWh6gbOXj4\/e\/nc7Mr52ZXzj1w+92H\/dHQ8u3JuduXc7Mp598T0y2yVhHP9zN3Maco1gER1rTOiR05PnDn92JUhynO6SLcUnDZrR9UNfPjnZ99dP2Vh49S766cevvR998SyGhgb5ZgbxTQwtuWCDGTOKHZl6E6JLhJNHAZWwsBjy62Z5TPHllvHls\/M\/OzM9Y9Oziy3osyZ5TMzyy3HrBbTXW\/i0uZooDlaojWiGD3yFLGX0z5RPsU9LkULMLBUA1Ue\/On8r\/7y+IMvPcmYVdb9UY6BZcbA4gw0e8y+aCmGDQMLN\/DIj05efX\/uyIsnGbNiPSNZc9RarhDKacplglqS2EbEkKyNWFtgTt9skGOgdQD8LrIvjqtYvaiTgfcvzr3y58e++cKc91WbXMG6XvsqkHH1YGCpBh567sShZ08cevYE58KAaca7V800EIDmAQMB8AkMBMAnMBAAn8BAAHwCAwHwCQwEwCd1MhC\/kfcFsTi5r1uVL4SI+1ehVG3Wx8Ap\/4180QNOp5nY\/y82zrfhsWMWcf\/jwm+hoIqxI0y+7PUxcMp\/I1\/0gDMamLGdvAoUXXGqDZza38hbR8gpk24Yror8OxpzItYVtq5h7DTLrJjvva\/qBuI38pxNT5Sn14HZaex4iPKcLtKtDH2xiqs4XQbiN\/KuO3d2A5kTjF0oulOii6Tr4Ord7BoG5mYgfiOvzoiuRU+EGEZBBqa45SVqwXXpi644XQaq4Dfy9AjpYqUZaPaYfQ1dK+PSo7iKrhVITZ0MnM7fyLuGp5YhinGGYXaqNcgx0DoAfhfWQdIrYx1M+RUzUicD8Rv5xpN0MVMvfvkV3Q3Wx0D8Rh5UjekyEIDmAQMB8AkMBMAnMBAAn8BAAHwCAwHwCQwEwCfeDOy+9jIAwGMMREJCkngKBcAnMBAAn8BA0HAWFubTFVtYmOfXZZY0gYGgikR7OsvOVpvSGtRy1GJaLX77qYGBoIqo2zrjFh\/7lqgADARTjWmg9leNXa6w5mqQc8ps1hwMXVJ9aVYfn4KBoIpYDXTtZmsts0Grn64q5tOp1TG6pKuMegoGgipiCmMGPetbuFijYjPN7tQD6wc2sSVdZSQMBNWEs9Fd5Zmy0e\/fijZwfAwDQRWhhXG990v0PtD1XOrqjj8wV0XrOGEgAD6BgQD4xJuBSEhIUfJgoJZGo1G\/3w+CoNPptNvtJSSkaUqdTicIgn6\/783A7e3tMAx7vV4QBN1u9xoS0jSlIAh6vV4Yht4M3NnZGQ6HYRj2+\/2NjY11JKRpSv1+PwzD4XD4Jao88i0l+hJYAAAAAElFTkSuQmCC\" \/><\/p>\n<p>Heureusement une petite recherche m&rsquo;a permis de corriger bien vite :<\/p>\n<p><a title=\"Why does \u201cDate d =\" href=\"http:\/\/stackoverflow.com\/questions\/5930498\/why-does-date-d-new-date-return-an-error\" hreflang=\"en\">http:\/\/stackoverflow.com\/questions\/5930498\/why-does-date-d-new-date-return-an-error<\/a><\/p>\n<p>Et tout fonctionne bien avec<\/p>\n<pre class=\"brush:java\">import java.util.Date;<\/pre>\n<p>Voici le code source de la fonction pour renvoyer une cha\u00eene de caract\u00e8re (String) contenant une Date :<\/p>\n<pre class=\"brush:java\">\/**\r\n * Renvoie la date courante en String\r\n * @return String\r\n *\/\r\nprivate String _getCurrentDateTimeString() {\r\n\tDate curDate = new Date();  \r\n\tSimpleDateFormat formatter = new SimpleDateFormat(\"yyyy-MM-dd HH:mm:ss\");  \r\n\tString formattedDateString = formatter.format(curDate); \r\n\treturn formattedDateString;\r\n}<\/pre>\n<p>Sur le lien ci-dessous vous trouverez tous les arguments qu&rsquo;on peut donner \u00e0 SimpleDateFormat : <a title=\"Android Developers : SimpleDateFormat\" href=\"http:\/\/developer.android.com\/reference\/java\/text\/SimpleDateFormat.html\" hreflang=\"en\">http:\/\/developer.android.com\/reference\/java\/text\/SimpleDateFormat.html<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Pour SRDice je travaille \u00e0 proposer la possibilit\u00e9 de sauver les r\u00e9sultats des jets de d\u00e9s Shadowrun dans un fichier de log. Et qui dit log dit date ! En cherchant \u00e0 faire une fonction pour r\u00e9cup\u00e9rer la date courante, je me suis retrouv\u00e9 face \u00e0 une erreur due \u00e0 mon inattention&#8230; [&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":124,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,2,4],"tags":[114,15,35,18,19,112],"class_list":["post-11","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android","category-developpement","category-srdice","tag-android","tag-des","tag-eclipse","tag-java","tag-shadowrun","tag-srdice","odd"],"_links":{"self":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/comments?post=11"}],"version-history":[{"count":6,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/11\/revisions"}],"predecessor-version":[{"id":1091,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/posts\/11\/revisions\/1091"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/media\/124"}],"wp:attachment":[{"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/media?parent=11"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/categories?post=11"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cyol.fr\/blog\/wp-json\/wp\/v2\/tags?post=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}