Подтвердить что ты не робот

Добавление времени Джоды

Я создаю приложение, которое использует время. Я решил использовать время Джоды. Я пытаюсь добавить время joda к моему приложению. У меня нет опыта добавления файлов .jar в библиотеки. Я выполнил эти шаги (см. Ниже), или так я думал. Мой проект не показывает никаких ошибок, но когда я запускаю простой тест: DateTime test = new DateTime();, я получаю силовое соединение и следующая ошибка:

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

Это следующие шаги:

  • Создайте проект андроида в eclipse.
  • Загрузить Joda Time
  • В Eclipse найдите свой проект в проводнике пакетов и щелкните его правой кнопкой мыши, затем назовите его New -> Folder -> libs. Примечание. Я не делал этого, потому что у меня уже была папка с именем libs
  • Скопировать (или) перетащить joda-time-2.1.jar во вновь созданную папку libs.
  • Щелкните правой кнопкой мыши на своем проекте еще раз (в проводнике пакетов), затем Properties -> Java Build Path -> Libraries -> Add Jars -> joda-time-2.1.jar.

Теперь вы можете протестировать с помощью этого кода:

DateTime test = new DateTime();

После импорта:

import org.joda.time.DateTime;
4b9b3361

Ответ 1

Так как это проект Android, просто ссылка на файл joda jar не будет делать. Вам нужно будет связать этот файл jar вместе с вашим apk, который можно сделать следующим образом: -

  • Свойства → путь сборки Java → порядок и экспорт

  • Проверьте joda-time-*-*.jar и нажмите ОК. Все готово.


Объяснение: Ссылка на банку только позволит решить проблемы компиляции в Eclipse (или любой другой среде IDE), но когда создается apk, jar файл joda-time не будет экспортироваться/в комплекте вместе с вашим "apk". Именно поэтому он выбрасывает NoClassDefFoundError.

Но когда вы проверяете joda-time jar в Order и Export, он будет следить за тем, чтобы банку также вставляли внутри/вместе с вашим "apk" всякий раз, когда он создается.