web-dev-qa-db-fra.com

Ajout de l'heure Joda

Je crée une application qui utilise le temps. J'ai décidé d'utiliser le temps Joda. J'essaie d'ajouter du temps joda à mon application. Je n'ai aucune expérience avec l'ajout de fichiers .jar Aux bibliothèques. J'ai suivi ces étapes (voir en bas), ou du moins je le pensais. Mon projet ne montre aucune erreur, mais lorsque je lance un test simple: DateTime test = new DateTime(); j'obtiens une fermeture forcée et l'erreur suivante:

 Could not find class 'org.joda.time.DateTime', referenced from method xxxx
 Java.lang.NoClassDefFoundError: org.joda.time.DateTime    

Voici les étapes que j'ai suivies:

  1. Créez votre projet Android dans Eclipse.
  2. Télécharger Joda Time
  3. Dans Eclipse, recherchez votre projet dans l'explorateur de packages et faites un clic droit dessus, puis appelez-le New -> Folder -> libs. Remarque: je ne l'ai pas fait car j'avais déjà un dossier nommé libs
  4. Copiez (ou) glissez et déposez le joda-time-2.1.jar Dans le dossier libs nouvellement créé.
  5. Cliquez de nouveau avec le bouton droit sur votre projet (dans l'explorateur de packages) puis sur Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar.

Vous pouvez maintenant tester avec ce code:

DateTime test = new DateTime();

Après l'importation:

import org.joda.time.DateTime;
19
Chad Bingham

Puisqu'il s'agit d'un projet Android, il ne suffit pas de référencer le fichier Joda. Vous devrez regrouper ce fichier jar avec votre apk, ce qui peut être fait comme ceci: -

  1. Propriétés -> Java Build Path -> Order & Export

  2. Vérifiez le joda-time-*-*.jar et cliquez sur Ok. Vous avez terminé.


Explication: Référencer le pot seul ne résoudra que les problèmes de compilation dans Eclipse (ou tout autre IDE), mais lorsque l'apk est créé le fichier jar "joda-time" ne sera pas exporté/groupé avec votre "apk". C'est la raison pour laquelle il lance le NoClassDefFoundError.

Mais lorsque vous vérifiez le pot joda-time dans Order & Export , il s'assurera que le pot est également inclus dans/avec votre "apk" "chaque fois qu'il est créé.

19
SudoRahul