FBReader源码分析(四)数据之源Model分

nil  2012年07月21日 星期六 11:12 | 2066次浏览 | 0条评论

FBReader里重要的数据结构Model的分析~~分析完它,基本可以自己添加一种文件格式了~

一、万事开头难


       正所谓“巧妇难为,无米之炊”。FBReader要想实现能够支持各种文件格式,就需要对来源的数据进行规整化处理,结构化出自己需要数据。求同存异,抽象出相同的特性为父类,而子类保持各自的特性。
       大家可以想象,FBReader打开txt和epub文件,它们本身结构就不一样,但是在界面渲染显示的时候,发现它们有什么特别的不同。确实是这样的,FBReader要想实现对各种格式的支持,就需要对这些文件格式的数据进行分析。txt比较简单,都是文本;epub就复杂多了,不但有文本,还有图像,超链接等。所以, 可以认为txt是epub的子集。
       FBReader就抽象出一种标识:      
    也就是上面的接口,FBReader读取txt的话,只要在保存到自己缓存的时候在每段的前面加一个标签“TEXT"就可以;而epub的话,碰到一段(<p>),也是用"TEXT"作为标签,而解析的时候碰到了img,那么保存到自己缓存文件的时候前面就加"IMGE",同理,链接的话就是”CONTROL"等。
      所以这个Model的工作就是实现对不同格式的数据,规整出 FBReader自定义的结构想要的数据,并且能保存读取。

(此处省略N多字,全文请看http://www.docin.com/p-424576452.html)

评论

我的评论:

发表评论

请 登录 后发表评论。还没有在Zeuux哲思注册吗?现在 注册 !

暂时没有评论

Zeuux © 2024

京ICP备05028076号