前面的文章相信读者已经对规则引擎有了一定的认识,下面来介绍规则引擎如何与java结合使用。

规则引擎处理有自己的规则语句,还可以调用java代码,或者直接插入java代码,换言之,规则引擎可以通过Java代码无限扩展其功能,又或者你可以使用以前项目的java代码,算法代码等直接插入到规则引擎使用。

下面来利用规则引擎,java来实现一个小闹钟。

首先创建一个小闹钟工程

利用java做个闹钟 java实现闹钟功能_播放音乐

添加一个规则

利用java做个闹钟 java实现闹钟功能_外部调用_02

为了能播放音乐,我们需要创建以下三个对象,分别是播放器路径,音乐路径,时间。

这里需要解释一下,本次教程我不打算编写一堆播放器相关的代码去分散读者的注意力,简单起见,我使用调用系统播放器的方式去播放音乐,效果是一样的。

利用java做个闹钟 java实现闹钟功能_利用java做个闹钟_03

我们可以为time对象添加一个方法,用于获取它的long类型时间。

利用java做个闹钟 java实现闹钟功能_播放音乐_04


选择getTime方法后添加如下图所示:

利用java做个闹钟 java实现闹钟功能_外部调用_05

临时数据设置一个变量,等下定时器要用的:

利用java做个闹钟 java实现闹钟功能_外部调用_06


外部调用是本教程的重点,选中外部调用页,点击如下按钮,添加一个当前时间和睡眠的函数,当前时间函数可以添加一个getTime方法。如下:

利用java做个闹钟 java实现闹钟功能_规则引擎_07


规则中编写如下代码,最后那一行是手写输入的代码:

利用java做个闹钟 java实现闹钟功能_利用java做个闹钟_08


运行一下,时间必须按钮下图的格式给出,否则系统识别不了:

利用java做个闹钟 java实现闹钟功能_规则引擎_09


时间到了之后,系统播放器开始播放音乐啦~~~

利用java做个闹钟 java实现闹钟功能_规则引擎_10




以前在外部调用页中,或许你会想找一个播放音乐或者其他算法的函数,但很遗憾,外部调用之提供一些比较常用和核心的函数,但通过本教程,你应该有所体会,规则引擎支持嵌入java,那么我们可以通过该功能,对我们的规则功能进行扩展,实现更多的功能。