Java android可以将字符串作为代码执行吗?

Java android可以将字符串作为代码执行吗?,java,android,eclipse,scripting,Java,Android,Eclipse,Scripting,所以基本上我希望我的应用程序从数据库中读取信息,这些信息将是一个有效的java代码字符串。一旦读取,我希望我的应用程序执行这个字符串,就像它是代码一样。android sdk中是否有支持此功能的打包功能 基本上,我希望手机用从数据库查询的信息填充一些数据。其中一条信息是这样的陈述: "return data.ZombieKillTotal >= 100000;" registerAchievement(new Achievement("Zombie Killer", new Achiev

所以基本上我希望我的应用程序从数据库中读取信息,这些信息将是一个有效的java代码字符串。一旦读取,我希望我的应用程序执行这个字符串,就像它是代码一样。android sdk中是否有支持此功能的打包功能

基本上,我希望手机用从数据库查询的信息填充一些数据。其中一条信息是这样的陈述:

"return data.ZombieKillTotal >= 100000;"
registerAchievement(new Achievement("Zombie Killer", new AchievementValidator() { 
    public boolean isSatisfied(Data data) { ExecStringAsCode(query result) } 
    });
这将在语句中使用,如:

"return data.ZombieKillTotal >= 100000;"
registerAchievement(new Achievement("Zombie Killer", new AchievementValidator() { 
    public boolean isSatisfied(Data data) { ExecStringAsCode(query result) } 
    });

我只是不知道“ExecStringAsCode”应该使用什么:(

Java编程语言并没有真正提供一种功能来执行文本字符串中的代码


您可以嵌入一个解释器来使用更为脚本友好的语言(可能是Python)如果你想执行动态加载的代码,你必须使用类似COdeDOM的东西来创建代码并编译它,然后使用反射来加载和执行它。

我最后使用了JRE库并导入了
javax.script.*;


这不是一个好主意,执行字符串甚至是一个糟糕的主意。我不知道您是否希望在Android上执行此操作,或者是否支持此操作,但在Java中,您可能必须使用动态编译/加载/执行的类。@Colin:如果不执行str,您建议如何将这些信息从数据库中输入类中ing?这是一个非常危险的想法。为什么不只是解析字符串并做你需要做的事情呢?我试图不限制成就验证的功能。如果我误解了,也许你可以提供一个解析字符串的示例来编写代码?