java - Añadiendo el tiempo de Joda
android jodatime (1)
Estoy construyendo una aplicación que usa tiempo. Decidí usar el tiempo Joda. Estoy tratando de agregar tiempo joda a mi aplicación. No tengo experiencia en agregar archivos .jar
a las librerías. Seguí estos pasos (ver abajo), o eso pensé. Mi proyecto no muestra errores, pero cuando ejecuto una prueba simple: DateTime test = new DateTime();
Obtengo una fuerza de cierre y el siguiente error:
Could not find class ''org.joda.time.DateTime'', referenced from method xxxx
java.lang.NoClassDefFoundError: org.joda.time.DateTime
Estos son los pasos que seguí:
- Crea tu proyecto android en eclipse.
- Descargar Joda Time
- En Eclipse, busque su proyecto en el explorador de paquetes y haga clic derecho en él y luego llámelo
New -> Folder -> libs
. Nota: no hice esto porque ya tenía una carpeta llamadalibs
- Copie (o) arrastre y suelte el
joda-time-2.1.jar
en la carpetalibs
recién creada. - Vuelva a hacer clic con el botón derecho en su proyecto (en el explorador de paquetes) y luego
Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar
.
Ahora puedes probar con este código:
DateTime test = new DateTime();
Después de importar:
import org.joda.time.DateTime;
Como se trata de un proyecto de Android, no basta con hacer referencia al archivo jar de Joda. Deberá empaquetar ese archivo jar junto con su apk, que se puede hacer de la siguiente manera:
Propiedades -> Java Build Path -> Order & Export
Compruebe en el
joda-time-*-*.jar
y haga clic en Aceptar . Has terminado
Explicación: la referencia al archivo jar solo solucionará los problemas de compilación en Eclipse (o cualquier otro IDE), pero cuando se crea el apk, el archivo jar "joda-time" no se exportará / agrupará junto con su "apk". Esa es la razón por la que lanza el NoClassDefFoundError .
Pero cuando revisa el archivo joda-time en Order & Export , se asegurará de que el archivo esté incluido dentro / junto con su "apk" cada vez que se crea.