/NovelReader

仿照"任阅"的追书、看书的小说阅读器。重写"任阅"的代码,优化代码逻辑和代码结构,降低内存使用率。重写小说阅读器,支持网络阅读、本地阅读(支持分章,虚拟分章)。支持仿真翻页、上下滚动翻页等翻页效果。支持小说断点续传功能。优化用户使用体验。

Primary LanguageJavaMIT LicenseMIT

NovelReader

基于"任阅"的改进追书App。

详见原作者项目地址:任阅

应用简介

相对于原作增加的功能与改进:

  1. 重写代码逻辑,优化代码结构,降低内存使用率

  2. 采用 sql 数据库对数据进行存储。 (原作者是采用ACache类将数据修改成文本存储)

  3. 增加书本的断点续传功能 (仅支持单任务下载)

  4. 支持小说更新提示。

  5. 重写小说阅读器,仿掌阅设计。提供的功能如下

    • 支持翻页动画:仿真翻页、覆盖翻页、上下滚动翻页等翻页效果。
    • 支持页面定制:亮度调节、背景调节、字体大小调节
    • 支持全屏模式(含有虚拟按键的手机)、音量键翻页
    • 支持页面进度显示、页面切换、上下章切换。
    • 支持在线章节阅读、本地书籍查找。
    • 支持本地书籍加载到页面(支持本地书籍分章、加载速度快、耗费内存少)

注: 在弄新项目,该项目不定时维护更新。

采用了以下开源框架

应用展示

更新记录

update 2020-03-15

  • 更新三方库
  • Android 8.0 以上禁止使用 DownloadService (暂时没空适配)
  • Android 9.0 SimulationPageAnim 崩溃

update 2018-03-03

  • 修复:内存泄露
  • 修复:一些细节 BUG
  • 优化:页面加载细节

感谢小伙伴的提交和修复。

update 2018-02-22

  • 重构:PageLoader 类的逻辑,提高代码的可读性。
  • 修复:翻页到正在加载章节,无法翻页的问题。
  • 优化:对于从网络加载章节的逻辑。

注:剩下的问题会尽快修复。

update 2018-01-04

  • 修复:加载本地书籍导致的 OOM 问题:原因比较坑爹
  • 修改:重新修改了智能搜索本地书籍的办法(采用 LoaderManager + Android 媒体库,不会只扫描三级目录了)

update 2018-01-06

  • 智能搜索书籍过慢的问题(采用 eric0815 建议,只扫描三级目录)
  • 提供本地章节加载缓存。
  • 提升数据库索引性能(将本地路径作为 id,改成使用 MD5生成 16 位字符串的方式)
  • 提供数据库更新策略,不需要卸载在安装。
  • 修复,第一次安装进入会崩溃的问题。

update 2017-11-05

  • 添加每章标题显示
  • 修改每页的排版

注:由于现在 IDEA 升级到了 AS 3.0 了。没有升级的同学,可能造成编译错误。或者 lambda 表达式不能使用的问题。解决方法是:

# lambda 错误的解决办法。
# 在项目的 build.gradle 顶部添加

apply plugin: 'me.tatarka.retrolambda'

update 2017-10-24

  • 修复上下滑动,手指只能移动一小段距离的 bug。
  • 修复上下滑动时,存在页面重复显示的问题。