Event/main/java/com/hty/event/DBHelper.java

86 lines
2.4 KiB
Java

package com.hty.event;
import java.io.File;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
public static final String filename = "event.db";
public static final String DATABASE_NAME = MainActivity.dir + File.separator + filename;
private final static int VERSION = 1;
static String TableName = "event";
private SQLiteDatabase db;
private static DBHelper mInstance = null;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, VERSION);
}
public static synchronized DBHelper getInstance(Context context) {
if (mInstance == null) {
mInstance = new DBHelper(context);
}
return mInstance;
}
@Override
public void onCreate(SQLiteDatabase db) {
this.db = db;
db.execSQL("CREATE TABLE "+ TableName + " (_id INTEGER PRIMARY KEY , time INTEGER, location TEXT, event TEXT)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// db.execSQL("DROP TABLE IF EXISTS battery");
// onCreate(db);
switch (newVersion) {
case 6:
break;
}
}
public void insert(ContentValues values) {
db = getWritableDatabase();
db.insert(TableName, null, values);
db.close();
}
public Cursor query(String s) {
db = getWritableDatabase();
Cursor c;
if (s.equals("")) {
c = db.query(TableName, null, null, null, null, null, "time desc");
} else {
c = db.query(TableName, null, "location LIKE '%" + s + "%' or event LIKE '%" + s + "%'", null, null, null, "time desc");
}
return c;
}
public Cursor query(long date_start, long date_end) {
db = getWritableDatabase();
Cursor c;
if (date_start != date_end)
c = db.query(TableName, null, "time >= " + date_start + " and time <= " + (date_end + 24*60*60*1000), null, null, null, "time asc");
else
c = db.query(TableName, null, "time >= " + date_start + " and time <= " + (date_start + 24*60*60*1000), null, null, null, "time asc");
return c;
}
public void del(String id) {
if (db == null)
db = getWritableDatabase();
db.delete(TableName, "_id=?", new String[] { id });
// Log.e("id", id + "");
// db.ExecuteNonQuery(CommandType.Text, "VACUUM");
}
@Override
public void close() {
if (db != null)
db.close();
}
}