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());
}
}
}
}
}
图5-1 文件过滤流程图
5.4.2 长按选项删除
可能在漫长的使用软件生活中,用户会在sdcard里面积累十分多的TXT文件数量,所以这里提供一个删除功能供用户删除一些很久不用的文件。该功能通过获取到Android控件ListView上每一条Item的长按事件进行绑定事件监听,通过该行为进行功能描述,通过获取系统对于sdcard里面文件的操作权限来对于sdcard里面的TXT文件进行删除。下面是删除的方法delFile()的部分代码实现:
public void delFile(String filePathAndName) {
try {
String filePath ="/sdcard/"+filePathAndName;
filePath = filePath.toString();
java.io.File myDelFile = new java.io.File(filePath);
myDelFile.delete();
}
catch (Exception e) {
Toast.makeText(this, "删除文件操作出错", 1000).show();
e.printStackTrace();
}
}
5.4.3 阅读文本界面的实现
这是该款软件最基本也是最重要的功能--对于TXT文本文件的可视化读取。由于软件中对于sdcard里面的文件的读取可以是从各种各样的界面上获取要读取的TXT文件资
上一篇:基于Android的餐饮位置-毕业论文
下一篇:面向android系统的测试工具_毕业论文