package com.lovamimi;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import java.util.ArrayList;
import java.util.List;
public class SecretsCache extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 2;
private static final String SECRETS_TABLE_NAME = "secrets";
private static final String DATABASE_NAME = "lovamimi";
private static final String SECRETS_TABLE_CREATE =
"CREATE TABLE " + SECRETS_TABLE_NAME + " (" +
"ID TEXT, " +
"BODY TEXT, " +
"ICON_NAME TEXT);";
public SecretsCache(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("DROP TABLE IF EXISTS " + SECRETS_TABLE_NAME);
onCreate(db);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(SECRETS_TABLE_CREATE);
}
public void insertSecret(Secret secret) {
SQLiteDatabase db = getWritableDatabase();
ContentValues values = new ContentValues();
values.put("ID", secret.sid);
values.put("BODY", secret.body);
values.put("ICON_NAME", secret.iconName);
db.insertOrThrow(SECRETS_TABLE_NAME, null, values);
}
public Secret getSecret(String id) {
SQLiteDatabase db = getReadableDatabase();
String args[] = {id};
Cursor c = db.query(SECRETS_TABLE_NAME, null, "ID = ?", args, null, null, null);
if(c.moveToFirst()){
return new Secret(
c.getString(c.getColumnIndex("ID")),
c.getString(c.getColumnIndex("BODY")),
null,
c.getString(c.getColumnIndex("ICON_NAME")),
0, 0);
} else {
return null;
}
}
public List<Secret> getAllSecrets() {
SQLiteDatabase db = getReadableDatabase();
Cursor c = db.query(SECRETS_TABLE_NAME, null, null, null, null, null, null);
List<Secret> ret = new ArrayList<Secret>();
if(c.moveToFirst()){
do {
Secret secret = new Secret(c.getString(c.getColumnIndex("ID")),
c.getString(c.getColumnIndex("BODY")),
null,
c.getString(c.getColumnIndex("ICON_NAME")), 0, 0);
ret.add(secret);
} while(c.moveToNext());
}
return ret;
}
}