基于安卓平台的EPub文件的读取方法及装置与流程

文档序号:11199170阅读:387来源:国知局
基于安卓平台的EPub文件的读取方法及装置与流程

本发明实施例涉及计算机技术领域,尤其涉及一种基于安卓平台的epub文件的读取方法及装置。



背景技术:

电子出版(electronicpublication,简称epub),是一个自由的开放标准,属于一种可以“自动重新编排”的内容;也就是文字内容可以根据阅读设备的特性,以最适合阅读的方式显示。epub文件内部使用xml标准来展现文字、并以zip压缩格式来包裹文件内容。

目前,常用的epub文件解析方式为解压式。通过解压式的方式对epub文件进行解析,可以在文件的某一个位置找到整个文件的完整解压内容,但是这种解析方式对缓存位置的读写速度要求较高,若缓存位置的读写速度较慢,那么打开epub文件的速度就会很慢,严重影响了用户的体验。



技术实现要素:

本发明实施例提供一种基于安卓平台的epub文件的读取方法及装置,用以提高epub文件的读取速度,提高用户的体验。

本发明实施例第一方面提供一种基于安卓平台的epub文件的读取方法,该方法包括:

获取epub文件,并对所述epub文件中的内容文件进行解析生成对象信息;

根据所述对象信息获取待加载的资源文件,并将js脚本和/或css样式添加到所述资源文件中,生成html文件;

对所述html文件进行展示。

本发明实施例第二方面提供一种基于安卓平台的epub文件的读取装置,该装置包括:

第一获取模块,用于获取epub文件;

第一处理模块,用于对所述epub文件中的内容文件进行解析生成对象信息;

第二获取模块,用于根据所述对象信息获取待加载的资源文件;

第二处理模块,用于将js脚本和/或css样式添加到所述资源文件中,生成html文件;

展示模块,用于对所述html文件进行展示。

本发明实施例第三方面提供一种基于安卓平台的epub文件的读取装置,该装置,包括:

处理器;

用于存储所述处理器的执行指令的存储器;

其中,所述处理器被配置为:

获取epub文件,并对所述epub文件中的内容文件进行解析生成对象信息;

根据所述对象信息获取待加载的资源文件,并将js脚本和/或css样式添加到所述资源文件中,生成html文件;

对所述html文件进行展示。

本发明实施例提供的基于安卓平台的epub文件的读取方法及装置,通过根据内容文件解析生成的对象信息获取待加载的资源文件,并通过将js脚本和/或css样式添加到所述资源文件中,生成用于进行展示的html文件,实现了epub文件的快速读取,提高了用户的体验。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明一实施例提供的基于安卓平台的epub文件的读取方法的流程示意图;

图2为本发明又一实施例提供的基于安卓平台的epub文件的读取方法的流程示意图;

图3为本发明一实施例提供的基于安卓平台的epub文件的读取装置的结构示意图;

图4为本发明又一实施例提供的基于安卓平台的epub文件的读取装置的结构示意图;

图5为本发明又一实施例提供的基于安卓平台的epub文件的读取装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤的过程或结构的装置不必限于清楚地列出的那些结构或步骤而是可包括没有清楚地列出的或对于这些过程或装置固有的其它步骤或结构。

图1为本发明一实施例提供的基于安卓平台的epub文件的读取方法的流程示意图,本实施例提供的epub文件的读取方法可以通过包含安卓平台的epub文件的读取装置来执行,如图1所示,本实施例提供的方法包括:

步骤s101、获取epub文件,并对epub文件中的内容文件进行解析生成对象信息。

传统的epub文件的解压式获取方式是将包含epub文件的zip压缩文件进行解压,并从解压后的文件中获取epub文件。相较于传统的epub文件的获取方式,本实施例中,采用直接式的获取方式获取epub文件,即通过采用输入输出数据流(即io流)的方式从包含epub文件的zip压缩文件中直接获取epub文件。

本实施例中采用的直接式获取方式,无需对zip压缩文件进行解压即可实现epub文件获取,提高了epub文件的获取速度。

进一步的,本实施例中,优选采用安卓平台推荐的pull解析方式对epub文件中的内容文件进行解析,并获得内容文件的spine内容以及spine内容对应的资源路径。其中,内容文件的spine内容可以包括电子书籍或文章的章节顺序以及页数顺序等内容,每一章节,每一页数对应一个资源路径,通过相应的资源路径能够获得对应章节或页数的资源文件。在本实施例中,内容文件的spine内容为epub文件的读取核心。

再进一步的,在获得内容文件的spine内容以及spine内容对应的资源路径后,本实施例将内容文件的spine内容和spine内容对应的资源路径封装起来生成对象信息,以达到方便理解和使用的目的。

骤s102、根据所述对象信息获取待加载的资源文件,并将js脚本和/或css样式添加到所述资源文件中,生成html文件。

具体的,由于对象信息中封装有spine内容和spine内容对应的资源路径,因此,在本步骤中,可以根据spine内容中各章节、各页数的顺序来找到待开启章节或页数对应的资源路径,从而根据待开启的章节或页数对应的资源路径加载对应的资源文件。这里需要说的是,本步骤中加载获得的资源文件优选为html格式的文件。

本步骤的有益效果在于,当用户打开电子书籍或文章时只需加载一个对应的html文件流即可,这样就大大的提高了文件加载的效率,缩短了文件显示的时间,有利于形成较好的用户体验。

进一步的,为了实现某些辅助功能,本实施例中,通过将加载获得的资源文件转化为字符串,并将js脚本和/或css样式添加到该字符串的头部,以实现页面跳转、分页、复制黏贴等辅助功能,并根据添加的css样式去加载显示。在将js脚本和/或css样式添加到字符串的头部后,按照html文件的格式要求将字符串的首尾拼接好,形成待展示的html文件。

在这里需要说明的是,本步骤中也可以不在资源文件中添加自定义的js脚本和/或css样式。若无需添加js脚本和/或css样式,则可以直接将加载获得的资源文件进行展示。

骤s103、对所述html文件进行展示。

具体的,html文件的展示可以通过支持html文件的浏览器控件来执行。

本实施例提供的基于安卓平台的epub文件的读取方法及装置,通过根据 内容文件解析生成的对象信息获取待加载的资源文件,并通过将js脚本和/或css样式添加到所述资源文件中,生成用于进行展示的html文件,实现了epub文件的快速读取,提高了用户的体验。

图2为本发明又一实施例提供的基于安卓平台的epub文件的读取方法的流程示意图,如图2所示,在图1所示实施例的基础上,本实施例提供的方法包括:

步骤s201、获取epub文件。

步骤s202、对所述epub文件的完整性进行检测,若所述epub文件完整,则执行步骤s203,否则执行步骤206。

具体的,对epub文件的完整性进行检测,即是对epub文件中包含的内容是否完整进行检测(例如epub文件中的文件格式是否标注清楚等)。具体的检测执行方法与现有技术类似,在这里不再赘述。

步骤s203、对所述epub文件中的内容文件进行解析生成对象信息,并对所述epub文件中的目录文件进行解析,获取所述epub文件的目录。

本实施例中,在对内容文件进行解析生成对象信息的同时还要对epub文件中的目录文件进行解析,从而通过对目标文件的解析获取epub文件的目录,以方便对书籍或文章的目录进行展示。

步骤s204、根据所述对象信息获取待加载的资源文件,并将js脚本和/或css样式添加到所述资源文件中,生成html文件。

步骤s205、对所述html文件进行展示。

步骤s206、结束解析操作。

本实施例提供的基于安卓平台的epub文件的读取方法及装置,通过根据内容文件解析生成的对象信息获取待加载的资源文件,并通过将js脚本和/或css样式添加到所述资源文件中,生成用于进行展示的html文件,实现了epub文件的快速读取,提高了用户的体验。

图3为本发明一实施例提供的基于安卓平台的epub文件的读取装置的结构示意图,该读取装置可以是携带有安卓系统的手机终端,平板电脑等。如图3所示,本实施例提供的读取装置包括:

第一获取模块10,用于获取epub文件;

第一处理模块20,用于对所述epub文件中的内容文件进行解析生成对 象信息;

第二获取模块30,用于根据所述对象信息获取待加载的资源文件;

第二处理模块40,用于将js脚本和/或css样式添加到所述资源文件中,生成html文件;

展示模块50,用于对所述html文件进行展示。

其中,第一获取模块10,具体用于采用io流的方式从zip压缩文件中获取所述epub文件。

第一处理模块20,包括:

第一处理子模块21,用于对所述epub文件中的内容文件进行解析,获取所述内容文件的spine内容和所述spine内容对应的资源路径;

封装子模块22,用于对所述spine内容和所述资源路径进行封装生成所述对象信息。

第二获取模块30,具体用于根据所述spine内容,以及所述spine内容对应的资源路径获取待加载的资源文件。

第二处理模块40,包括:

转换子模块41,用于对所述资源文件进行转换,生成对应的字符串;

第二处理子模块42,用于将所述js脚本和/或css样式添加到所述字符串的头部,并按照html格式生成html文件。

进一步的,所述第一处理模块20,还用于:

对所述epub文件中的目录文件进行解析,获取所述epub文件的目录。

本实施例提供的读取装置能够用于执行如图1所示的方法,其具体的执行方式和有益效果与图1所示的实施例类似,在这里不再赘述。

图4为本发明又一实施例提供的基于安卓平台的epub文件的读取装置的结构示意图,该读取装置能够用于执行如图2所示的方法。如图4所示,该装置在图3所示实施例的基础上还包括:检测模块50,检测模块50用于对所述epub文件的完整性进行检测。

本实施例提供的读取装置的执行方式和有益效果与图2所示实施例的执行方式和有益效果类似,在这里不再赘述。

图5为本发明又一实施例提供的基于安卓平台的epub文件的读取装置的结构示意图,如图5所示,该读取装置包括:

处理器和用于存储所述处理器的执行指令的存储器;

其中,所述处理器被配置为:

获取epub文件,并对所述epub文件中的内容文件进行解析生成对象信息;

根据所述对象信息获取待加载的资源文件,并将js脚本和/或css样式添加到所述资源文件中,生成html文件;

对所述html文件进行展示。

本实施例提供的读取装置的执行方式和有益效果与图1所示实施例的执行方式和有益效果类似,在这里不再赘述。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1