AppContext = context;
}
- public void initializeDatabase() {
+ private void openDatabase() {
+ if(database != null)
+ return;
+
database = AppContext.getMainActivity().openOrCreateDatabase(DATABASE_NAME, Activity.MODE_PRIVATE, null);
+ }
+
+ public void initializeDatabase() {
+ openDatabase();
database.execSQL("CREATE TABLE IF NOT EXISTS Version(Version INT);");
Cursor resultSet = database.rawQuery("Select * from Version", null);
"(" +
"CardId INT, " +
"UpdateTime INT," +
- "CardData TEXT, " +
"CardBalance INT, " +
"CardLastTransaction INT, " +
"PRIMARY KEY (CardId, UpdateTime)" +
}
public void addSearchIndices(SearchIndices[] indices) {
+ openDatabase();
for(int i = 0; i < indices.length; i++) {
String[] whereArgs = new String[] {
indices[i].getKeyName()
}
public SearchIndices[] performSearchRequest(String query, int maxResults) {
+ openDatabase();
String[] whereArgs = new String[] {
"%" + query + "%"
};
}
public void setRuntimeCache(String name, String value) {
+ openDatabase();
long now = (new Date()).getTime() / 1000;
String[] whereArgs = new String[] {
name
}
public String getRuntimeCache(String name) {
+ openDatabase();
String value = null;
String[] whereArgs = new String[] {
name
}
public void addNfcCardData(NfcCardData nfcCardData) {
+ openDatabase();
String[] whereArgs = new String[] {
Integer.toString(nfcCardData.getUniqueId()),
Long.toString(nfcCardData.getLastUpdate())
};
- Cursor resultSet = database.rawQuery("SELECT CardData FROM NfcCardStore WHERE CardId = ? AND UpdateTime = ?", whereArgs);
+ Cursor resultSet = database.rawQuery("SELECT CardBalance FROM NfcCardStore WHERE CardId = ? AND UpdateTime = ?", whereArgs);
if(resultSet.moveToFirst()) {
- if(resultSet.getString(0).equalsIgnoreCase(nfcCardData.getCardData()))
- return;
try {
ContentValues updateValues = new ContentValues();
- updateValues.put("CardData", nfcCardData.getCardData());
updateValues.put("CardBalance", nfcCardData.getBalance());
updateValues.put("CardLastTransaction", nfcCardData.getLastTransaction());
ContentValues indexValues = new ContentValues();
indexValues.put("CardId", nfcCardData.getUniqueId());
indexValues.put("UpdateTime", nfcCardData.getLastUpdate());
- indexValues.put("CardData", nfcCardData.getCardData());
indexValues.put("CardBalance", nfcCardData.getBalance());
indexValues.put("CardLastTransaction", nfcCardData.getLastTransaction());
}
public NfcCardData[] getNfcCardData(int lastLimit) {
+ openDatabase();
String value = null;
Cursor resultSet;
if(lastLimit > 0) {
String[] whereArgs = {
Integer.toString(lastLimit)
};
- resultSet = database.rawQuery("SELECT CardId,UpdateTime,CardData,CardBalance,CardLastTransaction FROM NfcCardStore ORDER BY UpdateTime DESC LIMIT ?", whereArgs);
+ resultSet = database.rawQuery("SELECT CardId,UpdateTime,CardBalance,CardLastTransaction FROM NfcCardStore ORDER BY UpdateTime DESC LIMIT ?", whereArgs);
} else
- resultSet = database.rawQuery("SELECT CardId,UpdateTime,CardData,CardBalance,CardLastTransaction FROM NfcCardStore ORDER BY UpdateTime DESC", null);
+ resultSet = database.rawQuery("SELECT CardId,UpdateTime,CardBalance,CardLastTransaction FROM NfcCardStore ORDER BY UpdateTime DESC", null);
ArrayList<NfcCardData> nfcCardDatas = new ArrayList<NfcCardData>();
if(resultSet.moveToFirst()) {
do {
- NfcCardData nfcCardData = new NfcCardData(resultSet.getInt(0), resultSet.getLong(1), resultSet.getString(2), resultSet.getInt(3), resultSet.getInt(4));
+ NfcCardData nfcCardData = new NfcCardData(resultSet.getInt(0), resultSet.getLong(1), resultSet.getInt(2), resultSet.getInt(3));
nfcCardDatas.add(nfcCardData);
} while (resultSet.moveToNext());
}
return resultsArr;
}
+ public NfcCardData getLatestNfcCardData(int cardId) {
+ openDatabase();
+ String value = null;
+ String[] whereArgs = {
+ Integer.toString(cardId)
+ };
+ Cursor resultSet = database.rawQuery("SELECT CardId,UpdateTime,CardBalance,CardLastTransaction FROM NfcCardStore WHERE CardId = ? ORDER BY UpdateTime DESC LIMIT 1", whereArgs);
+ NfcCardData nfcCardData = null;
+ if(resultSet.moveToFirst()) {
+ nfcCardData = new NfcCardData(resultSet.getInt(0), resultSet.getLong(1), resultSet.getInt(2), resultSet.getInt(3));
+ }
+ resultSet.close();
+ return nfcCardData;
+ }
+
public void updateCourseCalendar(CourseEvent event) {
+ openDatabase();
if(vorlesungsplanDBHelper == null)
vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
vorlesungsplanDBHelper.updateCourseCalendar(event);
}
public CourseEvent[] getCourseCalendarEvents(String coursename, long timeFrom, long timeTo) {
+ openDatabase();
if(vorlesungsplanDBHelper == null)
vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
return vorlesungsplanDBHelper.getCourseCalendarEvents(coursename, timeFrom, timeTo);
}
public CourseGroup getCourseGroup(int courseGroupId) {
+ openDatabase();
if(vorlesungsplanDBHelper == null)
vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
return vorlesungsplanDBHelper.getCourseGroup(courseGroupId);
}
public CourseGroup getCourseGroup(String coursename, String groupname) {
+ openDatabase();
if(vorlesungsplanDBHelper == null)
vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
return vorlesungsplanDBHelper.getCourseGroup(coursename, groupname);
}
public CourseGroup addCourseGroup(String coursename, String groupname) {
+ openDatabase();
if(vorlesungsplanDBHelper == null)
vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database);
return vorlesungsplanDBHelper.addCourseGroup(coursename, groupname);
}
public void updateMensaTagesplan(MensaTagesplan plan) {
+ openDatabase();
if(mensaplanDBHelper == null)
mensaplanDBHelper = new MensaplanDatabaseHelper(AppContext, database);
mensaplanDBHelper.updateMensaTagesplan(plan);
}
public MensaTagesplan[] getMensaTagesplan(long timeFrom, long timeTo) {
+ openDatabase();
if(mensaplanDBHelper == null)
mensaplanDBHelper = new MensaplanDatabaseHelper(AppContext, database);
return mensaplanDBHelper.getMensaTagesplan(timeFrom, timeTo);
}
public long[] getDaysWithPlanData(long timeFrom, long timeTo) {
+ openDatabase();
if(mensaplanDBHelper == null)
mensaplanDBHelper = new MensaplanDatabaseHelper(AppContext, database);
return mensaplanDBHelper.getDaysWithPlanData(timeFrom, timeTo);
}
public long[] getWeeksWithPlanData(long timeFrom, long timeTo) {
+ openDatabase();
if(mensaplanDBHelper == null)
mensaplanDBHelper = new MensaplanDatabaseHelper(AppContext, database);
return mensaplanDBHelper.getWeeksWithPlanData(timeFrom, timeTo);
}
public void updateNewsItem(NewsItem news) {
+ openDatabase();
if(newsDBHelper == null)
newsDBHelper = new NewsDatabaseHelper(AppContext, database);
newsDBHelper.updateNewsItem(news);
}
public NewsItem[] getNewsItems(String source, long timeFrom, long timeTo) {
+ openDatabase();
if(newsDBHelper == null)
newsDBHelper = new NewsDatabaseHelper(AppContext, database);
return newsDBHelper.getNewsItems(source, timeFrom, timeTo);