。手机阅读器的用户操作界面分为一下四部分:分类界面,书籍界面,写书界面,阅读界面。本节通过用例图分别对这三个界面进行功能需求分析。
1.分类界面需求分析
该手机电子书阅读器默认显示的界面就是分类界面。用户可根据自己的喜爱为书籍添加类表,便于书籍导入时的分类划分。用户单击列表,即可查看该分类下所用的书籍。分类界面用例图如下图3所示。
图3 分类界面用例图
分类界面的需求分析如表1所示。
表1 分类界面的需求分析
参与者 用户 概述 用户点击添加/删除/修改/查询,分类即可被添加/删除/修改/查询 前置条件 点击对应列表项,标号已被记下 详细描述 1. 用户点击所要操作的列表项
2. 点击Menu菜单,出现操作选项
3. 点击所要实现的操作 后置条件 此分类添加成功/删除成功/重命名成功/查询到此分类的书籍
2.书籍界面需求分析
用户点击书架按钮便可跳到书架的主界面。书架可认为是便于用户浏览、挑选书籍的列表。用户从SD卡中收录新书,将书籍信息存到数据库中,并以Gridview的布局方式展示,同时可以对书籍进行增、删、改、查。书籍界面用例图如图4所示。
图4 书籍界面用例图
(1)录入书籍界面
录入书籍界面的需求分析如表2所示。
参与者 用户 概述 用户点击录入按钮,跳到sdcard界面 前置条件 sdcard已完成扫描,sdcard界面按钮生效 详细描述 1. 用户点击要录入的书籍
2. 选择书籍的分类
3. 系统跳转到书架界面 后置条件 书籍已载入书架,用户可以浏览并选择书架中的书籍进行阅读 表2 录入书籍界面的需求分析
(2)删除、修改书籍界面
删除、修改书籍界面的需求分析如表3所示。
表3 录入书籍界面的需求分析
参与者 用户 概述 用户点击删除/修改,分类即可被删除/修改
续后表
接前表
前置条件 点击对应列表项,标号已被记下 详细描述 1.用户点击所要操作的列表项
2.点击Menu菜单,出现操作选项
3.点击所要实现的操作 后置条件 此书籍添删除成功/重命名成功 (3)进入阅读书籍界面
进入阅读书籍界面的需求分析如表4所示。
表4 进入阅读书籍界面的需求分析
参与者 用户 概述 用户点击书籍,跳转到阅读界面 前置条件 点击对应列表项,标号已被记下 详细描述 1.用户点击所要操作的列表项
2.点击Menu菜单,出现操作选项,选择"打开"按钮
3.跳转到阅读界面 后置条件 阅读界面成功跳转,用户可以阅读书籍 (4)书写界面
用户可以自己编写书籍,并存入数据库,通过分类与书架界面对其进行相应的增、删、改、查处理。
(5)阅读界面
在电子书阅读界面可以调节字体大小、字体颜色、自动分页,通过图片选择对主题背景进行切换等操作,阅读时用户可以通过书籍页数、保存读取书签等方式对书籍进行定位和记录,翻页与界面切换均采用动画特效,视觉效果极佳。如图5所示为阅读界面用例图。
图5 阅读界面用例图
(三)手机性能需求
1.系统要求
Android系统2.2版本以上,对以后继续进行升级开发有可延续性。
2.灵活性
软件基于Android操作系统,是基于组件的开发方式。
3.时间特性的要求
软件的速度要在用户可接受的范围能扩展需求。
4.软件特性要求
软件运行速度要在用户可接受的范围之内,对流量、电量等消耗要在用户可接受范围之内。
三、手机电子书阅读器总体设计
(一)软件架构设计
本文所采用的软件架构如图6所示,系统层是基于Linux内核2.6版本来编写的Android操作系统。应用平台层是位于Android操作系统与应用层之间的,HomeScreen是用来用用程序显示的,它是用来管理和开启应用程序的平台。最上层的是应用程序,该层包含手机上安装的各种应用程序,只要包括:日历,地图,联系人,短信,电话,闹钟等。本文设计的手机电子说阅读器就是属于应用层。
图6 软件架构图
(二)软件结构设计
手机电子书阅读器是基于Andriod应用程序架构,并且采用了模块化的设计模式,为未来的扩展和维护提供了便利。通过对当前软件主要功能的分析,系统化分为书籍列表、书架管理、原创作品三个部分,结构图如图7所示。
图7 软件结构图
(三)功能模块设计
根据系统总体架构图,对其功能模块进行如下设计。
1. 书籍列表模块
书籍列表模块可以对软件中的书籍进行增删等操作,可以从外界如SD卡中导入书籍,也可将书架中的书籍删除。
2. 书架管理模块
书架管理模块可以实现对软件中的书籍管理功能、阅读功能,可以对字体颜色、大小等进行设置,可以添加书签和查看书签,可以定位文档。
3. 原创作品模块
用户可以自己编辑书籍并保存到自己的书籍列表以便自己随时对书籍翻阅、添加、修改等相应管理操作。
(四)系统数据流设计
系统数据流如图8所示。
图8 系统数据流图
四、手机电子书阅读器
(一)数据库设计
数据结构组织和数据库文件的设计要根据不同的用途,使用要求等来决定数据整体组织形式等一些问题。数据库中的数据按一定数据模型组织、描述和存储,具有较小的重复度。较高的数据独立性和易扩展性,并且可以再被一定范围内的各种用户共享。在涉及数据库的软件开发中,需要根据有待解决的问题的性质、规模,以及所采用的前端程序创建工具等,做出合适的数据库类型选择。
1.数据库及字段属性设计
本项目中的数据库设计比较简单,主要涉及三个表:books、booksmark和classify。其中表books主要是存储书籍,如表5所示;表booksmark主要存储书签,如表6所示;表classify主要存储书籍分类,如表7所示。
表5 books字段表
表6 booksmark字段表
表7 classify字段表
2.数据库的连接
Android中自带的SQLite数据库是十分小型的数据库,这样正适合Android这种移动平台使用。Android数据库的存储位置在data/data/<项目文件夹>/databases/目录下,Android是利用ContentProvider作为内容提供商,SQLiteOpenHelper数据库帮助类来进行对数据库的创建和操作。通过Context.getContentResolver()方法直接对数据库进行操作。程序中数据库的类为RssDB extend SQLiteOpenHelper(继承关系)。
(1)数据库的创建
Android提供了标准的数据库创建方式,继承SQLiteOpenHelper,实现onCreate和onUpgrade两个方法,有个好处就是便于数据库版本的升级,连接数据库的算法如下:
public RssDB(Context context) {
//创建数据库
super(context, DB_NAME, null, DB_VERTION);
}
public void onCreate(SQLiteDatabase db)
{
//类创建是调用,在这里主要创建table
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
//版本升级时调用
}
数据库创建不成功会抛出FileNodFindException异常。
(2)数据库操作
打开数据库操作:db = this.getWriteableDataBase();
this表示RSSDB执行sql语句:db.execSql(sql);
插入数据:db.insert()
删除数据:db.delete();
更新数据:db.update()
查询数据:db.query();
当执行完这些操作后,一定要关闭数据库连接:db.close();
这些操作的具体使用方法可
上一篇:
_Android手机防火墙终极版1
下一篇:
试论APP广告在手机中的应用