import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
public class AlarmsTable {
/*................................Table and Column Names...............................*/
public static final String ALARMS_TABLE = "alarmsTable"; // Table Name
public static final String _id = "_id";
public static final String TIME = "time";
public static final String DATE = "date";
public static final String INTERVAL = "interval";
public static final String REPEAT = "repeat";
public static final String TITLE = "title";
public static final String ALERT_1 = "alert1";
public static final String ALERT_2 = "alert2";
public static final String LOCATION = "location";
public static final String URL = "url";
public static final String DESCRIPTION = "description";
public static final String STATUS = "status";
public static final String ACT_ARC = "act_arc"; // 1 Active, 0 Archive
public static final String SYS_TIME = "sys_time";
public static final String SNOOZE = "snooze";
public static final String[] columns = {"rowid _id", TIME, DATE, INTERVAL, REPEAT, TITLE, ALERT_1,
ALERT_2, LOCATION, URL, DESCRIPTION, STATUS, ACT_ARC,
SYS_TIME, SNOOZE};
/*....................................Queries of TABLE................................*/
// create table
public static final String CREATE_ALARMS_TABLE =
"CREATE TABLE "+ALARMS_TABLE+" ("+_id+" INTEGER PRIMARY KEY AUTOINCREMENT, "+TIME+" VARCHAR(255), "+DATE+" VARCHAR(255), " +
""+ INTERVAL +" INTEGER, "+REPEAT+" INTEGER, "+TITLE+" VARCHAR(255), "+ALERT_1+" VARCHAR(255), "+ALERT_2+" VARCHAR(255), " +
""+LOCATION+" VARCHAR(255), "+URL+" VARCHAR(255), "+DESCRIPTION+" VARCHAR(255), "+STATUS+" INTEGER, "+ACT_ARC+" INTEGER, " +
""+SYS_TIME+" INTEGER, " +SNOOZE+" VARCHAR(50));";
// delete table
public static final String DROP_ALARMS_TABLE = "DROP TABLE IF EXISTS "+ALARMS_TABLE+";";
/*....................................TABLE Methods...................................*/
public static long insertAlarm(String time, String date, int interval, int repeat, String title, String alert1, String alert2,
String snooze, String location, String url, String description, DatabaseOperations dop){
SQLiteDatabase db = dop.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(TIME, time);
contentValues.put(DATE, date);
contentValues.put(INTERVAL, interval);
contentValues.put(REPEAT, repeat);
contentValues.put(TITLE, title);
contentValues.put(ALERT_1, alert1);
contentValues.put(ALERT_2, alert2);
contentValues.put(LOCATION, location);
contentValues.put(SNOOZE, snooze);
contentValues.put(URL, url);
contentValues.put(DESCRIPTION, description);
contentValues.put(STATUS, 1); // On (Default)
contentValues.put(ACT_ARC, 1); // Active (Default)
contentValues.put(SYS_TIME, System.currentTimeMillis());
long id = db.insert(ALARMS_TABLE, DESCRIPTION, contentValues);
db.close();
return id;
}
public static Cursor getAlarm(DatabaseOperations dop, String id) {
SQLiteDatabase db = dop.getReadableDatabase();
String[] args ={id};
Cursor cursor = db.query(ALARMS_TABLE, columns, _id + " =? ", args, null, null, null);
cursor.moveToFirst();
db.close();
return cursor;
}
public static void updateAlarm(String id, String time, String date, int interval, int repeat, String title, String alert1,
String alert2, String snooze, String location, String url, String description,
DatabaseOperations dop){
SQLiteDatabase db = dop.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(TIME, time);
contentValues.put(DATE, date);
contentValues.put(INTERVAL, interval);
contentValues.put(REPEAT, repeat);
contentValues.put(TITLE, title);
contentValues.put(ALERT_1, alert1);
contentValues.put(ALERT_2, alert2);
contentValues.put(SNOOZE, snooze);
contentValues.put(LOCATION, location);
contentValues.put(URL, url);
contentValues.put(DESCRIPTION, description);
contentValues.put(SYS_TIME, System.currentTimeMillis());
String[] args = {id};
db.update(ALARMS_TABLE, contentValues, _id + " =? ", args);
db.close();
}
// Delete Alarm
public static void deleteAlarm(Long id, DatabaseOperations dop){
SQLiteDatabase db = dop.getWritableDatabase();
String[] args = {Long.toString(id)};
db.delete(ALARMS_TABLE, _id + " =? ", args);
db.close();
}
// Get Alarm Status
public static int getAlarmStatus(int id, DatabaseOperations dop) {
SQLiteDatabase db = dop.getReadableDatabase();
String[] columns = {STATUS};
String[] args ={Integer.toString(id)};
Cursor cursor = db.query(ALARMS_TABLE, columns, _id + " =? ", args, null, null, null);
cursor.moveToFirst();
db.close();
return cursor.getInt(cursor.getColumnIndex(STATUS));
}
// Update Alarm Status
public static void updateAlarmStatus(int id, int status, DatabaseOperations dop){
SQLiteDatabase db = dop.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(STATUS, status);
String[] args = {Integer.toString(id)};
db.update(ALARMS_TABLE, contentValues, _id + " =? ", args);
db.close();
}
// Update Alarm System Time
public static void updateSysTime(int id, DatabaseOperations dop){
SQLiteDatabase db = dop.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(SYS_TIME, System.currentTimeMillis());
String[] args = {Integer.toString(id)};
db.update(ALARMS_TABLE, contentValues, _id + " =? ", args);
db.close();
}
// Get All Active/Archive Alarms
public static Cursor getActArcData(DatabaseOperations dop, int act_arc) {
SQLiteDatabase db = dop.getReadableDatabase();
String[] args ={Integer.toString(act_arc)};
Cursor cursor = db.query(ALARMS_TABLE, columns, ACT_ARC + " =? ", args, null, null, SYS_TIME+" DESC");
cursor.moveToFirst();
db.close();
return cursor;
}
// Update Active Status
public static void updateActArcStatus(int id, int act_arc, DatabaseOperations dop){
SQLiteDatabase db = dop.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(ACT_ARC, act_arc);
String[] args = {Integer.toString(id)};
db.update(ALARMS_TABLE, contentValues, _id + " =? ", args);
db.close();
}
// Set Snooze Time for All ON Alarms
public static void setSnoozeTimeForAll(String snooze, DatabaseOperations dop){
SQLiteDatabase db = dop.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(SNOOZE, snooze);
String[] args = {Integer.toString(1)};
db.update(ALARMS_TABLE, contentValues, STATUS + " =? ", args);
db.close();
}
// Get Default snooze time
public static String getDefaultSnooze(DatabaseOperations dop) {
SQLiteDatabase db = dop.getReadableDatabase();
String[] columns = {SNOOZE};
Cursor cursor = db.query(ALARMS_TABLE, columns, null, null, null, null, SYS_TIME+" DESC");
if(cursor.getCount() > 0) {
cursor.moveToFirst();
return cursor.getString(cursor.getColumnIndex(SNOOZE));
}
db.close();
return "";
}
// Updating Date and Time for Repeat Alarm at Snooze Time
public static void updateRepeatTime(String id, String newTime, String newDate, DatabaseOperations dop) {
SQLiteDatabase db = dop.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(TIME, newTime);
contentValues.put(DATE, newDate);
String[] args = {id};
db.update(ALARMS_TABLE, contentValues, _id + " =? ", args);
db.close();
}
// Get no. of On Alarms
public static int onAlarms(DatabaseOperations dop){
SQLiteDatabase db = dop.getReadableDatabase();
String columns[] = {STATUS};
String[] args = {Integer.toString(1)};
Cursor cursor = db.query(ALARMS_TABLE, columns, STATUS + " =? ", args, null, null, null);
int on_alarms = cursor.getCount();
db.close();
return on_alarms;
}
// Get all On Alarms Data
public static Cursor getAllOnAlarms(Context ctx) {
DatabaseOperations dop = new DatabaseOperations(ctx);
SQLiteDatabase db = dop.getReadableDatabase();
String[] args = {Integer.toString(1)};
return db.query(ALARMS_TABLE, columns, STATUS + " =? ", args, null, null, null);
}
}
No comments:
Post a Comment