我应该在我的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();
}
}
}
答案 0 :(得分:3)
我为你调查了一下。
我假设您正在使用Eclipse与当前版本的ADT插件。
首先,让我们确保您正确添加罐子:
libs
的文件夹
项目(与src
,res
等一起)。libs
。现在为图书馆。 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