适用于Android的表达式解析器库

时间:2010-04-15 11:03:23

标签: android parsing

评估简单条件语句的最佳方法是:

"a>b" ?
"x-4<10+y & y>x" ?

表达式从外部文件加载。变量在应用程序中设置。 使用的语法不是必需的。它可能是“&amp;”或“和”或任何其他语言/图书馆支持。

我需要根据评估结果采取不同的行动 - 是真还是假。

我可以使用Andorid中已包含的任何解析器吗?

有没有办法从浏览器组件中使用JS“eval”?

是否可以使用sqlite expressions来获取真/假结果而不选择任何内容?

这些库是用本机代码实现的。它会更快,更省电吗?

2 个答案:

答案 0 :(得分:6)

您可以使用sqlite表达式,例如:

select 10>2 and 1 < 2;

返回1

您实际上可以使用变量,例如:

select x > y from (select 1 as x, 2 as y)

答案 1 :(得分:2)

  

我可以使用任何解析器吗?   安道尔包括哪些?

效率不高。

  

有没有办法使用JS“eval”   来自浏览器组件?

您需要启动WebView(昂贵),在特制网页中加载,使用javascript:网址将表达式传递给网页上的Javascript方法,以及让Javascript方法通过WebView回调注入addJavaScriptInterface()的Java对象的结果。

  

是否可以使用sqlite   表达式获取true / false结果   没有选择任何东西?

如果你所有的都是常数,那么(参见Hastrurkun的回答)。但是,我没有办法考虑将值分配给要在这些表达式中使用的变量。

  

这些库是在中实现的   本机代码。它会更快吗?   电池价格低吗?

“更快,更省电”比......什么?

您是否考虑过使用Java expression languageJEP