set、get方法略
……………………………..
}
建立书籍阅读设置结构体如下所示:
public class BookReadSetting
{
private int bookId; //书籍ID
private int bookFontsize; //字体大小
private String bookBgStyle;//阅读背景
private int bookFontR; //字体颜色RGB中的R值
private int bookFontG; //字体颜色RGB中的G值
private int bookFontB; //字体颜色RGB中的B值
private int bookBgR; //背景颜色RGB中的R值
private int bookBgG; //背景颜色RGB中的G值
private int bookBgB; //背景颜色RGB中的B值
private int bookMarginWidth;//文本左右边距
private int bookMarginHeight;//文本上下边距
set、get方法略
……………………………..
}
4.3.2 遍历SD卡控件FileBrowser实现
如果我们需要从手机SD卡中把文本添加到书架中,这时我们就需要一个View来可视化化的显示SD卡中的目录和文件结构,并且对是文本的文件具有可添加到书架的操作,所以本软件专门的编写了一个遍历SD卡中文件的控件FileBroswer。FileBroswer的设计流程如下图所示:
图 4.11 FileBrowser的设计流程图
4.3.3 阅读界面效果和功能实现
首先读取选中的文本数据库中的相关信息,根据文本在本地的路径读取内容,获取一个内容的MappedByteBuffer对象,代码是MappedByteBuffer m_mbBuf = new RandomAccessFile(book_file,"r").getChannel().map(FileChannel.MapMode.READ_ONLY, 0, lLen),这里使用新IO流MappedByteBuffer是因为其对文件的处理效率远远的高于IO。
内容的呈现是将内容文本通过自定义的onDraw()方法画在画布Canva上,在这个方法中画文本使用Canva.drawText()方法、画背景颜色是Canva.drawColor()方法、画背景图片是Canva.drawBitMap()方法。在绘制之前得到一个画笔paint,并设置paint的颜色、大小等属性。通过屏幕高度和字体大小的比值确定每页能够呈现多少行内容,然后调用onDraw()绘制。文本阅读软件设计的工作流程图如下:
图 4.12 文本阅读软件流程图
5 测试与评价
5.1 系统测试
通过测试,系统各主要功能的具体完成情况如下:
(1) 启动画面: 实现用户进入系统的功能。
(2) 本地书库: 实现本地查找书籍进行阅读,加入书架,删除书籍和了解详细信息。并实现能够与其他用户通过短信分享此款文本阅读软件的功能。
(3) 阅读界面: 实现根据用户的喜好改变字体大小、阅读主题、调节亮度、添加书签以及搜索、跳转的功能。
(4) 书籍书签: 实现添加、删除、打开书签的功能。
系统测试与确认测试结果:满足了系统分析与系统设计的要求。
5.2 系统评价
本系统满足了普通用户的使用需求。采用短信发送的方式增加了用户的共享,使其它用户也能够了解到本款软件。增加了软件的宣传。
使用简单,用户能很容易地掌握文本阅读软件。本系统提供了图形化界面的使用方式,方便用户使用。安装方便,只需要在智能手机上安装程序,不需要额外的插件支持。 Android平台手机文本阅读软件的开发与设计(14):http://www.751com.cn/jisuanji/lunwen_1192.html