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
varchar(255)
primary key not null
bpath
表 4-1 书籍数据表
Bookmark表(管理书签,如表4-2):
字段名称
数据类型
条件约束
Bmid Bpath Bmname bmoffset msavetime
Integer varchar(50) varchar(50) Integer varchar(20)
表 4-2 书签数据表
primary key not null not null not null not null
User表(用户数据,如表4-3):
字段名称
数据类型
条件约束
Userid username password telephone
Integer varchar(50) varchar(50) varchar(20)
表 4-3 用户数据表
primary key not null not null not null
Nearlyread表(最近阅读,如表4-4):
字段名称
数据类型
条件约束
Bookid bookname bookreadtime
Integer varchar(50) varchar(20)
表 4-4 最近阅读数据表
primary key not null not null
Down表(下载,如表4-5)::
字段名称
数据类型
条件约束
Downid Downuser downtime
Integer varchar(50) varchar(20)
表 4-5 下载数据表
primary key not null not null
5.4.1 获取sd卡上的txt文本
由于一个Android模拟器或者是一个手机客户终端上只会配置一个sdcard,所以一步移动设备上有各种各样的应用App,而且各种App都可能会由数据或者文件存储到移动设备的sdcard上,故而有各式各样的文件类型是该款软件不需要的。也是用户选择本款软件时所不需要的信息文件,于是通过构造一个过滤式的方法让软件只接受来自sdcard上的TXT格式的文本文件。该方法是先通过判断是否存储路径是sdcard,通过getRecordFiles()方法过滤掉其他无用文件,将剩余的TXT文件放置集合AirrayList中,然后通过Android的空间Listview将其目录结构文件给显示出来。代码如下: private void getRecordFiles() {
recordFiles= new ArrayList
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(\))
recordFiles.add(files[i].getName());
}
} }