2013-03-28 16 views
19

Sto costruendo un'app che utilizza il tempo. Ho deciso di usare il tempo di Joda. Sto cercando di aggiungere tempo joda alla mia app. Non ho esperienza con l'aggiunta di file .jar alle librerie. Ho seguito these steps (vedi in basso), o almeno così pensavo. Il mio progetto sta mostrando nessun errore, ma quando ho eseguito un semplice test: DateTime test = new DateTime(); ottengo una forza vicina e il seguente errore:Aggiunta di tempo Joda

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

Questi sono i passi che ho seguito:

  1. Crea il tuo progetto Android in eclissi.
  2. Download Joda Time
  3. In Eclipse cerca il tuo progetto in Esplora pacchetti e fai clic con il pulsante destro del mouse su di esso, quindi chiamalo New -> Folder -> libs. Nota: Non ho fatto fare questo perché ho già avuto una cartella denominata libs
  4. Copia (o) trascinare & cadere il joda-time-2.1.jar nella cartella appena creata libs.
  5. Fare nuovamente clic con il tasto destro del mouse sul progetto (in explorer del pacchetto), quindi Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar.

Ora è possibile verificare con questo codice:

DateTime test = new DateTime(); 

Dopo aver importato:

import org.joda.time.DateTime; 
+1

pulire il progetto e creare. – rajeshwaran

+0

puoi iniziare a utilizzare jodatime, aggiungendo l'istruzione import pertinente all'inizio del file di classe (o semplicemente digitare DateTime ad esempio, quindi CTRL + SPACE ed eclipse dovrebbero aggiungere l'importazione per te) – rajeshwaran

+0

A destra. È correttamente importato. –

risposta

20

Poiché si tratta di un progetto Android, basta fare riferimento al file jar Joda non lo farà. Avrai bisogno di bundle che file jar con il tuo apk che può essere fatto in questo modo: -

  1. Proprietà -> Java Build Path -> Ordine & Esporta

  2. Verificare sulla joda-time-*-*.jar e click Ok. Hai finito.


Spiegazione: Riferimento il vaso da solo risolverà solo i problemi di compilazione in Eclipse (o qualsiasi altro IDE), ma quando il apk viene creato il file jar vinto "Joda-time" può essere esportato/raggruppato insieme al tuo "apk". Questo è il motivo per cui genera il NoClassDefFoundError.

Ma quando si controlla il vaso Joda-time in Order & Export, farà in modo che il vaso è anche in bundle all'interno/insieme con i vostri "apk" ogni volta che viene creato.

+4

Alleluia !! L'ha fatto! Puoi spiegare perché dovrei farlo per Android? –