# 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://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. 本项目仅供学习使用