基于Android系统的电子书阅读器的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.3.2 建表语句
1)创建:
1、创建书的表:
create table IF NOT EXISTS book(bid integer primary key autoincrement,bpath varchar(255) not null);
2、创建书签的表:
create table IF NOT EXISTS bookmark(bmid integer primary key autoincrement, bpath varchar(50) not null,bmname varchar(50) not null,bmoffset integer not null,bmsavetime varchar(20) not null);
3、创建用户管理的表:
create table IF NOT EXISTS user(userid integer primary key autoincrement, username varchar(20) not null,password varchar(20) not null, telephone varchar(20) not null);
4、创建最近阅读的表
create table IF NOT EXISTS nearlyread(bookid integer primary key autoincrement, bookname varchar(50) not null,bookreadtime varchar(20) not null);
5、创建下载管理的表
create table IF NOT EXISTS down(downid integer primary key autoincrement, downuser varchar(20) not null,downbook varchar(20) not null, downtime varchar(20) not null);
2)SQlite3数据库使用方法:
选择:select from bookmark where bmid=1;
插入:insert (bookmark,null,values);
删除:delete from bookmark where bmid=3 ;
查找:query(table, columns, selection, selectionArgs, groupBy, having, orderBy)
4.3.3 数据表分析
本数据库用的是一个轻量级嵌入型数据库sqlite3 ,即创建了一个数据库reader.db,在数据库中创建了几张数据表。
在建设网站系统或者软件之前,我们必须对系统所用到的数据进行大致的分
类和具体的结构设计,既要做到清晰明了,又要能适应系统各项功能的调用,而不至于产生结构上的逻辑混乱,保证关键数据在意外情况下不会被破坏,可以说数
Book表(用来存放书籍,如表4-1):
字段名称数据类型条件约束
bid integer primary key
bpath varchar(255)not null
表 4-1 书籍数据表
Bookmark表(管理书签,如表4-2):
字段名称数据类型条件约束
Bmid Integer primary key
Bpath varchar(50)not null
Bmname varchar(50)not null
bmoffset Integer not null
msavetime varchar(20)not null
表 4-2 书签数据表
User表(用户数据,如表4-3):
字段名称数据类型条件约束
Userid Integer primary key
username varchar(50)not null
password varchar(50)not null
telephone varchar(20)not null
表 4-3 用户数据表
Nearlyread表(最近阅读,如表4-4):
字段名称数据类型条件约束
Bookid Integer primary key
bookname varchar(50)not null
bookreadtime varchar(20)not null
表 4-4 最近阅读数据表
Down表(下载,如表4-5)::
字段名称数据类型条件约束
Downid Integer primary key Downuser varchar(50)not null downtime varchar(20)not null
表 4-5 下载数据表
5.4.1 获取sd卡上的txt文本
由于一个Android模拟器或者是一个手机客户终端上只会配置一个sdcard,所以一步移动设备上有各种各样的应用App,而且各种App都可能会由数据或者文件存储到移动设备的sdcard上,故而有各式各样的文件类型是该款软件不需要的。也是用户选择本款软件时所不需要的信息文件,于是通过构造一个过滤式的方法让软件只接受来自sdcard上的TXT格式的文本文件。该方法是先通过判断是否存储路径是sdcard,通过getRecordFiles()方法过滤掉其他无用文件,将剩余的TXT文件放置集合AirrayList中,然后通过Android的空间Listview将其目录结构文件给显示出来。代码如下:
private void getRecordFiles() {
recordFiles= new ArrayList
if (isSdcard) {
File files[] = txtDir.listFiles();
if (files != null) {
for (int i = 0; i < files.length; i++) {
if (files[i].getName().indexOf(".") >= 0) {
/* 只取.txt文件 */
String file =
files[i].getName().substring(files[i].getName().indexOf("."));
if (file.toLowerCase().equals(".txt"))
recordFiles.add(files[i].getName());
}
}
}
}
}