Как я могу использовать natty-master?

Я должен использовать natty-master в моем проекте Android. Но я не мог импортировать это. Как я могу использовать Natty без Maven? Я нахожу эти коды, я добавил банки, но это не работает.

import java.util.Date;

import java.util.List;

import java.util.Map;

import com.joestelmach.natty.*;

public class natty {

public static void main(String[] args) {

    Parser parser = new Parser();

    List<DateGroup> groups = parser.parse("the day before next thursday");
    for(DateGroup group:groups)  {
    Date dates = group.getDates().get(0);           
    int line = group.getLine();
    int column = group.getPosition();
    String matchingValue = group.getText();
    String syntaxTree = group.getSyntaxTree().toStringTree();
        Map parseMap = group.getParseLocations();
    boolean isRecurreing = group.isRecurring();
    Date recursUntil = group.getRecursUntil();
       }
    }

}

1 ответ

Решение

Я исследовал это для вас немного.
Я предполагаю, что вы используете Eclipse с текущей версией плагина ADT. Для начала давайте удостоверимся, что вы правильно добавляете банки:

  1. Вы должны создать папку с именем libs на корневом уровне вашего проекта (наряду с src, res, так далее.).
  2. Скопируйте сторонние банки в libs,
  3. Щелкните правой кнопкой мыши по проекту и выполните команду "Обновить", ADT обнаружит библиотеки и добавит их как зависимости Android.

Теперь для библиотек. Все зависимости natty-07.jar перечисленные Maven являются:

antlr-2.7.7.jar
antlr-runtime-3.2.jar
backport-util-concurrent-3.1.jar
commons-codec-1.5.jar
commons-lang-2.6.jar
commons-logging-1.1.1.jar
ical4j-1.0.2.jar
stringtemplate-3.2.jar

Да, это 2,3 МБ зависимостей, которые вы должны скопировать в libs,
Я не думаю, что все они необходимы во время выполнения, но я не могу сказать, какие из них являются решающими.
Использование ProGuard, вероятно, могло бы уменьшить некоторые из них, но это уже другая история.

Я создал быстрое и грязное приложение с minSdkVersion="8" и targetSdkVersion="17". Затем поместите предоставленный вами пример кода в Activity и запустите его для ввода: "the day before next thursday", В результате я получил одну группу с датой [Wed May 22 16:52:49 GMT 2013]что нормально, так как сегодня пятница 17 мая.


Редактировать 2013-06-02
необходимый код:
http://pastebin.com/XrF5k10M
полное решение:
https://www.dropbox.com/sh/qk2cs51twrpobuz/YaFZWiG5jP/Stackru/16610375/NattyApp.zip

Другие вопросы по тегам