【原创】从头开始,使用安卓系统WebView做一个功能强大的Epub阅读器(一)

之前业务需求要做一个自己专属的Epub阅读器(非标准Epub格式,内嵌多媒体文件,基本上属于Epub3.0标准,但是文件结构并不规范),主要需求如下:

1、首先需要实现一般电子书阅读器的基本功能。翻页模式(上下、左右、仿真);字号调整;主题背景调整;目录跳转;书签;阅读记忆;语音朗读;繁简转换;关键词搜索等。

2、重点是自定义的高级功能。包括画线做笔记、纠错;答案遮挡;在线翻译、检索;内嵌的图片浏览、音频、视频播放等。

3、然后就是产品扩展的相关功能。包括产品相关的评论、直播、以及群聊天、送礼等。因为与阅读器关联不大,后续就不做详细说明了。

接到任务的第一时间也是去Github和网上找Epub阅读器的相关框架,发现大部分框架还是针对的Epub2.0标准,对多媒体支持的不是很好。偶尔有几个Epub3.0标准的,对文件结构要求还很严格,出于业务需求我们的文件结构无法按照Epub3.0标准来,这就很尴尬了微笑而且在这些框架的基础上,要实现上面说的高级功能实在是难上加难。出于各种考虑,最终我绝定,自己做一个!

这里需要提醒有同样需求的同学,一定要确定清楚你需要做的是一款怎样的阅读器。如果只是需要实现第一类的基本功能并且你的Epub文件来源足够标准(像小说阅读这种的),你完全可以找一个成熟的Epub框架去做,这样省时省力又省心。但是如果你需要更多的高级功能,那这篇文章可能会对你有些小小的帮助。

我起初实现的过程不算顺利,中间有过一次的架构上的调整,导致多花了半个多月的时间。但是自己研究加上找度娘求助,磕磕绊绊下最终还是完成了。前后花费了将近3个月时间。

1、研究Epub文件结构+构思实现框架(15天)

2、Coding代码,初代阅读器完成(30天)

3、测试性能+二次优化(30天)

因为业务相关不方便公布源代码。但是我会把阅读器的实现思路以及重要功能逻辑写出来。理解清楚后只要你有一定的Android+JS编程基础相信做出一款自己的阅读器并不是什么难事。因为篇幅较多,会分为多章更新。(感觉会是个大坑偷笑

补上一下章传送:https://blog.csdn.net/mzy24511cs/article/details/80437018


猜你喜欢

转载自blog.csdn.net/mzy24511cs/article/details/80423719