基于Android手机电子书阅读器的设计与实现毕业设计 联系客服

发布时间 : 星期四 文章基于Android手机电子书阅读器的设计与实现毕业设计更新完毕开始阅读e3cee3ca29ea81c758f5f61fb7360b4c2e3f2a38

椭圆形框,表示实体类型和联系类型的属性。对于关键码的属性,在属性名下划一横线。

直线,联系类型与其涉及的试题类型之间以直线连接。

阅读时间书籍名称书籍路径位置比例书签位置书籍大小书籍已读比例1添加书签n书签书签编号阅读位置所属书架书籍编号添加时间书籍编号 图2 ER图

数据库使用了2个实体,分别为书籍、书签。 书籍与书签的对应关系为1:n。

在数据库的设计方面,为了实现数据库的完整性与一致性,我们使用了触发器,在数据库的选用上,选择了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎的SQLite数据库,数据库名称为eBook.db,共2个实体表,分别为书籍表、书签表。

与书籍(books)实体类的属性信息对应的字段信息表如表1所示: 字段名 类型 说明 book_id INTEGER 书籍编号 book_name TEXT 书籍名称 book_path TEXT 书籍路径 file_size TEXT 书籍大小 last_read DATETIME 阅读时间 book_shelf INTEGER 所属书籍 read_percentage DOUBLE 已读比例 pos INTEGER 阅读位置 表1 书籍表

书籍表(books)创建的SQL语句: CREATE TABLE books (

book_id INTEGER PRIMARY KEY, book_name TEXT NOT NULL,

);

book_path TEXT NOT NULL UNIQUE, file_size TEXT, last_read DATETIME

DEFAULT(datetime(CURRENT_TIMESTAMP,'localtime')), book_shelf INTEGER,

read_percentage DOUBLE DEFAULT 0, pos INTEGER DEFAULT 0

与书签(bookMarks)实体类的属性信息对应的字段信息表如表2所示: 字段名 类型 说明 id INTEGER 书签编号 book_id INTEGER 书籍编号 percent DOUBLE 位置比例 content TEXT 书签内容 pos INTEGER 书签位置 time DATETIME 添加时间 表2 书签表

书签表(bookMarks)创建的SQL语句: CREATE TABLE bookMarks (

id INTEGER PRIMARY KEY AUTOINCREMENT,\ book_id INTEGER,\ percent DOUBLE, content TEXT, pos INTEGER,

time DATETIME DEFAULT ( datetime( CURRENT_TIMESTAMP, 'localtime' ) ) );

触发器(fk_Delete)创建SQL语句:

CREATE TRIGGER fk_Delete BEFORE DELETE ON books FOR EACH ROW BEGIN DELETE FROM bookMarks WHERE book_id = old.book_id; END

2.3功能框架设计

手机电子书阅读器欢迎模块主界面书籍管理文件浏览设置管理帮助阅读管理关于分类排序添加书籍清空书架文件排序标记文件添加书籍系统设置阅读设置字体大小调节亮度主题选择添加书签章节管理夜间模式翻页模式书签管理文本搜索文件扫描隐藏文件密码管理退出确认连续阅读自动归类休息提醒空闲退出删除章节生成章节删除书签清空书签标记文件加入书籍重新扫描设置密码修改密码取消密码图3 功能模块图

手机电子书阅读器软件主要分为8个功能大模块如图3所示,分别是欢迎模块、软件主界面、书籍管理、阅读管理、文件浏览、系统管理、使用帮助、关于。其中书籍模块中还要文件扫描模块,阅读管理中有章节管理、书签管理、搜索管理。系统设置中有密码设置。其各个模块的详细设计如下:

1.软件欢迎模块。该模块主要实现的功能是,通过Handler来实现一个2秒的缓冲界面,然后通过SharedPreferences读取配置文件,判断是否有密码。如果有密码则跳转至密码验证界面;如果没有密码则判断是否为第一次使用此软件,如果是第一次使用则跳转至引导页面。

2.软件主界面模块。该模块是一个通过TabHost标签组件来实现的一个分类管理功能。本界面的标签在屏幕的最下方,分别是:文件管理、我的书架、我的设置。点击不同的标签则显示不同的界面,默认显示标签为“我的书架”,打开选项中会出现对应的视图。实现了将本程序关联成手机默认打开程序中,即从外部打开文本文件时选择查看方式中会出现本软件图标供用户选择以本软件打开。

3.书籍管理。该模块是以书架的模式来展现书籍,并可以对书籍进行一些操作,本模块共有3个书架分别为:“最近阅读”、“历史阅读”、“收藏阅读”,默认显示是“最近阅读”书架。本模块有导航按钮和书籍选择按钮。当弹出导航栏时,则把书籍从每行显示三本书籍调整到每行显示两本书籍。导航栏中与三大项:分类排序、添加书籍、清空书籍。每项里面又有子菜单。当点击导航里的按钮时会显示子功能导航,当再点击其它按钮时,会收起前面的子功能导航,展开当前的

子功能。当单击书籍选择按钮时会弹出书籍选择窗口,选择里面的书架则进入相应的书架界面,同时还可以通过左右滑动来切换书架界面。当单击书籍时会打开相应的书籍阅读界面,长按某书籍时会弹出书籍操作窗口。

4.文件浏览。该模块使用ListView组件显示文件目录,不同的文件类型显示不同的图标。最上面标题栏有导航按钮,当点击导航按钮时会从左侧弹出导航栏,导航栏中有标记文件按钮、分类排序按钮和添加到书架按钮,点击标记文件按钮或长按某文件或目录时则切换到多选模式,其中有多选按钮、反选按钮和取消按钮;点击分类排序则弹出子菜单,其中有按名称排序、按大小排序、按时间排序和按类型排序;点击添加到书架时如果为选择文件则自动进入多选模式让用户进行文件选择,如果用户未选择则提示“请选择书籍”,进行选择是用户可选择文件或目录,系统会自动进行扫描,把符合要求的文件添加到“最近书架”中,并弹出提示信息,其中有失败个数、已存在个数和成功个数。在多选模式下点击返回按钮或点击标记文件会取消多选模式。非多选模式下,用户点击文件时本软件会根据文件扩展名来判断打开文件方式,如果是文本文件则直接用本软件打开,并把其添加到“最近书架”中,其它格式则调用对应的软件打开,如果是未识别的类型则提示“没有打开此文件的应用”。

5.阅读管理。该模块通过自定义一个View视图来显示书页,通过自定义类来读取文本内容并通过onDraw()方法把文件名、文本内容、电量信息、时间信息和已读百分比进行绘制成图片,并通过View来把绘制的图片显示出来。第一次进入阅读页面是会有显示引导页面来指导用户如何读本页面进行操作。本页面操作包括点击事件和滑动事件,点击左侧屏幕进行向上翻页,点击右侧屏幕进行向下翻页,点击屏幕中间画出菜单选项。此菜单是使用PopupWindow组件实现,菜单分上下两部分,上面的菜单有返回按钮、屏幕亮度调节按钮和添加书签按钮;下面的菜单有主题选择按钮、搜索按钮、书签按钮、目录按钮、字体大小调节按钮、翻页方式按钮、夜间模式切换按钮和退出软件按钮。

6.系统设置。系统设置模块包括阅读设置和系统设置。阅读设置中有连续阅读模式、阅读完成时自动归类、阅读休息提醒和阅读空闲退出。连续阅读模式:下次启动直接进入上次阅读的界面进行继续阅读;阅读完成时自动归类:当书籍阅读到最后一页后对此书籍自动移至“历史阅读”书架中;阅读休息提醒:设置一个时间,当用户在阅读页面停留至这个时间时会弹出个提示框来提醒用户进行休息;阅读空闲退出:设置一个时间,当用户停留在阅读界面并且为对其未进行任何操作至这个时间时,系统会自动关闭本软件。系统设置中有显示隐藏文件、使用软件密码、退出确认、使用帮助和关于。显示隐藏文件:当用户选择此设置后会在下次启动本软件时在文件浏览中显示隐藏文件;使用软件密码:用户可以对此软件进行密码设置;退出时确认:当选择此设置后,退出软件时会显示一个确认框进行退出确认,未选择此设置时则会直接退出本软件;使用帮助:显示本软件的帮助信息;关于:显示关于本软件的信息。本软件的设置信息全部使用SharedPreferences存储。

7.使用帮助。该模块通过读取帮助文件在TextView中显示,并且为TextView添加滚动条。文件中含有本软件的特点、功能介绍、操作说明等,。

8.关于。该模块的主要功能是通过一个简单的弹出窗口来显示本软件的版本信息、联系方式。