图 4.5 TabMenu打开时的动画popup_enter.xml
 
图 4.6 TabMenu关闭时的动画popup_exit.xml
 
图 4.7阅读界面运行截图
 
图 4.8 TabMenu显示效果截图
4.2    数据库实现
在Android系统内嵌了一个轻量级数据库SQLiteDataBase,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。
在文本阅读软件中,主要创建了三张表,分别是book_info表、book_mark表、book_read_setting表。
Android数据库的存储位置在data/data/com.lrc/databases/目录下,Android是利用ContentProvider作为内容提供商,SQLiteOpenHelper数据库帮助类来进行对数据库的创建和操作。通过Context.getContentResolver()方法直接对数据库进行操作。程序中数据库的类为BookOpenHelper extend SQLiteOpenHelper和BookContentProvider extend ContentProvider。
Android提供了标准的数据库创建方式,继承SQLiteOpenHelper,实现onCreate和onUpgrade两个方法,有个好处就是便于数据库版本的升级,连接数据库的算法如下:
图 4.9 程序截图
ContentProvider 提供数据库操作方法和为其它应用程序提供访问此数据库的途径,具体的实现如下:
 
图 4.10 程序截图
4.3    系统功能实现
4.3.1    数据实体化
为了能够更好的调用数据库中的数据,在本课题中设计了一个实体对象层,将数据实体化。在此层中的结构体对应着数据库中几个表的具体数据:
建立书籍信息结构体如下所示:
public class Book
{
    private int bookId;                    //书籍ID
    private String bookName;            //书名
    private String bookAuthor;            //作者
    private String bookPath;            //书籍路径
    private String bookAddTime;        //添加时间
    private String bookOpenTime;        //最后打开时间
    private int bookCategoryId;        //所属类别ID
    private String bookCategroyName;    //所属类别名
    private String bookSize;            //书籍大小
    private String bookProgress;        //最后阅读进度

    set、get方法略
    ……………………………..
}    
建立书签信息结构体如下所示:
public class BookMark
{
    private int bookMarkId;                //书签ID
    private int bookId;                    //书籍ID
    private String bookName;            //书名
    private String bookPath;            //书籍路径
    private String bookMarkAddTime;    //书签添加时间
    private String bookMarkProgress;    //书签进度
    private String bookMarkDetail;    //书签描述
    private int bookMarkBeginPosition;//书签添加时文本Begin值
上一篇:基于NRF905的无线呼叫系统设计与实现
下一篇:JSP+mysql教材预定和发行管理系统开发与设计

考证平台静态网页设计与制作

搭建Linux桌面环境的影音平台【1261字】

抖音短视频平台视频推荐模式研究【2528字】

J2ME平台的SOAP协议研究与應用【2420字】

构建下一代网络的开放业...

Linux嵌入式系统开发平台选型探讨【2295字】

Android课程同步练习系统的设计

承德市事业单位档案管理...

公寓空调设计任务书

C#学校科研管理系统的设计

神经外科重症监护病房患...

医院财务风险因素分析及管理措施【2367字】

10万元能开儿童乐园吗,我...

国内外图像分割技术研究现状

AT89C52单片机的超声波测距...

志愿者活动的调查问卷表

中国学术生态细节考察《...