Giter Site home page Giter Site logo

long007 / reader Goto Github PK

View Code? Open in Web Editor NEW

This project forked from woodwen/reader

0.0 0.0 0.0 3.32 MB

小说阅读器(模块化/单项目开发,基于Kotlin+MVVM+Kodein/Hilt+Retrofit+Jsoup+Coroutines+Flow+Jetpack+Coil+Room+Mockk等架构实现),用kotlin重写了“任阅”的阅读模块代码,优化,代码逻辑,降低内存使用率。支持网络阅读,本地阅读。支持防真翻页、上下滚动翻页等效果,支持小说断点续传功能。

Java 4.79% Kotlin 95.21%

reader's Introduction

reader

免费小说阅读App

说明

使用多模块版本的编译成apk安装后发现不能运行(调试不影响),然后小弟也去尝试了官方demo的编译安装使用,也是同样的问题,所以先把主分支切为单模块版本的

参考项目

1.Pokedex 单项目 mvvm,flow Pokedex

2.NovelReader 基于"任阅"的改进追书App NovelReader

3.FreeNovel 基于kotlin的免费Android小说应用FreeNovel

4.OKBook kotlin + 协程 + MVVM 模式来编写的看小说APP OKBook

最新应用下载地址

reader_v1.0.2

应用展示

应用简介

小说阅读器(模块化开发/单项目开发,基于Kotlin+MVVM+Kodein/Hilt+Retrofit+Jsoup+Moshi+Coroutines+Flow+Jetpack+Coil+Room+Mockk等架构实现),用kotlin重写了“任阅”的阅读模块代码,优化,代码逻辑,降低内存使用率。

目前已有功能:

1.书城

  • 支持书城切换(目前支持,全文阅读网,笔趣阁)。
  • 支持小说分类切换。
  • 支持按书名,作者搜索小说。
  • 支持查看小说简介。
  • 支持小说订阅
  • 支持直接在线阅读

2.书架

  • 支持取消订阅
  • 支持搜索书架
  • 支持订阅本地书籍(目前只支持.txt)
  • 支持本地阅读

3.个人配置

  • 清理缓存
  • 跳转github

4.阅读

  • 目录(小说目录)
  • 亮度(设置阅读器亮度,日/夜模式)
  • 缓存(下载小说到本地)
  • 设置(字体,字号,翻页模式,背景图片)

准备加入但是目前还没的功能:

1.隐藏书城
2.尝试支持厚墨源
3.书城不再是写死的方式,而是类似于厚墨的安装方式
4.支持语音朗读

注: 该项目不定时维护更新,如有侵权的地方,请告知小弟,立马删除

以下为框架相关(开辟了两个分支,一个是单项目的,一个是模块化的)

单模块版本

多模块版本

可能遇到的编译问题

如果是从多项目版本切换过来的,会在单项目版本中多很多多余的文件夹(buildSrc文件夹,feature系列文件夹,library系列文件夹,各种build文件夹),删除后再编译

以下为框架相关

项目特点

* 基于现代Android应用程序技术堆栈和MVVM架构的小型应用程序。
* 该项目的重点是实现依赖注入的新库Hilt。
* 还可以从网络中获取数据,并通过存储库模式将持久性数据集成到数据库中

技术栈

• 最低SDK级别21

• 基于Kotlin,Coroutines + Flow用于异步。

• Hilt(alpha)用于依赖项注入。

• JetPack
   	○ LiveData-将域层数据通知视图。
   	○ Lifecycle-当生命周期状态改变时,丢弃观察数据。
   	○ ViewModel-与UI相关的数据持有者,具有生命周期意识。
   	○ Room Persistence-使用抽象层构建数据库。

• 结构
   	○ MVVM体系结构(视图-数据绑定-ViewModel-模型)
   	○ 储存库模式

• Retrofit2和OkHttp3-构造REST API和分页网络数据。

• Moshi -Kotlin和Java的现代JSON库。

• Coil -使用Kotlin惯用API的图像加载库

• Bundler -Android Intent和Bundle扩展,可优雅地插入和检索值。

• Material-Components-材质设计组件,例如波纹动画,cardView。

• 自定义视图
	○ Rainbow-适用于Android的渐变和着色的简单方法。
   	○ AndroidRibbon-一种在Android上通过闪烁实现漂亮的功能区的简单方法。
   	○ ProgressView-优美灵活的ProgressView,可完全通过动画进行自定义。

架构

基于MVVM体系结构和存储库模式

reader's People

Contributors

woodmax avatar woodwen avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.