# OpenReading **Repository Path**: jltx/OpenReading ## Basic Information - **Project Name**: OpenReading - **Description**: 安卓在线小说阅读 - **Primary Language**: Android - **License**: MulanPSL-2.0 - **Default Branch**: Branch_0bf30f17 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-10-08 - **Last Updated**: 2024-10-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenReading #### 介绍 OpenReading是一款安卓在线小说阅读器。 [![](https://img.shields.io/badge/Gitee-OpenReading-blue.svg)](https://gitee.com/huanliangchen/OpenReading) #### 软件预览 |画架页面|详情页面|阅读页面| | :------------: | :------------: | :------------: | |搜索页面|个人中心|小说阅读页面| #### 项目描述 1. 小说资源从哪来?将互联网上多个小说网站封装成Source数据集,请求数据后通过jsoup爬取数据。 2. 使用MVVM架构,基于Databinding、ViewModel、LiveData的响应式编码。 3. 单个Book的Base实例中保存对应图片网络地址。通过Glide高效加载图片。定义@BindingAdapter配合Glide和Databinding。 4. 数据持久化,重要数据存储SQlite,状态数据存储SharedPreferences,小说缓存使用文件存储。 5. 页面跳转相同元素使用共享元素提升用户体验。 6. 自定义小说显示View实现翻页效果。 7. 通过Lifecycle进行生命周期感知,主要限制页面关闭状态下子线程继续请求数据,避免内存泄漏和资源浪费。 #### 添加数据源方法 1. 数据源接口文件:app/src/main/java/com.example.openreading.source/BaseNovelSource.java,规定不同数据源共同方法getBooks()、getClassifyBooks()、getChapters()、getRankings()。 2. 示例: - 在app/src/main/java/com.example.openreading.source文件夹下创建数据源类并继承BaseNovelSource类。 - 实现或重写方法以上接口方法。 - 在app/src/main/java/com.example.openreading.source/SourceList.java文件中添加对应枚举。 #### 测试数据源方法 1. 将要添加的数据源封装成Source后,交于程序枚举。 #### 数据源 - ##### 小说 ``` 1. 新笔趣阁 2. 全书网[失效] 3. 全小说[失效] 4. 爱阅小说 5. 炫书网 6. 17K小说 7. E小说 8. 墨缘文学[失效] 9. Mi看书[失效] 10. 新笔趣阁2 11. 书本网[失效] 12. 塔读文学 ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 其他 1. 本项目仅供学习使用