Catégories

Je les lis (et ils le valent bien!)

Dév Android : attention à l’import de classe Date

Logo AndroidPour SRDice je travaille à proposer la possibilité de sauver les résultats des jets de dés Shadowrun dans un fichier de log. Et qui dit log dit date !

En cherchant à faire une fonction pour récupérer la date courante, je me suis retrouvé face à une erreur due à mon inattention…


Quand je déclare Date() dans mon programme, Eclipse me propose de rajouter dans le code l’import qui va bien, comme tout appels à des classes Android ou Java non encore déclarées.

« Date cannot be resolved to a type »

Dans 90% des cas, il n’y a qu’un seul Import de proposé. Du coup, j’ai cliqué sans vraiment lire sur le premier. Évidemment celui qu’il faut n’est pas java.sql.Date mais java.util.Date.

Après import de java.sql.Date je me retrouve donc toujours avec une erreur, cette fois : « The constructor Date() is undefined »

Heureusement une petite recherche m’a permis de corriger bien vite :

http://stackoverflow.com/questions/5930498/why-does-date-d-new-date-return-an-error

Et tout fonctionne bien avec

import java.util.Date;

Voici le code source de la fonction pour renvoyer une chaîne de caractère (String) contenant une Date :

/**
 * Renvoie la date courante en String
 * @return String
 */
private String _getCurrentDateTimeString() {
	Date curDate = new Date();  
	SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
	String formattedDateString = formatter.format(curDate); 
	return formattedDateString;
}

Sur le lien ci-dessous vous trouverez tous les arguments qu’on peut donner à SimpleDateFormat : http://developer.android.com/reference/java/text/SimpleDateFormat.html

2 comments to Dév Android : attention à l’import de classe Date

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  

  

  

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.