每天都要背25分钟单词,用的软件是奇迹背单词,然后听一段voa慢速,用的是有道词典的免费资源。Voa总是有很多不会的单词,所以我会把单词加入有道单词本,然后再把有道单词本导入奇迹背单词的生词本,这样第二天或者以后的某个时间奇迹背单词会再次帮助我巩固这些词汇。手工导入很繁琐,就考虑写个小软件自动化一下。有道单词可以同步到桌面版,导出格式可选xml,这就好多了。奇迹背单词没有桌面版,使用的sqlite数据库,名字叫newword.sqlite。这样问题就转化为将xml解析入库的操作。
用itools打开设备,可以把newword.sqlite拷贝出来,字段比较好懂,newwordid是自增主键,后面依次是英文,中文,dj音标,kk音标,加入时间,是否发声(?),字典id,类别id和是否背诵(?),字典id比较关键,需要从总的字典表中查找,位置在danci.app中的wordinfo.sqlite,将近37万个单词。
[Newword.sqlite].newword表
[wordinfo.sqlite].wordinfo表
材料准备好了,画个简单的流程图就开始coding。
代码很简单,只有两个需要注意的地方,第一个是单词量比较多,需要批量插入,我设置为10条一提交;第二个是sqlite中单引号需要替换,string.replace("'","''");,其它的都比较简单。代码在https://youdaoimport.codeplex.com/downloads/get/900196
最后说一下使用方法,打开itools连接iphone,把奇迹背单词的newword.sqlite导出到执行文件同目录下,把有道词典同步后的单词本导出为aaa.xml到执行文件同目录下,执行importYoudao.exe,导入完成后把newword.sqlite拷贝到奇迹背单词目录中覆盖即可。