我怎么用natty-master ?



我应该在我的android项目中使用natty-master。但是我不能导入它。没有maven我怎么使用natty ?我找到这些代码,我添加了罐子,但它不起作用。

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();
       }
    }

}

我帮你调查了一下。
我假设您使用的是带有当前版本ADT插件的Eclipse。首先,让我们确保您正确地添加了jar:

  1. 你必须在根目录下创建一个名为libs的文件夹项目(与srcres等并列)
  2. 将第三方jar文件拷贝到libs .
  3. 右键单击项目并执行刷新,ADT将发现库并将其添加为Android依赖项。

现在来看库。Maven列出的natty-07.jar的所有依赖项如下:

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 MB的依赖,你必须复制到libs
我不认为它们在运行时都是必要的,但是我没有办法分辨哪些是关键的。
使用ProGuard可能会让其中一些人瘦下来,但那是另一回事。

我创建了minSdkVersion="8"和targetSdkVersion="17"的快速脏应用程序。然后将您提供的示例代码放入Activity并根据输入:"the day before next thursday"运行它。结果我得到了日期为[Wed May 22 16:52:49 GMT 2013]的单组,这是可以的,因为今天是5月17日星期五。


编辑2013-06-02
基本代码:
http://pastebin.com/XrF5k10M
完整的解决方案:
https://www.dropbox.com/sh/qk2cs51twrpobuz/YaFZWiG5jP/StackOverflow/16610375/NattyApp.zip

最新更新