您的位置:首页 > 其它

FBReader源码详细分析 序言

2016-08-25 19:48 459 查看
https://github.com/geometer/FBReaderJ

FBReader源码详细分析 -- 序言

有关FBReader源码的分析,网络上已经有一位叫做“谋哥”的大神写过(大家可以到这个地址里面去下载相关的PDF文件)。我的这篇分析是在“谋哥”分析的基础上,以FBReader的启动流程为主线,对源码的细节处进行了更加详细的分析

按照我的设想,把我觉得把FBReader源码中有必要详细分析的部分全部都写完的话,大约会有二十章左右,还是一个挺大的工程。我会不断更新序言的部分,把已经完成的章节的概要都在这里列出来,以便大家在阅读每个章节之前可以对整个分析的流程有一个大致的了解。

第一章:主线程与子线程

    本章介绍了程序如何在建立了一个负责在后台读取epub文件的子线程后,再用主线程控制一个进度条(ProgressBar)在屏幕上显示与消失。 
    本章涉及的核心类是UIUtil类。 

第二章:解析资源文件

    本章介绍了程序图和对assets文件夹下存储的资源文件进行解析,得到要显示在进度条(ProgressBar)上的文字。 
    本章涉及的核心类是三个读取xml文件的三个核心类ZMLZMLProcessor、ZLXMLParser、ZLXMLReader以及ZLTreeResource类 

第三章:获取书籍信息

    本章介绍了程序如何获取包括文件路径在内等的书籍信息,为解析书籍所在的epub的文件作准备。 
    本章涉及的核心类包括FBReaderApp类、SQLiteBooksDatabase类、Book类、BooksDatabase类、FileInfoSet类 

第四章:epub文件处理 -- epub文件内部组成

    本章介绍了epub文件内部的组成,以及内部各个部分各自的作用。 

第五章:epub文件处理 -- 解压epub文件

    本章介绍了程序是如何将epub文件内部指定的文件解压成可以解析的字节流。 
    本章涉及的核心类是ZLZipEntryFile类、LocalFileHeader类、ZipInputStream类、DeflatingDecompressor类 

第六章、epub文件处理 -- 解析container文件与.opf文件

    本章介绍了程序解析container文件与.opf文件的详细流程 
    本章涉及的核心类是涉及xml文件解析流程的ZMLZMLProcessor类、ZLXMLParser类、ZLXMLReader类以及与涉及解压流程的ZLZipEntryFile类、LocalFileHeader类 

第七章:epub文件处理 -- 解析.xhtml文件

    本章介绍了程序如何利用ZLTextPlainModel类分别来处理.xhtml文件中的文本信息与标签信息 
    本章涉及的核心类是ZLTextPlainModel类、ZLTextWritablePlainModel类、CachedCharStorage类、XHTMLTagParagraphAction类 

第八章:epub文件处理 -- 定位指定段落

    本章将介绍在CachedCharStorage类中的char数组定位指定段落的详细流程 
    本章涉及的核心类是Processor类、EntryIteratorImpl类 

第九章:epub文件处理 -- 显示.xhtml文件

本章中将介绍将经过“解析”与“定位”流程之后得到的数据显示到屏幕上的详细流程 
本章涉及的核心方法是:ZLTextView类中的preparePaintInfo方法、prepareTextLine方法、drawTextLine方法 

第十章:epub文件处理 -- 样式处理

    本章中将介绍处理样式的流程。样式处理的流程包含两个部分:创建样式、应用样式。 
    本章涉及的核心方法是TextStyleReader类中的startElementHandler方法以及ZLTextViewBase类中的resetTextStyle方法与applyControl方法 

十一章:翻页处理

待完成 

十一章:批注处理

待完成 

十二章:目录跳转

待完成 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: