package com.ntp.dao;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import java.util.ArrayList;
import java.util.List;
/**
* 课程搜索历史
*
* @author yanxing
*/
public class SearchHistoryDao {
private DBOpenHelper dbOpenHelper;
private SQLiteDatabase sqLiteDatabase;
public SearchHistoryDao(Context context) {
dbOpenHelper = new DBOpenHelper(context);
sqLiteDatabase = dbOpenHelper.getWritableDatabase();
}
/**
* 保存搜索内容
*
* @param content
* @return 如果数据库中已经存在,则不保存,返回false;否则保存返回true
*/
public Boolean save(String content) {
if (isExist(content)) {
return false;
} else {
ContentValues values = new ContentValues();
values.put("content", content);
sqLiteDatabase.insert("search_history", null, values);
return true;
}
}
/**
* 查询搜索内容是否已经存在,精准查找
*
* @param content
* @return 存在返回true, 否则返回false
*/
public boolean isExist(String content) {
Cursor cursor = sqLiteDatabase.rawQuery("select * from search_history where content=?", new String[]{content});
return cursor.getCount() > 0 ? true : false;
}
/**
* 获取搜索历史
*/
public List<String> findAll() {
Cursor cursor = sqLiteDatabase.rawQuery("select * from search_history", null);
List<String> list = new ArrayList<String>();
while (cursor.moveToNext()) {
list.add(cursor.getString(1));
}
cursor.close();
return list;
}
/**
* 清空search_history
*/
public void delete() {
sqLiteDatabase.delete("search_history", null, null);
}
/**
* 删除搜索历史
*/
public void deleteByName(String name) {
sqLiteDatabase.delete("search_history", "content=?", new String[]{name});
}
/**
* 关闭数据库连接
*/
public void close() {
if (dbOpenHelper != null) {
dbOpenHelper.close();
}
if (sqLiteDatabase != null) {
sqLiteDatabase.close();
}
}
}