Android小说阅读器

这是早期做的一个 android小说阅读器项目,是本地阅读器,没有联网功能,目前只支持txt格式。
但项目功能是比较齐全的:
  • 文件预览
  • 导入书籍
  • 创建分类
  • 批量管理书架上的图书
  • 小说阅读
  • 查看书籍目录
  • 日夜间模式切换
  • 创建书签
  • 小说进度跳转
  • 应用密码
等等。

软件按界面划分可划分为主要三个模块:图书管理模块、阅读管理模块、用户设置模块。
Android小说阅读器_第1张图片

如下是应用的截图:

Android小说阅读器_第2张图片
Android小说阅读器_第3张图片

Android小说阅读器_第4张图片 


数据存储:

项目中,用了两种方式存储数据:SharedPreference和SQLite。
  • SharedPreference:以xml文件格式存储简单的数据,本项目用于存储用户的配置信息,如:主题、屏幕亮度、密码等。
  • SQLite:Android系统提供的SQLite标准的数据库,本项目用于存储用户密码和书籍信息,如:书籍名、书籍地址、目录、书签、阅读进度。

  1. 存储用户信息
本项目使用SharedPreference,以xml文件格式来存储用户配置信息。
文件名:userConfig
操作模式:Context.MODE_PRIVATE
内容:

数据类型
默认值
描述
paw
String
null
密码,默认null为不使用密码,用户设置的密码用MD5加密
inNight
boolean
false
夜间模式
lightFollowSys
boolean
true
屏幕亮度跟随系统
screenLight
int
待商榷
屏幕亮度
restTime
int
-1
休息提醒时间(分钟)
screenCloseTime
int
-1
屏幕关闭时间(分钟)
screenOrientation
int
VERTICAL
阅读时屏幕方向 (注释1)
pageRLMargin
int
待商榷
页面左右边距
pageTBMargin
int
待商榷
页面上下边距
lineSpacing
int
待商榷
行间距
passageSpacing
int
待商榷
段间距
textIndent
boolean
true
首行缩进
pageTurnType
int
CROSSWISE
翻页模式 (注释2)
defaultTheme
int
待商榷
默认主题
txtColour
int
待商榷
文字颜色
backColour
int
待商榷
背景颜色
backImg
int
待商榷
背景图片

com . horizon . global包中的相关全局变量:
注释1:
屏幕水平显示: ScreenOrientation. HORIZONTAL = 0
屏幕垂直显示: ScreenOrientation. VERTICAL = 1
注释2:
无动画:  PageTurnType . NO_ANIMATION = 0
真实翻页: PageTurnType . IMITATE = 1
横向覆盖: PageTurnType . CROSSWISE = 2
自由拖动: PageTurnType . FREE_DRAG = 3
  1. 存储书籍信息
本项目使用SQLite标准的数据库,以表的方式存储书籍信息。
数据库名称:horizon.db
数据库版本号:1
包含4张表:tb_bookInfo(书籍信息表)
tb_classifyInfo(分类信息表)
tb_ catalogue(书籍目录表)
tb_ bookLabel(书籍书签表)
  1. 书籍信息表
表名:tb_bookInfo
描述:存储书籍主要信息

字段名
数据类型
约束
描述
_id
Integer
主键(自增)
书籍编号
name
Text
Not null
书籍名称
address
Text
unique唯一
书籍地址
cover
Integer
Not null
书籍封面
classifyId
Integer
分类表外键
分类
latestReadTime
Integer
null
最近后一次阅读时间
myLove
Integer
Not null
是否我的最爱,0:true;1:false
readRate
Integer
null
阅读进度
wordsNum
Integer
null
总字数

  1. 书籍分类表
表名:tb_classifyInfo
描述:存储书籍分类信息

字段名
数据类型
约束
描述
_id
Integer
主键(自增)
分类编号
name
Text
Not null
分类名称

  1. 书籍目录表
表名:tb_ catalogue
描述:存储书籍目录信息

字段名
数据类型
约束
描述
bookId
Integer
书籍表外键
书籍编号
chaptersName
Text
Not null
章节名称
rate
Integer
Not null
章节对应进度

  1. 书籍书签表
表名:tb_ bookLabel
描述:存储书籍书签信息

字段名
数据类型
约束
描述
_Id
Integer
主键(自增)
书签编号
bookId
Integer
书籍表外键
书籍编号
labelName
Text
Not null
书签名称
rate
Integer
Not null
书签对应进度

E-R关系模型
    上面几个表的E-R关系模型如下:
Android小说阅读器_第5张图片


apk安装包的下载地址: https://www.pgyer.com/W9Eo
Android小说阅读器_第6张图片
附:源码下载地址: https://download.csdn.net/download/mario_faker/10296703

你可能感兴趣的:(Android)