2009年02月3日

IPhone上的杀手级应用:wiki2touch

作者 非鱼

在cydia里面搜索wiki,可以看到wikisrvd的一个软件,点击安装后,没有什么图标出现。该程序在IPhone上自动建立一个web服务,启动和停止该服务需要用到IPhone上另一个常用软件,bosspref,该程序可以控制很多个软件和服务的开关,节省不必要的资源。在bosspref里面启动wikisrv以后,就可以通过safari打开127.0.0.1:8080在本地查看维基百科的内容了。不过,前提是你还得有离线数据包。

制作离线数据包需要用到这个软件:http://code.google.com/p/wiki2touch/,下载windows版解压出来,运行里面的TransferTool,第一步,选择一个语言下载离线数据包,中文可以选中other,输入zh,建议使用复制URL功能然后用迅雷下载,使用我公司的网通线路下载可以达到1.5M每秒的下载速度,中文离线包288M,两分钟不到就下载完了,英文离线包4.12G,下载也不过1个小时。

下载完成以后,使用第二步选择你下载的文件,建议选中第三步里面的第二个选项,不要让它自动上传到IPhone,然后点击第二步里面的Start Indexes,程序会自动检索离线包里面的数据,建立索引,(中文的几分钟,英文的用了接近两个小时),最后在下载文件的相同目录下生成两个文件,articles_zh.bin和images_zh.txt,接下来可以把第一个文件重命名成articles.bin,上传到IPhone的/private/var/mobile/Media/Wikipedia/zh(安装那个服务的时候会自动建立各种语言的子目录)中,再在safari里打开页面,就可以看到zh已经可选了,输入一个名词,基本上就可以看到离线内容了。

这时候内容是纯文本的,插图都没有了。如果需要图片的话,把前面生成的images_zh.txt重命名成images.txt放到wiki2touch的解压目录里,运行ImageGetter,程序会按照该文件里面的图片文件名去下载所有的图片放到images目录下,建议定义图片宽度为240,该大小在Iphone里比较合适,图片的最大大小可以设大一点,否则一些大图片会被忽略,点击下载就可以了。但是这个下载过程很慢,中文包大概13万张图片,需要下载10几个小时,而且不能断点续传,我下载到一半程序报错退出了,一切就都完了。如果下载完成,使用命令行进入该目录,执行pack images就可以把图片目录打包成images.bin,把images.txt和images.bin一起放到Iphone上跟articles同一个目录,图片就可以显示出来了。(中文的图片大概需要2G的空间,英文的嘛,反正我是不敢尝试下载的。)

4.12G的英文离线数据经过重新索引以后占用空间3.2G,有效条目600万左右,忽略了130多万条目,不知道是什么东西。这些有效条目基本上已经可以作为百科全书来看了,古今中外,上知天文,下知地理,如果有些条目会在多个语言版本之间建立关联,比如长城,英文版的最后会显示中文版的链接,中文版的最后也会显示英文版的链接,而且点击就可以跳转过去,非常的方便。

更重要的是,完全离线,查询速度非常快,不占用任何流量,而且,不用担心墙的问题,所有词条都可以查,很多内容的细致程度大大出乎我的意料,比如名人的生平之类的。

这下拿着Iphone不用愁没有电子书和英文学习资料看了,好爽。