java实现已完成,撒花~。~
mdict-java 原本转自xwang的python解析代码,但是他的这个项目仅仅是格式的解析。二分法搜索单词的逻辑被我在短时间内搭建出来,有待完善(比如可以学学GodenDict什么的)。基于字节的通配符搜索方法即将加入更多语法(与或非)。
安卓APP的名字就叫做平典查词App 。
一些开发过程中的陈词滥调:
App更新到了2.0,完成正则查找、页内查找、构词库等,下一步是点译、发音库、保存搜索,然后再完善一下,我想就可以结束这个项目了。
现在的版本v3.8单/多实例存在着一些问题。我以静读天下为调试底本,测试各种调用方式,渐渐地对这个阅读器本身心生不满(程序的通病,有机事者必有机心哈哈哈)。我终于下决心制作自己的PDF阅读器。
PDFium 也不是第一次知道了,安卓+开源+PDF阅读器这几个关键词我也搜索过很多遍。但一直到两年后的今天我才真正有能力有模有样地实现这个目标。
阅读器出来后,恢复平典查词的更新。
新的更新将带来更多的动画,自定义工具栏功能和一系列小工具(二十个之多呢!),以及即将整合的沙拉查词(没错就是Chrome浏览器上、或许就在你鼠标边上的那个!)。
主界面分3屏滑动,左侧是词条搜索,中间常规查询,最右是全文搜索。常规查询是最简单的,使用两次基于String比较 的二分法可以检索到最近的匹配。
词条/全文搜索,设计了两个字节数组级别的通配符:.和*,分别代表匹配一个或者任意个字符。byte级别是因为从一次次构建字符串会消耗大量时间。
后来引入正则表达式引擎 oniguruma,用来全文搜索会很慢。
同时又引入 mark.js 进行页内查找。
常规的搜索,用顶部工具栏的一个按钮切换单本/联合搜索。单本搜索的图标是一本书打开了,上面浮着一个1。联合搜索的图标是三本书靠一起。
桌面版则是用 Javafx 和 nanohttp 建一个本地词典伺服。词典解释放到一个个独立的 iframe 里面。
桌面版的H5界面直接照搬我为mdict-js写的。
附一张修改过后的高清解析图: